File trigona_be6dfedd91e1ebc81d58a61b05b0ef93322425b247636a0f7f5c3eeebbc52edd.exe
Function:
    004228f0
    004228f0fn_4228f0:
    004228f0push rbp
    004228f1push rbx
    004228f2sub rsp, 56
    004228f6mov rbp, rsp
    004228f9mov ebx, edx
    004228fblea rdx, [rbp+44]
    004228ffcall fn_407960
    00422904cmp [rbp+44], 0
    00422908je 0x42290c
    0042290amov eax, ebx
    0042290c
    0042290cloc_42290c:
    0042290clea rsp, [rbp+56]
    00422910pop rbx
    00422911pop rbp
    00422912ret
    004228f0
    00422913
    00422913 // align 0x10
    00422920
    00422920fn_422920:
    00422920push rbp
    00422921push rbx
    00422922sub rsp, 56
    00422926mov rbp, rsp
    00422929mov rbx, rdx
    0042292clea rdx, [rbp+44]
    00422930call fn_407960
    00422935mov [rbx], eax
    00422937cmp [rbp+44], 0
    0042293bsete al
    0042293elea rsp, [rbp+56]
    00422942pop rbx
    00422943pop rbp
    00422944ret
    00422920
    00422945
    00422945 // align 0x10
    00422950
    00422950fn_422950:
    00422950push rbp
    00422951push rsi
    00422952push rbx
    00422953sub rsp, 64
    00422957mov rbp, rsp
    0042295amov rbx, rcx
    0042295dmov rcx, rbx
    00422960lea rdx, [rbp+60]
    00422964call fn_40fcb0
    00422969mov rsi, rax
    0042296ccmp [rbp+60], 0
    00422970je 0x42298d
    00422972mov [rbp+32], rbx
    00422976mov [rbp+40], 17
    0042297amov rcx, [rip+0x41607]
    00422981lea rdx, [rbp+32]
    00422985xor r8, r8
    00422988call fn_421de0
    0042298d
    0042298dloc_42298d:
    0042298dmov rax, rsi
    00422990lea rsp, [rbp+64]
    00422994pop rbx
    00422995pop rsi
    00422996pop rbp
    00422997ret
    00422950
    00422998
    00422998 a0 29 42 00 00 00 00 00 .)B.....
    004229a0 0e 08 54 53 74 72 44 61 74 61 10 00 00 00 01 00 ..TStrData......
    004229b0 00 00 40 12 40 00 00 00 00 00 08 00 00 00 00 00 ..@.@...........
    004229c0 00 00 00 02 00 00 00 78 10 40 00 00 00 00 00 00 .......x.@......
    004229d0 00 00 00 00 00 00 00 02 05 49 64 65 6e 74 02 00 .........Ident..
    004229e0 40 12 40 00 00 00 00 00 08 00 00 00 00 00 00 00 @.@.............
    004229f0 02 03 53 74 72 02 00 02 00 00 00 cc cc cc cc cc ..Str...........
    00422a00
    00422a00fn_422a00:
    00422a00push rbp
    00422a01push rbx
    00422a02sub rsp, 2088
    00422a09mov rbp, rsp
    00422a0cmov rbx, rdx
    00422a0fmov edx, [rbx]
    00422a11lea r8, [rbp+32]
    00422a15mov r9l, 1024
    00422a1bcall LoadStringW
    00422a20lea rcx, [rbx+8]
    00422a24lea rdx, [rbp+32]
    00422a28mov r8l, eax
    00422a2bcall fn_40bfd0
    00422a30cmp [rbx+8], 0
    00422a35sete al
    00422a38lea rsp, [rbp+2088]
    00422a3fpop rbx
    00422a40pop rbp
    00422a41ret
    00422a00
    00422a42
    00422a42 // align 0x10
    00422a50
    00422a50fn_422a50:
    00422a50push rbp
    00422a51sub rsp, 64
    00422a55mov rbp, rsp
    00422a58mov [rbp+32], rcx
    00422a5cmov [rbp+40], rdx
    00422a60lea rcx, [rbp+48]
    00422a64mov rdx, [rip-211]
    00422a6bcall fn_40e160
    00422a70nop
    00422a71mov rax, [rbp+40]
    00422a75mov [rbp+48], eax
    00422a78lea rcx, [rbp+56]
    00422a7ccall fn_40bcf0
    00422a81lea rcx, [rip-136]
    00422a88lea rdx, [rbp+48]
    00422a8ccall fn_412260
    00422a91mov rcx, [rbp+32]
    00422a95mov rdx, [rbp+56]
    00422a99call fn_40c360
    00422a9enop
    00422a9flea rcx, [rbp+48]
    00422aa3mov rdx, [rip-274]
    00422aaacall fn_40e630
    00422aafmov rax, [rbp+32]
    00422ab3lea rsp, [rbp+64]
    00422ab7pop rbp
    00422ab8ret
    00422a50
    00422ab9
    00422ab9 48 8d 80 00 00 00 00 H......
    00422ac0
    00422ac0fn_422ac0:
    00422ac0push rbp
    00422ac1sub rsp, 32
    00422ac5mov rbp, rsp
    00422ac8lea rcx, [rdx+48]
    00422accmov rdx, [rip-315]
    00422ad3call fn_40e630
    00422ad8lea rsp, [rbp+32]
    00422adcpop rbp
    00422addret
    00422ac0
    00422ade
    00422ade // align 0x10
    00422ae0
    00422ae0fn_422ae0:
    00422ae0push rbx
    00422ae1sub rsp, 32
    00422ae5mov rbx, rcx
    00422ae8mov rcx, rbx
    00422aebcall fn_422a50
    00422af0mov rax, rbx
    00422af3add rsp, 32
    00422af7pop rbx
    00422af8ret
    00422ae0
    00422af9
    00422af9 // align 0x10
    00422b00
    00422b00fn_422b00:
    00422b00push rbx
    00422b01sub rsp, 32
    00422b05mov rbx, rcx
    00422b08mov [rsp+56], rdx
    00422b0dlea rcx, [rsp+56]
    00422b12lea rdx, [rip+43]
    00422b19call fn_42da60
    00422b1emov rcx, rbx
    00422b21mov rdx, [rsp+56]
    00422b26mov r8l, 1
    00422b2cmov r9l, eax
    00422b2fadd r9l, 1
    00422b33call fn_40dca0
    00422b38mov rax, rbx
    00422b3badd rsp, 32
    00422b3fpop rbx
    00422b40ret
    00422b00
    00422b41
    00422b41 00 00 00 00 00 00 00 00 00 00 04 00 00 00 10 ...............
    00422b50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    00422b60 00 00 00 00 cc cc cc cc cc cc cc cc cc cc cc cc ................
    00422b70
    00422b70fn_422b70:
    00422b70push rbx
    00422b71sub rsp, 32
    00422b75mov rbx, rcx
    00422b78mov [rsp+56], rdx
    00422b7dlea rcx, [rsp+56]
    00422b82lea rdx, [rip+59]
    00422b89call fn_42da60
    00422b8etest eax, eax
    00422b90jl 0x422bae
    00422b92mov rcx, rbx
    00422b95mov rdx, [rsp+56]
    00422b9amov r8l, eax
    00422b9dadd r8l, 2
    00422ba1mov r9l, 0x7fffffff
    00422ba7call fn_40dca0
    00422bacjmp 0x422bbb
    00422bae
    00422baeloc_422bae:
    00422baemov rcx, rbx
    00422bb1mov rdx, [rsp+56]
    00422bb6call fn_40c360
    00422bbb
    00422bbbloc_422bbb:
    00422bbbmov rax, rbx
    00422bbeadd rsp, 32
    00422bc2pop rbx
    00422bc3ret
    00422b70
    00422bc4
    00422bc4 00 00 00 00 00 00 00 04 00 00 00 10 ............
    00422bd0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    00422be0 00 00 00 00 cc cc cc cc cc cc cc cc cc cc cc cc ................
    00422bf0
    00422bf0fn_422bf0:
    00422bf0push rbp
    00422bf1push rsi
    00422bf2push rbx
    00422bf3sub rsp, 64
    00422bf7mov rbp, rsp
    00422bfamov rbx, rdx
    00422bfdmov rsi, r8
    00422c00test rcx, rcx
    00422c03jne 0x422c07
    00422c05xor ecx, ecx
    00422c07
    00422c07loc_422c07:
    00422c07lea rdx, [rbp+60]
    00422c0blea r8, [rbp+56]
    00422c0flea r9, [rbp+52]
    00422c13lea rax, [rbp+48]
    00422c17mov [rsp+32], rax
    00422c1ccall GetDiskFreeSpaceW
    00422c21mov ecx, [rbp+60]
    00422c24imul ecx, [rbp+56]
    00422c28mov ecx, ecx
    00422c2amov edx, [rbp+52]
    00422c2dmov r8, rcx
    00422c30imul r8, rdx
    00422c34mov [rbx], r8
    00422c37mov edx, [rbp+48]
    00422c3aimul rcx, rdx
    00422c3emov [rsi], rcx
    00422c41lea rsp, [rbp+64]
    00422c45pop rbx
    00422c46pop rsi
    00422c47pop rbp
    00422c48ret
    00422bf0
    00422c49
    00422c49 // align 0x10
    00422c50
    00422c50fn_422c50:
    00422c50mov rax, rcx
    00422c53jmp 0x422c59
    00422c55
    00422c55loc_422c55:
    00422c55add rax, 2
    00422c59
    00422c59loc_422c59:
    00422c59cmp [rax], 0
    00422c5djne 0x422c55
    00422c5fret
    00422c50
    00422c60
    00422c60fn_422c60:
    00422c60push rbx
    00422c61sub rsp, 32
    00422c65mov rbx, rcx
    00422c68mov rax, rcx
    00422c6badd r8l, r8l
    00422c6emov r8l, r8l
    00422c71mov rcx, rdx
    00422c74mov rdx, rax
    00422c77call fn_405ac0
    00422c7cmov rax, rbx
    00422c7fadd rsp, 32
    00422c83pop rbx
    00422c84ret
    00422c60
    00422c85
    00422c85 // align 0x10
    00422c90
    00422c90fn_422c90:
    00422c90push r14
    00422c92push r13
    00422c94push rdi
    00422c95push rsi
    00422c96push rbx
    00422c97sub rsp, 32
    00422c9bmov rbx, rcx
    00422c9emov rsi, rdx
    00422ca1mov edi, r8l
    00422ca4mov r13, rbx
    00422ca7mov rcx, rsi
    00422caacall fn_40c5a0
    00422cafmov r14l, eax
    00422cb2cmp r14l, edi
    00422cb5jbe 0x422cba
    00422cb7mov r14l, edi
    00422cba
    00422cbaloc_422cba:
    00422cbamov rcx, rsi
    00422cbdmov rdx, rbx
    00422cc0mov r8l, r14l
    00422cc3add r8l, r8l
    00422cc6mov r8l, r8l
    00422cc9call fn_405ac0
    00422ccemov r14l, r14l
    00422cd1mov [rbx+2*r14], 0
    00422cd8mov rax, r13
    00422cdbadd rsp, 32
    00422cdfpop rbx
    00422ce0pop rsi
    00422ce1pop rdi
    00422ce2pop r13
    00422ce4pop r14
    00422ce6ret
    00422c90
    00422ce7
    00422ce7 // align 0x10
    00422cf0
    00422cf0fn_422cf0:
    00422cf0push rbx
    00422cf1mov rax, rcx
    00422cf4xor r9, r9
    00422cf7cmp r9l, r8l
    00422cfajae 0x422da7
    00422d00
    00422d00loc_422d00:
    00422d00movzx r10, [rax]
    00422d04mov ecx, r10l
    00422d07sub cx, 96
    00422d0bcmp cx, 31
    00422d0fja 0x422d2e
    00422d11mov r11l, 1
    00422d17movzx ecx, cx
    00422d1aand ecx, 127
    00422d1dshl r11l, cl
    00422d20mov ecx, [rip+134]
    00422d26test r11l, ecx
    00422d29setne cl
    00422d2cjmp 0x422d30
    00422d2e
    00422d2eloc_422d2e:
    00422d2exor ecx, ecx
    00422d30
    00422d30loc_422d30:
    00422d30test cl, cl
    00422d32je 0x422d3d
    00422d34movzx r10, [rax]
    00422d38xor r10w, 32
    00422d3d
    00422d3dloc_422d3d:
    00422d3dmovzx r11, [rdx]
    00422d41mov ecx, r11l
    00422d44sub cx, 96
    00422d48cmp cx, 31
    00422d4cja 0x422d68
    00422d4emov ebx, 1
    00422d53movzx ecx, cx
    00422d56and ecx, 127
    00422d59shl ebx, cl
    00422d5bmov ecx, [rip+75]
    00422d61test ebx, ecx
    00422d63setne cl
    00422d66jmp 0x422d6a
    00422d68
    00422d68loc_422d68:
    00422d68xor ecx, ecx
    00422d6a
    00422d6aloc_422d6a:
    00422d6atest cl, cl
    00422d6cje 0x422d78
    00422d6emovzx rcx, [rdx]
    00422d72xor cx, 32
    00422d76jmp 0x422d7b
    00422d78
    00422d78loc_422d78:
    00422d78mov ecx, r11l
    00422d7b
    00422d7bloc_422d7b:
    00422d7bcmp r10w, cx
    00422d7fjne 0x422d87
    00422d81test r10w, r10w
    00422d85jne 0x422d92
    00422d87
    00422d87loc_422d87:
    00422d87movzx eax, r10w
    00422d8bmovzx ecx, cx
    00422d8esub eax, ecx
    00422d90jmp 0x422daa
    00422d92
    00422d92loc_422d92:
    00422d92add rax, 2
    00422d96add rdx, 2
    00422d9aadd r9l, 1
    00422d9ecmp r9l, r8l
    00422da1jb 0x422d00
    00422da7
    00422da7loc_422da7:
    00422da7nop
    00422da8xor eax, eax
    00422daa
    00422daaloc_422daa:
    00422daapop rbx
    00422dabret
    00422cf0
    00422dac
    00422dac fe ff ff 07 ....
    00422db0
    00422db0fn_422db0:
    00422db0sub rsp, 40
    00422db4test dx, dx
    00422db7jne 0x422dc0
    00422db9call fn_422c50
    00422dbejmp 0x422de1
    00422dc0
    00422dc0loc_422dc0:
    00422dc0xor eax, eax
    00422dc2jmp 0x422dce
    00422dc4
    00422dc4loc_422dc4:
    00422dc4test r8w, r8w
    00422dc8je 0x422de1
    00422dcaadd rcx, 2
    00422dce
    00422dceloc_422dce:
    00422dcemovzx r8, [rcx]
    00422dd2cmp r8w, dx
    00422dd6jne 0x422dc4
    00422dd8mov rax, rcx
    00422ddbadd rcx, 2
    00422ddfjmp 0x422dce
    00422de1
    00422de1loc_422de1:
    00422de1add rsp, 40
    00422de5ret
    00422db0
    00422de6
    00422de6 // align 0x10
    00422df0
    00422df0fn_422df0:
    00422df0xor eax, eax
    00422df2cmp [rcx], 0
    00422df6je 0x422e43
    00422df8cmp [rdx], 0
    00422dfcje 0x422e43
    00422dfejmp 0x422e39
    00422e00
    00422e00loc_422e00:
    00422e00cmp r8w, [rdx]
    00422e04jne 0x422e35
    00422e06lea r8, [rcx+2]
    00422e0alea r9, [rdx+2]
    00422e0e
    00422e0eloc_422e0e:
    00422e0ecmp [r9], 0
    00422e13jne 0x422e1a
    00422e15mov rax, rcx
    00422e18jmp 0x422e43
    00422e1a
    00422e1aloc_422e1a:
    00422e1amovzx r10, [r8]
    00422e1ecmp r10w, [r9]
    00422e22jne 0x422e34
    00422e24test r10w, r10w
    00422e28je 0x422e34
    00422e2aadd r8, 2
    00422e2eadd r9, 2
    00422e32jmp 0x422e0e
    00422e34
    00422e34loc_422e34:
    00422e34nop
    00422e35
    00422e35loc_422e35:
    00422e35add rcx, 2
    00422e39
    00422e39loc_422e39:
    00422e39movzx r8, [rcx]
    00422e3dtest r8w, r8w
    00422e41jne 0x422e00
    00422e43
    00422e43loc_422e43:
    00422e43ret
    00422df0
    00422e44
    00422e44 // align 0x10
    00422e50
    00422e50fn_422e50:
    00422e50push rbp
    00422e51push rdi
    00422e52push rsi
    00422e53push rbx
    00422e54sub rsp, 120
    00422e58mov rbp, rsp
    00422e5bmov ebx, ecx
    00422e5dmov rsi, rdx
    00422e60mov edi, r8l
    00422e63cmp edi, 31
    00422e66jbe 0x422e6d
    00422e68mov edi, 31
    00422e6d
    00422e6dloc_422e6d:
    00422e6dmov rcx, rsi
    00422e70mov edx, edi
    00422e72sub edx, 1
    00422e75call fn_42b540
    00422e7acmp al, 1
    00422e7djne 0x422e82
    00422e7fsub edi, 1
    00422e82
    00422e82loc_422e82:
    00422e82lea rcx, [rbp+48]
    00422e86mov rdx, rsi
    00422e89mov r8l, edi
    00422e8ccall fn_422c60
    00422e91mov edi, edi
    00422e93mov [rbp+2*rdi+48], 0
    00422e9alea rax, [rbp+48]
    00422e9emov [rbp+32], rax
    00422ea2mov [rbp+40], 10
    00422ea6lea rax, [rip+0x3a0fb]
    00422eadmovsxd rbx, ebx
    00422eb0mov rcx, [rax+8*rbx]
    00422eb4lea rdx, [rbp+32]
    00422eb8xor r8, r8
    00422ebbcall fn_421de0
    00422ec0lea rsp, [rbp+120]
    00422ec4pop rbx
    00422ec5pop rsi
    00422ec6pop rdi
    00422ec7pop rbp
    00422ec8ret
    00422e50
    00422ec9
    00422ec9 // align 0x10
    00422ed0
    00422ed0fn_422ed0:
    00422ed0sub rsp, 56
    00422ed4mov rax, [rsp+96]
    00422ed9mov [rsp+32], rax
    00422edemov eax, [rsp+104]
    00422ee2mov [rsp+40], eax
    00422ee6lea rax, [rip+0x48483]
    00422eedmov [rsp+48], rax
    00422ef2call fn_422f00
    00422ef7add rsp, 56
    00422efbret
    00422ed0
    00422efc
    00422efc // align 0x10
    00422f00
    00422f00fn_422f00:
    00422f00sub rsp, 56
    00422f04mov rax, [rsp+96]
    00422f09mov [rsp+32], rax
    00422f0emov eax, [rsp+104]
    00422f12mov [rsp+40], eax
    00422f16mov rax, [rsp+112]
    00422f1bmov [rsp+48], rax
    00422f20call fn_423490
    00422f25add rsp, 56
    00422f29ret
    00422f00
    00422f2a
    00422f2a // align 0x10
    00422f30
    00422f30fn_422f30:
    00422f30sub rsp, 56
    00422f34mov eax, [rsp+96]
    00422f38mov [rsp+32], eax
    00422f3clea rax, [rip+0x4842d]
    00422f43mov [rsp+40], rax
    00422f48call fn_422f60
    00422f4dadd rsp, 56
    00422f51ret
    00422f30
    00422f52
    00422f52 // align 0x10
    00422f60
    00422f60fn_422f60:
    00422f60push r13
    00422f62push rdi
    00422f63push rsi
    00422f64push rbx
    00422f65sub rsp, 56
    00422f69mov rbx, rcx
    00422f6cmov esi, edx
    00422f6emov rdi, r8
    00422f71mov r13, r9
    00422f74test rbx, rbx
    00422f77je 0x422fc0
    00422f79test rdi, rdi
    00422f7cje 0x422fc0
    00422f7emov rcx, rdi
    00422f81call fn_40c5a0
    00422f86mov rcx, rbx
    00422f89mov edx, esi
    00422f8bmov r8, rdi
    00422f8emov r9l, eax
    00422f91mov [rsp+32], r13
    00422f96mov eax, [rsp+128]
    00422f9dmov [rsp+40], eax
    00422fa1mov rax, [rsp+136]
    00422fa9mov [rsp+48], rax
    00422faecall fn_423490
    00422fb3mov eax, eax
    00422fb5mov [rbx+2*rax], 0
    00422fbbmov rax, rbx
    00422fbejmp 0x422fc2
    00422fc0
    00422fc0loc_422fc0:
    00422fc0xor eax, eax
    00422fc2
    00422fc2loc_422fc2:
    00422fc2add rsp, 56
    00422fc6pop rbx
    00422fc7pop rsi
    00422fc8pop rdi
    00422fc9pop r13
    00422fcbret
    00422f60
    00422fcc
    00422fcc // align 0x10
    00422fd0
    00422fd0fn_422fd0:
    00422fd0push rbx
    00422fd1sub rsp, 48
    00422fd5mov rbx, rcx
    00422fd8mov rcx, rbx
    00422fdblea rax, [rip+0x4838e]
    00422fe2mov [rsp+32], rax
    00422fe7call fn_423000
    00422fecmov rax, rbx
    00422fefadd rsp, 48
    00422ff3pop rbx
    00422ff4ret
    00422fd0
    00422ff5
    00422ff5 // align 0x10
    00423000
    00423000fn_423000:
    00423000push rbx
    00423001sub rsp, 48
    00423005mov rbx, rcx
    00423008mov rcx, rbx
    0042300bmov rax, [rsp+96]
    00423010mov [rsp+32], rax
    00423015call fn_423030
    0042301amov rax, rbx
    0042301dadd rsp, 48
    00423021pop rbx
    00423022ret
    00423000
    00423023
    00423023 // align 0x10
    00423030
    00423030fn_423030:
    00423030push rbp
    00423031push r13
    00423033push rdi
    00423034push rsi
    00423035push rbx
    00423036mov [rsp-96], 0
    0042303bmov [rsp-4192], 0
    00423043mov [rsp-8288], 0
    0042304bsub rsp, 8288
    00423052mov rbp, rsp
    00423055mov [rbp+72], rcx
    00423059mov [rbp+80], rdx
    0042305dmov [rbp+88], r8
    00423061mov ebx, r9l
    00423064mov rax, [rbp+8368]
    0042306bmov [rbp+8368], rax
    00423072mov esi, 4096
    00423077xor eax, eax
    00423079mov rcx, [rbp+80]
    0042307dtest rcx, rcx
    00423080je 0x423085
    00423082mov eax, [rcx-4]
    00423085
    00423085loc_423085:
    00423085cmp eax, 3072
    0042308bjge 0x4230d0
    0042308dxor eax, eax
    0042308ftest rcx, rcx
    00423092je 0x423097
    00423094mov eax, [rcx-4]
    00423097
    00423097loc_423097:
    00423097lea rdx, [rbp+96]
    0042309bmov r8l, 4095
    004230a1mov r9, rcx
    004230a4mov rcx, [rbp+88]
    004230a8mov [rsp+32], rcx
    004230admov [rsp+40], ebx
    004230b1mov rcx, [rbp+8368]
    004230b8mov [rsp+48], rcx
    004230bdmov rcx, rdx
    004230c0mov edx, r8l
    004230c3mov r8, r9
    004230c6mov r9l, eax
    004230c9call fn_422f00
    004230cejmp 0x4230dc
    004230d0
    004230d0loc_4230d0:
    004230d0xor esi, esi
    004230d2test rcx, rcx
    004230d5je 0x4230da
    004230d7mov esi, [rcx-4]
    004230da
    004230daloc_4230da:
    004230damov eax, esi
    004230dc
    004230dcloc_4230dc:
    004230dcmov ecx, esi
    004230desub ecx, 1
    004230e1cmp eax, ecx
    004230e3jl 0x42315a
    004230e5jmp 0x423144
    004230e7
    004230e7loc_4230e7:
    004230e7add esi, esi
    004230e9mov rcx, [rbp+72]
    004230edcall fn_40bcf0
    004230f2mov rcx, [rbp+72]
    004230f6mov edx, esi
    004230f8call fn_40d8d0
    004230fdxor edi, edi
    004230ffmov r13, [rbp+80]
    00423103test r13, r13
    00423106je 0x42310c
    00423108mov edi, [r13-4]
    0042310c
    0042310cloc_42310c:
    0042310cmov rax, [rbp+72]
    00423110mov rcx, [rax]
    00423113call fn_40d710
    00423118mov rcx, rax
    0042311bmov edx, esi
    0042311dsub edx, 1
    00423120mov r8, r13
    00423123mov r9l, edi
    00423126mov rax, [rbp+88]
    0042312amov [rsp+32], rax
    0042312fmov [rsp+40], ebx
    00423133mov rax, [rbp+8368]
    0042313amov [rsp+48], rax
    0042313fcall fn_422f00
    00423144
    00423144loc_423144:
    00423144mov ecx, esi
    00423146sub ecx, 1
    00423149cmp eax, ecx
    0042314bjge 0x4230e7
    0042314dmov rcx, [rbp+72]
    00423151mov edx, eax
    00423153call fn_40d8d0
    00423158jmp 0x42316a
    0042315a
    0042315aloc_42315a:
    0042315amov rcx, [rbp+72]
    0042315elea rdx, [rbp+96]
    00423162mov r8l, eax
    00423165call fn_40bfd0
    0042316a
    0042316aloc_42316a:
    0042316alea rsp, [rbp+8288]
    00423171pop rbx
    00423172pop rsi
    00423173pop rdi
    00423174pop r13
    00423176pop rbp
    00423177ret
    00423030
    00423178
    00423178 // align 0x10
    00423180
    00423180fn_423180:
    00423180push rbp
    00423181mov rbp, rsp
    00423184xor eax, eax
    00423186cmp [rcx+364], edx
    0042318cjle 0x42319e
    0042318ecmp [rcx+362], 83
    00423196je 0x42319e
    00423198mov edx, [rcx+364]
    0042319e
    0042319eloc_42319e:
    0042319ecmp [rcx+356], -1
    004231a5je 0x42320d
    004231a7mov r9l, edx
    004231aaadd r9l, r8l
    004231adcmp [rcx+356], r9l
    004231b4jle 0x42320d
    004231b6add edx, r8l
    004231b9add edx, 1
    004231bcmov r8l, edx
    004231bfmov r9l, [rcx+356]
    004231c6mov edx, r8l
    004231c9cmp edx, r9l
    004231ccjg 0x42320c
    004231cesub r9l, r8l
    004231d1add r9l, 1
    004231d5
    004231d5loc_4231d5:
    004231d5cmp [rcx+352], 0
    004231dcjne 0x4231e2
    004231demov al, 1
    004231e0jmp 0x42320c
    004231e2
    004231e2loc_4231e2:
    004231e2mov rdx, [rcx+344]
    004231e9mov [rdx], 32
    004231eelea rdx, [rcx+344]
    004231f5add [rdx], 2
    004231f9lea rdx, [rcx+352]
    00423200sub [rdx], 2
    00423203sub r9l, 1
    00423207test r9l, r9l
    0042320ajne 0x4231d5
    0042320c
    0042320cloc_42320c:
    0042320cnop
    0042320d
    0042320dloc_42320d:
    0042320dmov rsp, rbp
    00423210pop rbp
    00423211ret
    00423180
    00423212
    00423212 // align 0x10
    00423220
    00423220fn_423220:
    00423220push rbp
    00423221push r14
    00423223push r13
    00423225push rdi
    00423226push rsi
    00423227push rbx
    00423228sub rsp, 56
    0042322cmov rbp, rsp
    0042322fmov [rbp+32], rcx
    00423233mov [rbp+40], rdx
    00423237mov ebx, r8l
    0042323amov rdi, [rbp+40]
    0042323emov rax, [rbp+40]
    00423242test rax, rax
    00423245je 0x42325e
    00423247cmp r9l, -1
    0042324bjne 0x423259
    0042324dmov rcx, rdi
    00423250call fn_40c5a0
    00423255mov esi, eax
    00423257jmp 0x423260
    00423259
    00423259loc_423259:
    00423259mov esi, r9l
    0042325cjmp 0x423260
    0042325e
    0042325eloc_42325e:
    0042325exor esi, esi
    00423260
    00423260loc_423260:
    00423260cmp ebx, -1
    00423263jle 0x42326b
    00423265cmp esi, ebx
    00423267jle 0x42326b
    00423269mov esi, ebx
    0042326b
    0042326bloc_42326b:
    0042326bmov r13l, esi
    0042326eadd r13l, r13l
    00423271mov rax, [rbp+40]
    00423275test rax, rax
    00423278je 0x42329d
    0042327acmp [rdi], 45
    0042327ejne 0x42329d
    00423280mov rax, [rbp+32]
    00423284cmp [rax+362], 83
    0042328cje 0x42329d
    0042328esub r13l, 2
    00423292sub esi, 1
    00423295mov r14l, 1
    0042329bjmp 0x4232a0
    0042329d
    0042329dloc_42329d:
    0042329dxor r14, r14
    004232a0
    004232a0loc_4232a0:
    004232a0mov rax, [rbp+32]
    004232a4cmp [rax+343], 0
    004232abjne 0x4232c5
    004232admov rcx, [rbp+32]
    004232b1mov edx, esi
    004232b3mov r8l, r14l
    004232b6call fn_423180
    004232bbmov ebx, eax
    004232bdtest bl, bl
    004232bfjne 0x42341e
    004232c5
    004232c5loc_4232c5:
    004232c5cmp r14l, 1
    004232c9jne 0x423310
    004232cbmov rax, [rbp+32]
    004232cfcmp [rax+352], 0
    004232d6jne 0x4232df
    004232d8mov bl, 1
    004232dajmp 0x42341e
    004232df
    004232dfloc_4232df:
    004232dfadd rdi, 2
    004232e3mov rax, [rbp+32]
    004232e7mov rax, [rax+344]
    004232eemov [rax], 45
    004232f3mov rax, [rbp+32]
    004232f7lea rax, [rax+344]
    004232feadd [rax], 2
    00423302mov rax, [rbp+32]
    00423306lea rax, [rax+352]
    0042330dsub [rax], 2
    00423310
    00423310loc_423310:
    00423310mov rax, [rbp+32]
    00423314cmp [rax+364], -1
    0042331bje 0x42339a
    0042331dmov rax, [rbp+32]
    00423321cmp [rax+364], esi
    00423327jle 0x42339a
    00423329mov rax, [rbp+32]
    0042332dcmp [rax+362], 83
    00423335je 0x42339a
    00423337mov ecx, esi
    00423339add ecx, 1
    0042333cmov rax, [rbp+32]
    00423340mov edx, [rax+364]
    00423346mov eax, ecx
    00423348cmp eax, edx
    0042334ajg 0x423399
    0042334csub edx, ecx
    0042334eadd edx, 1
    00423351
    00423351loc_423351:
    00423351mov rax, [rbp+32]
    00423355cmp [rax+352], 0
    0042335cjne 0x423365
    0042335emov bl, 1
    00423360jmp 0x42341e
    00423365
    00423365loc_423365:
    00423365mov rax, [rbp+32]
    00423369mov rax, [rax+344]
    00423370mov [rax], 48
    00423375mov rax, [rbp+32]
    00423379lea rax, [rax+344]
    00423380add [rax], 2
    00423384mov rax, [rbp+32]
    00423388lea rax, [rax+352]
    0042338fsub [rax], 2
    00423392sub edx, 1
    00423395test edx, edx
    00423397jne 0x423351
    00423399
    00423399loc_423399:
    00423399nop
    0042339a
    0042339aloc_42339a:
    0042339amov rax, [rbp+40]
    0042339etest rax, rax
    004233a1je 0x4233ff
    004233a3mov rax, [rbp+32]
    004233a7cmp [rax+352], r13l
    004233aesetb bl
    004233b1test bl, bl
    004233b3je 0x4233c0
    004233b5mov rax, [rbp+32]
    004233b9mov r13l, [rax+352]
    004233c0
    004233c0loc_4233c0:
    004233c0mov rcx, rdi
    004233c3mov rax, [rbp+32]
    004233c7mov rdx, [rax+344]
    004233cemov r8l, r13l
    004233d1call fn_405ac0
    004233d6mov rax, [rbp+32]
    004233damov rax, [rax+344]
    004233e1mov ecx, r13l
    004233e4lea rax, [rax+rcx]
    004233e8mov rcx, [rbp+32]
    004233ecmov [rcx+344], rax
    004233f3lea rax, [rcx+352]
    004233fasub [rax], r13l
    004233fdjmp 0x423401
    004233ff
    004233ffloc_4233ff:
    004233ffxor ebx, ebx
    00423401
    00423401loc_423401:
    00423401mov rax, [rbp+32]
    00423405cmp [rax+343], 0
    0042340cje 0x42341e
    0042340emov rcx, [rbp+32]
    00423412mov edx, esi
    00423414mov r8l, r14l
    00423417call fn_423180
    0042341cmov ebx, eax
    0042341e
    0042341eloc_42341e:
    0042341emov eax, ebx
    00423420lea rsp, [rbp+56]
    00423424pop rbx
    00423425pop rsi
    00423426pop rdi
    00423427pop r13
    00423429pop r14
    0042342bpop rbp
    0042342cret
    00423220
    0042342d
    0042342d // align 0x10
    00423430
    00423430fn_423430:
    00423430push rbp
    00423431push rdi
    00423432push rsi
    00423433push rbx
    00423434sub rsp, 72
    00423438mov rbp, rsp
    0042343bmov rbx, rdx
    0042343emov rsi, r8
    00423441lea rdi, [rbp+40]
    00423445movsq [rdi], [rsi]
    00423447movsq [rdi], [rsi]
    00423449movsq [rdi], [rsi]
    0042344bmov rcx, rbx
    0042344ecall fn_40bcf0
    00423453cmp [rbp+40], 1
    00423458je 0x423480
    0042345amov rax, [rip+0x40a3f]
    00423461cmp [rax], 0
    00423465je 0x423479
    00423467mov rcx, rbx
    0042346alea rdx, [rbp+40]
    0042346emov rsi, [rip+0x40a2b]
    00423475call [rsi]
    00423477jmp 0x423480
    00423479
    00423479loc_423479:
    00423479mov cl, 16
    0042347bcall fn_405a20
    00423480
    00423480loc_423480:
    00423480mov rax, rbx
    00423483lea rsp, [rbp+72]
    00423487pop rbx
    00423488pop rsi
    00423489pop rdi
    0042348apop rbp
    0042348bret
    00423430
    0042348c
    0042348c // align 0x10
    00423490
    00423490fn_423490:
    00423490push rbp
    00423491push rdi
    00423492push rsi
    00423493push rbx
    00423494sub rsp, 376
    0042349bmov rbp, rsp
    0042349emov [rbp+72], rcx
    004234a2mov [rbp+112], edx
    004234a5mov [rbp+80], r8
    004234a9mov [rbp+92], r9l
    004234admov [rbp+128], 0
    004234b8mov [rbp+136], 0
    004234c3mov [rbp+144], 0
    004234cemov [rbp+152], 0
    004234d9mov [rbp+160], 0
    004234e4mov [rbp+168], 0
    004234efmov [rbp+328], 0
    004234famov rax, [rbp+464]
    00423501mov [rbp+464], rax
    00423508nop
    00423509mov rax, [rbp+72]
    0042350dtest rax, rax
    00423510je 0x42351b
    00423512mov rax, [rbp+80]
    00423516test rax, rax
    00423519jne 0x423525
    0042351b
    0042351bloc_42351b:
    0042351bxor eax, eax
    0042351dmov [rbp+116], eax
    00423520jmp 0x42441d
    00423525
    00423525loc_423525:
    00423525or eax, -1
    00423528mov [rbp+108], eax
    0042352bmov ebx, [rbp+456]
    00423531add ebx, 1
    00423534mov rax, [rbp+72]
    00423538mov [rbp+344], rax
    0042353fmov rax, [rbp+80]
    00423543mov [rbp+96], rax
    00423547mov eax, [rbp+112]
    0042354acmp eax, 0x7fffffff
    00423550jae 0x42355f
    00423552mov eax, [rbp+112]
    00423555add eax, eax
    00423557mov [rbp+352], eax
    0042355djmp 0x423568
    0042355f
    0042355floc_42355f:
    0042355fmov eax, [rbp+112]
    00423562mov [rbp+352], eax
    00423568
    00423568loc_423568:
    00423568mov eax, [rbp+92]
    0042356bmov eax, eax
    0042356dmov rcx, [rbp+96]
    00423571lea rax, [rcx+2*rax]
    00423575mov [rbp+120], rax
    00423579mov rax, [rbp+120]
    0042357dmov rcx, [rbp+96]
    00423581cmp rcx, rax
    00423584mov [rbp+96], rcx
    00423588jae 0x424400
    0042358e
    0042358eloc_42358e:
    0042358emov rax, [rbp+96]
    00423592movzx rax, [rax]
    00423596cmp ax, 37
    0042359ajne 0x4243a0
    004235a0mov rax, [rbp+96]
    004235a4add rax, 2
    004235a8mov [rbp+96], rax
    004235acmov rax, [rbp+120]
    004235b0mov rcx, [rbp+96]
    004235b4cmp rcx, rax
    004235b7mov [rbp+96], rcx
    004235bbjae 0x424400
    004235c1mov rax, [rbp+96]
    004235c5cmp [rax], 37
    004235c9jne 0x423615
    004235cbcmp [rbp+352], 0
    004235d2jne 0x4235e3
    004235d4xor ecx, ecx
    004235d6mov rdx, [rbp+80]
    004235damov r8l, [rbp+92]
    004235decall fn_422e50
    004235e3
    004235e3loc_4235e3:
    004235e3mov rax, [rbp+344]
    004235eamov rcx, [rbp+96]
    004235eemovzx rcx, [rcx]
    004235f2mov [rax], cx
    004235f5mov rax, [rbp+96]
    004235f9add rax, 2
    004235fdmov [rbp+96], rax
    00423601add [rbp+344], 2
    00423609sub [rbp+352], 2
    00423610jmp 0x4243eb
    00423615
    00423615loc_423615:
    00423615mov [rbp+356], -1
    0042361fmov eax, [rbp+108]
    00423622add eax, 1
    00423625mov [rbp+108], eax
    00423628mov rcx, [rbp+96]
    0042362ccall fn_41d620
    00423631test al, al
    00423633je 0x423704
    00423639mov rsi, [rbp+96]
    0042363djmp 0x42364b
    0042363f
    0042363floc_42363f:
    0042363fmov rax, [rbp+96]
    00423643add rax, 2
    00423647mov [rbp+96], rax
    0042364b
    0042364bloc_42364b:
    0042364bmov rax, [rbp+120]
    0042364fmov rcx, [rbp+96]
    00423653cmp rcx, rax
    00423656mov [rbp+96], rcx
    0042365ajae 0x423669
    0042365cmov rcx, [rbp+96]
    00423660call fn_41d620
    00423665test al, al
    00423667jne 0x42363f
    00423669
    00423669loc_423669:
    00423669mov rax, [rbp+96]
    0042366dcmp rsi, rax
    00423670je 0x42371f
    00423676lea rcx, [rbp+198]
    0042367dmov rdx, rsi
    00423680mov r8, [rbp+96]
    00423684sub r8, rsi
    00423687sar r8, 1
    0042368bjns 0x423691
    0042368dadc r8, 0
    00423691
    00423691loc_423691:
    00423691call fn_422c90
    00423696lea rcx, [rbp+168]
    0042369dlea rdx, [rbp+198]
    004236a4mov r8l, 65
    004236aacall fn_40d7b0
    004236afmov rcx, [rbp+168]
    004236b6lea rdx, [rbp+192]
    004236bdcall fn_422920
    004236c2test al, al
    004236c4jne 0x4236d5
    004236c6xor ecx, ecx
    004236c8mov rdx, [rbp+80]
    004236ccmov r8l, [rbp+92]
    004236d0call fn_422e50
    004236d5
    004236d5loc_4236d5:
    004236d5mov rax, [rbp+96]
    004236d9cmp [rax], 58
    004236ddjne 0x4236f6
    004236dfmov rax, [rbp+96]
    004236e3add rax, 2
    004236e7mov [rbp+96], rax
    004236ebmov eax, [rbp+192]
    004236f1mov [rbp+108], eax
    004236f4jmp 0x42371f
    004236f6
    004236f6loc_4236f6:
    004236f6mov eax, [rbp+192]
    004236fcmov [rbp+356], eax
    00423702jmp 0x42371f
    00423704
    00423704loc_423704:
    00423704mov rax, [rbp+96]
    00423708cmp [rax], 58
    0042370cjne 0x42371f
    0042370exor eax, eax
    00423710mov [rbp+108], eax
    00423713mov rax, [rbp+96]
    00423717add rax, 2
    0042371bmov [rbp+96], rax
    0042371f
    0042371floc_42371f:
    0042371fmov rax, [rbp+96]
    00423723cmp [rax], 45
    00423727jne 0x42373e
    00423729mov [rbp+343], 1
    00423730mov rax, [rbp+96]
    00423734add rax, 2
    00423738mov [rbp+96], rax
    0042373cjmp 0x423745
    0042373e
    0042373eloc_42373e:
    0042373emov [rbp+343], 0
    00423745
    00423745loc_423745:
    00423745mov rsi, [rbp+96]
    00423749mov rax, [rbp+96]
    0042374dcmp [rax], 42
    00423751jne 0x42376e
    00423753mov [rbp+356], -2
    0042375dmov rax, [rbp+96]
    00423761add rax, 2
    00423765mov [rbp+96], rax
    00423769jmp 0x423813
    0042376e
    0042376eloc_42376e:
    0042376emov rcx, [rbp+96]
    00423772call fn_41d620
    00423777test al, al
    00423779je 0x423813
    0042377fjmp 0x42378d
    00423781
    00423781loc_423781:
    00423781mov rax, [rbp+96]
    00423785add rax, 2
    00423789mov [rbp+96], rax
    0042378d
    0042378dloc_42378d:
    0042378dmov rax, [rbp+120]
    00423791mov rcx, [rbp+96]
    00423795cmp rcx, rax
    00423798mov [rbp+96], rcx
    0042379cjae 0x4237ab
    0042379emov rcx, [rbp+96]
    004237a2call fn_41d620
    004237a7test al, al
    004237a9jne 0x423781
    004237ab
    004237abloc_4237ab:
    004237abmov rax, [rbp+96]
    004237afcmp rsi, rax
    004237b2je 0x423813
    004237b4lea rcx, [rbp+198]
    004237bbmov rdx, rsi
    004237bemov r8, [rbp+96]
    004237c2sub r8, rsi
    004237c5sar r8, 1
    004237c9jns 0x4237cf
    004237cbadc r8, 0
    004237cf
    004237cfloc_4237cf:
    004237cfcall fn_422c90
    004237d4lea rcx, [rbp+160]
    004237dblea rdx, [rbp+198]
    004237e2mov r8l, 65
    004237e8call fn_40d7b0
    004237edmov rcx, [rbp+160]
    004237f4lea rdx, [rbp+356]
    004237fbcall fn_422920
    00423800test al, al
    00423802jne 0x423813
    00423804xor ecx, ecx
    00423806mov rdx, [rbp+80]
    0042380amov r8l, [rbp+92]
    0042380ecall fn_422e50
    00423813
    00423813loc_423813:
    00423813mov rax, [rbp+96]
    00423817cmp [rax], 46
    0042381bjne 0x4238f3
    00423821mov rax, [rbp+96]
    00423825add rax, 2
    00423829mov [rbp+96], rax
    0042382dmov rax, [rbp+120]
    00423831mov rcx, [rbp+96]
    00423835cmp rcx, rax
    00423838mov [rbp+96], rcx
    0042383cjae 0x424400
    00423842mov rax, [rbp+96]
    00423846cmp [rax], 42
    0042384ajne 0x423867
    0042384cmov [rbp+364], -2
    00423856mov rax, [rbp+96]
    0042385aadd rax, 2
    0042385emov [rbp+96], rax
    00423862jmp 0x4238fd
    00423867
    00423867loc_423867:
    00423867mov rsi, [rbp+96]
    0042386bjmp 0x423879
    0042386d
    0042386dloc_42386d:
    0042386dmov rax, [rbp+96]
    00423871add rax, 2
    00423875mov [rbp+96], rax
    00423879
    00423879loc_423879:
    00423879mov rax, [rbp+120]
    0042387dmov rcx, [rbp+96]
    00423881cmp rcx, rax
    00423884mov [rbp+96], rcx
    00423888jae 0x423897
    0042388amov rcx, [rbp+96]
    0042388ecall fn_41d620
    00423893test al, al
    00423895jne 0x42386d
    00423897
    00423897loc_423897:
    00423897lea rcx, [rbp+198]
    0042389emov rdx, rsi
    004238a1mov r8, [rbp+96]
    004238a5sub r8, rsi
    004238a8sar r8, 1
    004238acjns 0x4238b2
    004238aeadc r8, 0
    004238b2
    004238b2loc_4238b2:
    004238b2call fn_422c90
    004238b7lea rcx, [rbp+152]
    004238belea rdx, [rbp+198]
    004238c5mov r8l, 65
    004238cbcall fn_40d7b0
    004238d0mov rcx, [rbp+152]
    004238d7lea rdx, [rbp+364]
    004238decall fn_422920
    004238e3test al, al
    004238e5jne 0x4238fd
    004238e7mov [rbp+364], -1
    004238f1jmp 0x4238fd
    004238f3
    004238f3loc_4238f3:
    004238f3mov [rbp+364], -1
    004238fd
    004238fdloc_4238fd:
    004238fdmov rcx, [rbp+96]
    00423901call fn_41d580
    00423906test al, al
    00423908je 0x424400
    0042390emov rax, [rbp+96]
    00423912movzx rax, [rax]
    00423916mov ecx, eax
    00423918sub cx, 97
    0042391ccmp cx, 26
    00423920jae 0x423937
    00423922mov rax, [rbp+96]
    00423926movzx rax, [rax]
    0042392axor ax, 32
    0042392emov [rbp+362], ax
    00423935jmp 0x42393e
    00423937
    00423937loc_423937:
    00423937mov [rbp+362], ax
    0042393e
    0042393eloc_42393e:
    0042393emov rax, [rbp+96]
    00423942add rax, 2
    00423946mov [rbp+96], rax
    0042394acmp [rbp+356], -2
    00423951jne 0x423a77
    00423957mov eax, [rbp+108]
    0042395acmp eax, ebx
    0042395cmov [rbp+108], eax
    0042395fjl 0x423973
    00423961mov ecx, 1
    00423966mov rdx, [rbp+80]
    0042396amov r8l, [rbp+92]
    0042396ecall fn_422e50
    00423973
    00423973loc_423973:
    00423973mov eax, [rbp+108]
    00423976movsxd rax, eax
    00423979mov rcx, [rbp+448]
    00423980mov rdx, rax
    00423983add rdx, rdx
    00423986movzx rcx, [rcx+8*rdx+8]
    0042398ccmp cl, 31
    0042398fja 0x4239ac
    00423991mov edx, 1
    00423996movzx rcx, cl
    0042399aand ecx, 127
    0042399dshl edx, cl
    0042399fmov ecx, [rip+2779]
    004239a5test edx, ecx
    004239a7setne cl
    004239aajmp 0x4239ae
    004239ac
    004239acloc_4239ac:
    004239acxor ecx, ecx
    004239ae
    004239aeloc_4239ae:
    004239aetest cl, cl
    004239b0je 0x423a68
    004239b6mov rcx, [rbp+448]
    004239bdmov rdx, rax
    004239c0add rdx, rdx
    004239c3cmp [rcx+8*rdx+8], 0
    004239c8jne 0x4239df
    004239camov rcx, [rbp+448]
    004239d1add rax, rax
    004239d4mov eax, [rcx+8*rax]
    004239d7mov [rbp+356], eax
    004239ddjmp 0x423a3e
    004239df
    004239dfloc_4239df:
    004239dfmov esi, [rbp+108]
    004239e2movsxd rsi, esi
    004239e5mov rax, [rbp+448]
    004239ecmov rcx, rsi
    004239efadd rcx, rcx
    004239f2mov rax, [rax+8*rcx]
    004239f6cmp [rax], 0x7fffffff
    004239fdjg 0x423a19
    004239ffmov rax, [rbp+448]
    00423a06mov rcx, rsi
    00423a09add rcx, rcx
    00423a0cmov rax, [rax+8*rcx]
    00423a10cmp [rax], 0xffffffff80000000
    00423a17jge 0x423a28
    00423a19
    00423a19loc_423a19:
    00423a19xor ecx, ecx
    00423a1bmov rdx, [rbp+80]
    00423a1fmov r8l, [rbp+92]
    00423a23call fn_422e50
    00423a28
    00423a28loc_423a28:
    00423a28mov rax, [rbp+448]
    00423a2fadd rsi, rsi
    00423a32mov rax, [rax+8*rsi]
    00423a36mov eax, [rax]
    00423a38mov [rbp+356], eax
    00423a3e
    00423a3eloc_423a3e:
    00423a3ecmp [rbp+356], 0
    00423a45jge 0x423a5d
    00423a47cmp [rbp+343], 0
    00423a4esete al
    00423a51mov [rbp+343], al
    00423a57neg [rbp+356]
    00423a5d
    00423a5dloc_423a5d:
    00423a5dmov eax, [rbp+108]
    00423a60add eax, 1
    00423a63mov [rbp+108], eax
    00423a66jmp 0x423a77
    00423a68
    00423a68loc_423a68:
    00423a68xor ecx, ecx
    00423a6amov rdx, [rbp+80]
    00423a6emov r8l, [rbp+92]
    00423a72call fn_422e50
    00423a77
    00423a77loc_423a77:
    00423a77cmp [rbp+364], -2
    00423a7ejne 0x423b85
    00423a84mov eax, [rbp+108]
    00423a87cmp eax, ebx
    00423a89mov [rbp+108], eax
    00423a8cjl 0x423aa0
    00423a8emov ecx, 1
    00423a93mov rdx, [rbp+80]
    00423a97mov r8l, [rbp+92]
    00423a9bcall fn_422e50
    00423aa0
    00423aa0loc_423aa0:
    00423aa0mov eax, [rbp+108]
    00423aa3movsxd rax, eax
    00423aa6mov rcx, [rbp+448]
    00423aadmov rdx, rax
    00423ab0add rdx, rdx
    00423ab3movzx rcx, [rcx+8*rdx+8]
    00423ab9cmp cl, 31
    00423abcja 0x423ad9
    00423abemov edx, 1
    00423ac3movzx rcx, cl
    00423ac7and ecx, 127
    00423acashl edx, cl
    00423accmov ecx, [rip+2478]
    00423ad2test edx, ecx
    00423ad4setne cl
    00423ad7jmp 0x423adb
    00423ad9
    00423ad9loc_423ad9:
    00423ad9xor ecx, ecx
    00423adb
    00423adbloc_423adb:
    00423adbtest cl, cl
    00423addje 0x423b76
    00423ae3mov rcx, [rbp+448]
    00423aeamov rdx, rax
    00423aedadd rdx, rdx
    00423af0cmp [rcx+8*rdx+8], 0
    00423af5jne 0x423b0c
    00423af7mov rcx, [rbp+448]
    00423afeadd rax, rax
    00423b01mov eax, [rcx+8*rax]
    00423b04mov [rbp+364], eax
    00423b0ajmp 0x423b6b
    00423b0c
    00423b0cloc_423b0c:
    00423b0cmov esi, [rbp+108]
    00423b0fmovsxd rsi, esi
    00423b12mov rax, [rbp+448]
    00423b19mov rcx, rsi
    00423b1cadd rcx, rcx
    00423b1fmov rax, [rax+8*rcx]
    00423b23cmp [rax], 0x7fffffff
    00423b2ajg 0x423b46
    00423b2cmov rax, [rbp+448]
    00423b33mov rcx, rsi
    00423b36add rcx, rcx
    00423b39mov rax, [rax+8*rcx]
    00423b3dcmp [rax], 0xffffffff80000000
    00423b44jge 0x423b55
    00423b46
    00423b46loc_423b46:
    00423b46xor ecx, ecx
    00423b48mov rdx, [rbp+80]
    00423b4cmov r8l, [rbp+92]
    00423b50call fn_422e50
    00423b55
    00423b55loc_423b55:
    00423b55mov rax, [rbp+448]
    00423b5cadd rsi, rsi
    00423b5fmov rax, [rax+8*rsi]
    00423b63mov eax, [rax]
    00423b65mov [rbp+364], eax
    00423b6b
    00423b6bloc_423b6b:
    00423b6bmov eax, [rbp+108]
    00423b6eadd eax, 1
    00423b71mov [rbp+108], eax
    00423b74jmp 0x423b85
    00423b76
    00423b76loc_423b76:
    00423b76xor ecx, ecx
    00423b78mov rdx, [rbp+80]
    00423b7cmov r8l, [rbp+92]
    00423b80call fn_422e50
    00423b85
    00423b85loc_423b85:
    00423b85mov eax, [rbp+108]
    00423b88cmp eax, ebx
    00423b8amov [rbp+108], eax
    00423b8djl 0x423ba1
    00423b8fmov ecx, 1
    00423b94mov rdx, [rbp+80]
    00423b98mov r8l, [rbp+92]
    00423b9ccall fn_422e50
    00423ba1
    00423ba1loc_423ba1:
    00423ba1mov rax, [rbp+448]
    00423ba8mov ecx, [rbp+108]
    00423babmovsxd rcx, ecx
    00423baeadd rcx, rcx
    00423bb1lea rdi, [rbp+176]
    00423bb8lea rsi, [rax+8*rcx]
    00423bbcmovsq [rdi], [rsi]
    00423bbemovsq [rdi], [rsi]
    00423bc0xor esi, esi
    00423bc3movzx rax, [rbp+184]
    00423bcbmovzx rcx, al
    00423bcfcmp ecx, 9
    00423bd2jg 0x423c3e
    00423bd4cmp ecx, 9
    00423bd7je 0x423d69
    00423bddcmp ecx, 4
    00423be0jg 0x423c1a
    00423be2cmp ecx, 4
    00423be5je 0x4240f6
    00423bebsub ecx, 1
    00423beecmp ecx, -1
    00423bf1je 0x423cb3
    00423bf7test ecx, ecx
    00423bf9je 0x423c9f
    00423bffsub ecx, 1
    00423c02test ecx, ecx
    00423c04je 0x423d69
    00423c0asub ecx, 1
    00423c0dtest ecx, ecx
    00423c0fjne 0x42437e
    00423c15jmp 0x423de0
    00423c1a
    00423c1aloc_423c1a:
    00423c1asub ecx, 5
    00423c1dtest ecx, ecx
    00423c1fje 0x423ffd
    00423c25sub ecx, 1
    00423c28test ecx, ecx
    00423c2aje 0x42405b
    00423c30sub ecx, 1
    00423c33cmp ecx, 2
    00423c36jae 0x42437e
    00423c3cjmp 0x423c9f
    00423c3e
    00423c3eloc_423c3e:
    00423c3ecmp ecx, 14
    00423c41jg 0x423c79
    00423c43cmp ecx, 14
    00423c46je 0x423c9f
    00423c48sub ecx, 10
    00423c4btest ecx, ecx
    00423c4dje 0x4240b6
    00423c53sub ecx, 1
    00423c56test ecx, ecx
    00423c58je 0x4241a9
    00423c5esub ecx, 1
    00423c61test ecx, ecx
    00423c63je 0x423de0
    00423c69sub ecx, 1
    00423c6ctest ecx, ecx
    00423c6ejne 0x42437e
    00423c74jmp 0x424214
    00423c79
    00423c79loc_423c79:
    00423c79sub ecx, 15
    00423c7ctest ecx, ecx
    00423c7eje 0x424151
    00423c84sub ecx, 1
    00423c87test ecx, ecx
    00423c89je 0x424272
    00423c8fsub ecx, 1
    00423c92test ecx, ecx
    00423c94jne 0x42437e
    00423c9ajmp 0x424331
    00423c9f
    00423c9floc_423c9f:
    00423c9fxor ecx, ecx
    00423ca1mov rdx, [rbp+80]
    00423ca5mov r8l, [rbp+92]
    00423ca9call fn_422e50
    00423caejmp 0x42437e
    00423cb3
    00423cb3loc_423cb3:
    00423cb3cmp [rbp+364], 16
    00423cbajg 0x423cc5
    00423cbccmp [rbp+364], -1
    00423cc3jne 0x423ccf
    00423cc5
    00423cc5loc_423cc5:
    00423cc5mov [rbp+364], 0
    00423ccf
    00423ccfloc_423ccf:
    00423ccfmovzx rax, [rbp+362]
    00423cd7sub ax, 68
    00423cdbtest ax, ax
    00423cdeje 0x423cf4
    00423ce0sub ax, 17
    00423ce4test ax, ax
    00423ce7je 0x423d08
    00423ce9sub ax, 3
    00423cedtest ax, ax
    00423cf0jne 0x423d33
    00423cf2jmp 0x423d1c
    00423cf4
    00423cf4loc_423cf4:
    00423cf4lea rcx, [rbp+328]
    00423cfbmov edx, [rbp+176]
    00423d01call fn_4225b0
    00423d06jmp 0x423d42
    00423d08
    00423d08loc_423d08:
    00423d08lea rcx, [rbp+328]
    00423d0fmov edx, [rbp+176]
    00423d15call fn_422620
    00423d1ajmp 0x423d42
    00423d1c
    00423d1cloc_423d1c:
    00423d1clea rcx, [rbp+328]
    00423d23mov edx, [rbp+176]
    00423d29xor r8, r8
    00423d2ccall fn_422860
    00423d31jmp 0x423d42
    00423d33
    00423d33loc_423d33:
    00423d33xor ecx, ecx
    00423d35mov rdx, [rbp+80]
    00423d39mov r8l, [rbp+92]
    00423d3dcall fn_422e50
    00423d42
    00423d42loc_423d42:
    00423d42mov rcx, [rbp+328]
    00423d49call fn_40d710
    00423d4emov rcx, rbp
    00423d51mov rdx, rax
    00423d54or r8l, -1
    00423d58or r9l, -1
    00423d5ccall fn_423220
    00423d61mov esi, eax
    00423d64jmp 0x42437e
    00423d69
    00423d69loc_423d69:
    00423d69cmp [rbp+362], 83
    00423d71jne 0x423dcc
    00423d73cmp al, 2
    00423d76jne 0x423d8e
    00423d78lea rcx, [rbp+328]
    00423d7fmovzx dx, [rbp+176]
    00423d87call fn_40d730
    00423d8cjmp 0x423da2
    00423d8e
    00423d8eloc_423d8e:
    00423d8elea rcx, [rbp+328]
    00423d95movzx rdx, [rbp+176]
    00423d9dcall fn_40d730
    00423da2
    00423da2loc_423da2:
    00423da2mov rcx, [rbp+328]
    00423da9call fn_40d710
    00423daemov rcx, rbp
    00423db1mov rdx, rax
    00423db4mov r8l, [rbp+364]
    00423dbbor r9l, -1
    00423dbfcall fn_423220
    00423dc4mov esi, eax
    00423dc7jmp 0x42437e
    00423dcc
    00423dccloc_423dcc:
    00423dccxor ecx, ecx
    00423dcemov rdx, [rbp+80]
    00423dd2mov r8l, [rbp+92]
    00423dd6call fn_422e50
    00423ddbjmp 0x42437e
    00423de0
    00423de0loc_423de0:
    00423de0cmp al, 3
    00423de3jne 0x423de9
    00423de5xor eax, eax
    00423de7jmp 0x423deb
    00423de9
    00423de9loc_423de9:
    00423de9mov al, 1
    00423deb
    00423debloc_423deb:
    00423debxor esi, esi
    00423dedcmp [rbp+362], 71
    00423df5je 0x423e01
    00423df7cmp [rbp+362], 69
    00423dffjne 0x423e16
    00423e01
    00423e01loc_423e01:
    00423e01cmp [rbp+364], 18
    00423e08jbe 0x423e45
    00423e0amov [rbp+364], 15
    00423e14jmp 0x423e45
    00423e16
    00423e16loc_423e16:
    00423e16cmp [rbp+364], 18
    00423e1djbe 0x423e45
    00423e1fmov [rbp+364], 2
    00423e29cmp [rbp+362], 77
    00423e31jne 0x423e45
    00423e33mov rcx, [rbp+464]
    00423e3amovzx rcx, [rcx+9]
    00423e3fmov [rbp+364], ecx
    00423e45
    00423e45loc_423e45:
    00423e45movzx ecx, [rbp+362]
    00423e4ccmp ecx, 71
    00423e4fjg 0x423e6d
    00423e51cmp ecx, 71
    00423e54je 0x423e88
    00423e56sub ecx, 69
    00423e59test ecx, ecx
    00423e5bje 0x423ec6
    00423e5dsub ecx, 1
    00423e60test ecx, ecx
    00423e62jne 0x423fb8
    00423e68jmp 0x423f04
    00423e6d
    00423e6dloc_423e6d:
    00423e6dsub ecx, 77
    00423e70test ecx, ecx
    00423e72je 0x423f7d
    00423e78sub ecx, 1
    00423e7btest ecx, ecx
    00423e7djne 0x423fb8
    00423e83jmp 0x423f42
    00423e88
    00423e88loc_423e88:
    00423e88lea rcx, [rbp+198]
    00423e8fmov rdx, [rbp+176]
    00423e96mov r8l, eax
    00423e99xor r9, r9
    00423e9cmov eax, [rbp+364]
    00423ea2mov [rsp+32], eax
    00423ea6mov [rsp+40], 3
    00423eaemov rax, [rbp+464]
    00423eb5mov [rsp+48], rax
    00423ebacall fn_424f20
    00423ebfmov esi, eax
    00423ec1jmp 0x423fc7
    00423ec6
    00423ec6loc_423ec6:
    00423ec6lea rcx, [rbp+198]
    00423ecdmov rdx, [rbp+176]
    00423ed4mov r8l, eax
    00423ed7mov r9b, 1
    00423edamov eax, [rbp+364]
    00423ee0mov [rsp+32], eax
    00423ee4mov [rsp+40], 3
    00423eecmov rax, [rbp+464]
    00423ef3mov [rsp+48], rax
    00423ef8call fn_424f20
    00423efdmov esi, eax
    00423effjmp 0x423fc7
    00423f04
    00423f04loc_423f04:
    00423f04lea rcx, [rbp+198]
    00423f0bmov rdx, [rbp+176]
    00423f12mov r8l, eax
    00423f15mov r9b, 2
    00423f18mov [rsp+32], 18
    00423f20mov eax, [rbp+364]
    00423f26mov [rsp+40], eax
    00423f2amov rax, [rbp+464]
    00423f31mov [rsp+48], rax
    00423f36call fn_424f20
    00423f3bmov esi, eax
    00423f3djmp 0x423fc7
    00423f42
    00423f42loc_423f42:
    00423f42lea rcx, [rbp+198]
    00423f49mov rdx, [rbp+176]
    00423f50mov r8l, eax
    00423f53mov r9b, 3
    00423f56mov [rsp+32], 18
    00423f5emov eax, [rbp+364]
    00423f64mov [rsp+40], eax
    00423f68mov rax, [rbp+464]
    00423f6fmov [rsp+48], rax
    00423f74call fn_424f20
    00423f79mov esi, eax
    00423f7bjmp 0x423fc7
    00423f7d
    00423f7dloc_423f7d:
    00423f7dlea rcx, [rbp+198]
    00423f84mov rdx, [rbp+176]
    00423f8bmov r8l, eax
    00423f8emov r9b, 4
    00423f91mov [rsp+32], 18
    00423f99mov eax, [rbp+364]
    00423f9fmov [rsp+40], eax
    00423fa3mov rax, [rbp+464]
    00423faamov [rsp+48], rax
    00423fafcall fn_424f20
    00423fb4mov esi, eax
    00423fb6jmp 0x423fc7
    00423fb8
    00423fb8loc_423fb8:
    00423fb8xor ecx, ecx
    00423fbamov rdx, [rbp+80]
    00423fbemov r8l, [rbp+92]
    00423fc2call fn_422e50
    00423fc7
    00423fc7loc_423fc7:
    00423fc7movsxd rsi, esi
    00423fcamov [rbp+2*rsi+198], 0
    00423fd4mov [rbp+364], 0
    00423fdemov rcx, rbp
    00423fe1lea rdx, [rbp+198]
    00423fe8or r8l, -1
    00423fecor r9l, -1
    00423ff0call fn_423220
    00423ff5mov esi, eax
    00423ff8jmp 0x42437e
    00423ffd
    00423ffdloc_423ffd:
    00423ffdcmp [rbp+362], 80
    00424005jne 0x424047
    00424007lea rcx, [rbp+328]
    0042400emov rdx, [rbp+176]
    00424015mov r8l, 16
    0042401bcall fn_422880
    00424020mov rcx, [rbp+328]
    00424027call fn_40d710
    0042402cmov rcx, rbp
    0042402fmov rdx, rax
    00424032or r8l, -1
    00424036or r9l, -1
    0042403acall fn_423220
    0042403fmov esi, eax
    00424042jmp 0x42437e
    00424047
    00424047loc_424047:
    00424047xor ecx, ecx
    00424049mov rdx, [rbp+80]
    0042404dmov r8l, [rbp+92]
    00424051call fn_422e50
    00424056jmp 0x42437e
    0042405b
    0042405bloc_42405b:
    0042405bcmp [rbp+362], 83
    00424063jne 0x4240a2
    00424065lea rcx, [rbp+144]
    0042406cmov rdx, [rbp+176]
    00424073call fn_40d750
    00424078mov rcx, [rbp+144]
    0042407fcall fn_40d710
    00424084mov rcx, rbp
    00424087mov rdx, rax
    0042408amov r8l, [rbp+364]
    00424091or r9l, -1
    00424095call fn_423220
    0042409amov esi, eax
    0042409djmp 0x42437e
    004240a2
    004240a2loc_4240a2:
    004240a2xor ecx, ecx
    004240a4mov rdx, [rbp+80]
    004240a8mov r8l, [rbp+92]
    004240accall fn_422e50
    004240b1jmp 0x42437e
    004240b6
    004240b6loc_4240b6:
    004240b6cmp [rbp+362], 83
    004240bejne 0x4240e2
    004240c0mov rcx, rbp
    004240c3mov rdx, [rbp+176]
    004240camov r8l, [rbp+364]
    004240d1or r9l, -1
    004240d5call fn_423220
    004240damov esi, eax
    004240ddjmp 0x42437e
    004240e2
    004240e2loc_4240e2:
    004240e2xor ecx, ecx
    004240e4mov rdx, [rbp+80]
    004240e8mov r8l, [rbp+92]
    004240eccall fn_422e50
    004240f1jmp 0x42437e
    004240f6
    004240f6loc_4240f6:
    004240f6cmp [rbp+362], 83
    004240fejne 0x42413d
    00424100lea rcx, [rbp+136]
    00424107mov rdx, [rbp+176]
    0042410ecall fn_40d880
    00424113mov rcx, [rbp+136]
    0042411acall fn_40d710
    0042411fmov rcx, rbp
    00424122mov rdx, rax
    00424125mov r8l, [rbp+364]
    0042412cor r9l, -1
    00424130call fn_423220
    00424135mov esi, eax
    00424138jmp 0x42437e
    0042413d
    0042413dloc_42413d:
    0042413dxor ecx, ecx
    0042413fmov rdx, [rbp+80]
    00424143mov r8l, [rbp+92]
    00424147call fn_422e50
    0042414cjmp 0x42437e
    00424151
    00424151loc_424151:
    00424151cmp [rbp+362], 83
    00424159jne 0x424195
    0042415bxor eax, eax
    0042415dmov rcx, [rbp+176]
    00424164test rcx, rcx
    00424167je 0x42416f
    00424169mov eax, [rcx-4]
    0042416cshr eax, 1
    0042416f
    0042416floc_42416f:
    0042416fmov rdx, rbp
    00424172mov r8, rcx
    00424175mov r9l, [rbp+364]
    0042417cmov rcx, rdx
    0042417fmov rdx, r8
    00424182mov r8l, r9l
    00424185mov r9l, eax
    00424188call fn_423220
    0042418dmov esi, eax
    00424190jmp 0x42437e
    00424195
    00424195loc_424195:
    00424195xor ecx, ecx
    00424197mov rdx, [rbp+80]
    0042419bmov r8l, [rbp+92]
    0042419fcall fn_422e50
    004241a4jmp 0x42437e
    004241a9
    004241a9loc_4241a9:
    004241a9cmp [rbp+362], 83
    004241b1jne 0x424200
    004241b3lea rcx, [rbp+328]
    004241bamov rdx, [rbp+176]
    004241c1call fn_40d7f0
    004241c6xor esi, esi
    004241c8mov rax, [rbp+328]
    004241cftest rax, rax
    004241d2je 0x4241d7
    004241d4mov esi, [rax-4]
    004241d7
    004241d7loc_4241d7:
    004241d7mov rcx, [rbp+328]
    004241decall fn_40d710
    004241e3mov rcx, rbp
    004241e6mov rdx, rax
    004241e9mov r8l, [rbp+364]
    004241f0mov r9l, esi
    004241f3call fn_423220
    004241f8mov esi, eax
    004241fbjmp 0x42437e
    00424200
    00424200loc_424200:
    00424200xor ecx, ecx
    00424202mov rdx, [rbp+80]
    00424206mov r8l, [rbp+92]
    0042420acall fn_422e50
    0042420fjmp 0x42437e
    00424214
    00424214loc_424214:
    00424214cmp [rbp+362], 83
    0042421cjne 0x42425e
    0042421emov rcx, rbp
    00424221lea rdx, [rbp+128]
    00424228mov r8, [rbp+176]
    0042422fcall fn_423430
    00424234mov rcx, [rbp+128]
    0042423bcall fn_40d710
    00424240mov rcx, rbp
    00424243mov rdx, rax
    00424246mov r8l, [rbp+364]
    0042424dor r9l, -1
    00424251call fn_423220
    00424256mov esi, eax
    00424259jmp 0x42437e
    0042425e
    0042425eloc_42425e:
    0042425exor ecx, ecx
    00424260mov rdx, [rbp+80]
    00424264mov r8l, [rbp+92]
    00424268call fn_422e50
    0042426djmp 0x42437e
    00424272
    00424272loc_424272:
    00424272cmp [rbp+364], 32
    00424279jg 0x424284
    0042427bcmp [rbp+364], -1
    00424282jne 0x42428e
    00424284
    00424284loc_424284:
    00424284mov [rbp+364], 0
    0042428e
    0042428eloc_42428e:
    0042428emovzx rax, [rbp+362]
    00424296sub ax, 68
    0042429atest ax, ax
    0042429dje 0x4242b3
    0042429fsub ax, 17
    004242a3test ax, ax
    004242a6je 0x4242cb
    004242a8sub ax, 3
    004242actest ax, ax
    004242afjne 0x4242fe
    004242b1jmp 0x4242e3
    004242b3
    004242b3loc_4242b3:
    004242b3lea rcx, [rbp+328]
    004242bamov rax, [rbp+176]
    004242c1mov rdx, [rax]
    004242c4call fn_4225f0
    004242c9jmp 0x42430d
    004242cb
    004242cbloc_4242cb:
    004242cblea rcx, [rbp+328]
    004242d2mov rax, [rbp+176]
    004242d9mov rdx, [rax]
    004242dccall fn_422640
    004242e1jmp 0x42430d
    004242e3
    004242e3loc_4242e3:
    004242e3lea rcx, [rbp+328]
    004242eamov rax, [rbp+176]
    004242f1mov rdx, [rax]
    004242f4xor r8, r8
    004242f7call fn_422880
    004242fcjmp 0x42430d
    004242fe
    004242feloc_4242fe:
    004242fexor ecx, ecx
    00424300mov rdx, [rbp+80]
    00424304mov r8l, [rbp+92]
    00424308call fn_422e50
    0042430d
    0042430dloc_42430d:
    0042430dmov rcx, [rbp+328]
    00424314call fn_40d710
    00424319mov rcx, rbp
    0042431cmov rdx, rax
    0042431for r8l, -1
    00424323or r9l, -1
    00424327call fn_423220
    0042432cmov esi, eax
    0042432fjmp 0x42437e
    00424331
    00424331loc_424331:
    00424331cmp [rbp+362], 83
    00424339jne 0x42436f
    0042433bxor eax, eax
    0042433dmov rcx, [rbp+176]
    00424344test rcx, rcx
    00424347je 0x42434c
    00424349mov eax, [rcx-4]
    0042434c
    0042434cloc_42434c:
    0042434cmov rdx, rbp
    0042434fmov r8, rcx
    00424352mov r9l, [rbp+364]
    00424359mov rcx, rdx
    0042435cmov rdx, r8
    0042435fmov r8l, r9l
    00424362mov r9l, eax
    00424365call fn_423220
    0042436amov esi, eax
    0042436djmp 0x42437e
    0042436f
    0042436floc_42436f:
    0042436fxor ecx, ecx
    00424371mov rdx, [rbp+80]
    00424375mov r8l, [rbp+92]
    00424379call fn_422e50
    0042437e
    0042437eloc_42437e:
    0042437etest sil, sil
    00424381je 0x4243eb
    00424383mov rax, [rbp+344]
    0042438amov rcx, [rbp+72]
    0042438esub rax, rcx
    00424391sar rax, 1
    00424395jns 0x42439b
    00424397adc rax, 0
    0042439b
    0042439bloc_42439b:
    0042439bmov [rbp+116], eax
    0042439ejmp 0x42441d
    004243a0
    004243a0loc_4243a0:
    004243a0cmp [rbp+352], 0
    004243a7jne 0x4243c6
    004243a9mov rax, [rbp+344]
    004243b0mov rcx, [rbp+72]
    004243b4sub rax, rcx
    004243b7sar rax, 1
    004243bbjns 0x4243c1
    004243bdadc rax, 0
    004243c1
    004243c1loc_4243c1:
    004243c1mov [rbp+116], eax
    004243c4jmp 0x42441d
    004243c6
    004243c6loc_4243c6:
    004243c6mov rcx, [rbp+344]
    004243cdmov [rcx], ax
    004243d0mov rax, [rbp+96]
    004243d4add rax, 2
    004243d8mov [rbp+96], rax
    004243dcadd [rbp+344], 2
    004243e4sub [rbp+352], 2
    004243eb
    004243ebloc_4243eb:
    004243ebmov rax, [rbp+120]
    004243efmov rcx, [rbp+96]
    004243f3cmp rcx, rax
    004243f6mov [rbp+96], rcx
    004243fajb 0x42358e
    00424400
    00424400loc_424400:
    00424400nop
    00424401mov rax, [rbp+344]
    00424408mov rcx, [rbp+72]
    0042440csub rax, rcx
    0042440fsar rax, 1
    00424413jns 0x424419
    00424415adc rax, 0
    00424419
    00424419loc_424419:
    00424419mov [rbp+116], eax
    0042441cnop
    0042441d
    0042441dloc_42441d:
    0042441dlea rcx, [rbp+128]
    00424424mov edx, 6
    00424429call fn_40bdd0
    0042442elea rcx, [rbp+328]
    00424435call fn_40bcf0
    0042443amov eax, [rbp+116]
    0042443dlea rsp, [rbp+376]
    00424444pop rbx
    00424445pop rsi
    00424446pop rdi
    00424447pop rbp
    00424448ret
    00423490
    00424449
    00424449 48 8d 80 00 00 00 00 H......
    00424450
    00424450fn_424450:
    00424450push rbp
    00424451push rbx
    00424452sub rsp, 40
    00424456mov rbp, rsp
    00424459mov rbx, rdx
    0042445clea rcx, [rbx+128]
    00424463mov edx, 6
    00424468call fn_40bdd0
    0042446dlea rcx, [rbx+328]
    00424474call fn_40bcf0
    00424479lea rsp, [rbp+40]
    0042447dpop rbx
    0042447epop rbp
    0042447fret
    00424450
    00424480
    00424480 01 00 01 00 b0 04 02 00 ff ff ff ff 03 00 00 00 ................
    00424490 49 00 4e 00 46 00 00 00 b0 04 02 00 ff ff ff ff I.N.F...........
    004244a0 03 00 00 00 4e 00 41 00 4e 00 00 00 b0 04 02 00 ....N.A.N.......
    004244b0 ff ff ff ff 05 00 00 00 24 00 2a 00 40 00 40 00 ........$.*.@.@.
    004244c0 40 00 00 00 b0 04 02 00 ff ff ff ff 05 00 00 00 @...............
    004244d0 2a 00 24 00 40 00 40 00 40 00 00 00 b0 04 02 00 *.$.@.@.@.......
    004244e0 ff ff ff ff 05 00 00 00 24 00 20 00 2a 00 40 00 ........$. .*.@.
    004244f0 40 00 00 00 b0 04 02 00 ff ff ff ff 05 00 00 00 @...............
    00424500 2a 00 20 00 24 00 40 00 40 00 00 00 b0 04 02 00 *. .$.@.@.......
    00424510 ff ff ff ff 05 00 00 00 28 00 24 00 2a 00 29 00 ........(.$.*.).
    00424520 40 00 00 00 b0 04 02 00 ff ff ff ff 05 00 00 00 @...............
    00424530 2d 00 24 00 2a 00 40 00 40 00 00 00 b0 04 02 00 -.$.*.@.@.......
    00424540 ff ff ff ff 05 00 00 00 24 00 2d 00 2a 00 40 00 ........$.-.*.@.
    00424550 40 00 00 00 b0 04 02 00 ff ff ff ff 05 00 00 00 @...............
    00424560 24 00 2a 00 2d 00 40 00 40 00 00 00 b0 04 02 00 $.*.-.@.@.......
    00424570 ff ff ff ff 05 00 00 00 28 00 2a 00 24 00 29 00 ........(.*.$.).
    00424580 40 00 00 00 b0 04 02 00 ff ff ff ff 05 00 00 00 @...............
    00424590 2d 00 2a 00 24 00 40 00 40 00 00 00 b0 04 02 00 -.*.$.@.@.......
    004245a0 ff ff ff ff 05 00 00 00 2a 00 2d 00 24 00 40 00 ........*.-.$.@.
    004245b0 40 00 00 00 b0 04 02 00 ff ff ff ff 05 00 00 00 @...............
    004245c0 2a 00 24 00 2d 00 40 00 40 00 00 00 b0 04 02 00 *.$.-.@.@.......
    004245d0 ff ff ff ff 05 00 00 00 2d 00 2a 00 20 00 24 00 ........-.*. .$.
    004245e0 40 00 00 00 b0 04 02 00 ff ff ff ff 05 00 00 00 @...............
    004245f0 2d 00 24 00 20 00 2a 00 40 00 00 00 b0 04 02 00 -.$. .*.@.......
    00424600 ff ff ff ff 05 00 00 00 2a 00 20 00 24 00 2d 00 ........*. .$.-.
    00424610 40 00 00 00 b0 04 02 00 ff ff ff ff 05 00 00 00 @...............
    00424620 24 00 20 00 2a 00 2d 00 40 00 00 00 b0 04 02 00 $. .*.-.@.......
    00424630 ff ff ff ff 05 00 00 00 24 00 20 00 2d 00 2a 00 ........$. .-.*.
    00424640 40 00 00 00 b0 04 02 00 ff ff ff ff 05 00 00 00 @...............
    00424650 2a 00 2d 00 20 00 24 00 40 00 00 00 b0 04 02 00 *.-. .$.@.......
    00424660 ff ff ff ff 05 00 00 00 28 00 24 00 20 00 2a 00 ........(.$. .*.
    00424670 29 00 00 00 b0 04 02 00 ff ff ff ff 05 00 00 00 )...............
    00424680 28 00 2a 00 20 00 24 00 29 00 00 00 cc cc cc cc (.*. .$.).......
    00424690
    00424690fn_424690:
    00424690push rbp
    00424691mov rbp, rsp
    00424694cmp [rcx+152], 0
    0042469bje 0x4246b4
    0042469dmov rax, [rcx+144]
    004246a4mov [rax], dx
    004246a7lea rax, [rcx+144]
    004246aeadd [rax], 2
    004246b2jmp 0x4246c8
    004246b4
    004246b4loc_4246b4:
    004246b4mov rax, [rcx+144]
    004246bbmov [rax], dl
    004246bdlea rax, [rcx+144]
    004246c4add [rax], 1
    004246c8
    004246c8loc_4246c8:
    004246c8lea rax, [rcx+108]
    004246ccadd [rax], 1
    004246cfmov rsp, rbp
    004246d2pop rbp
    004246d3ret
    00424690
    004246d4
    004246d4 // align 0x10
    004246e0
    004246e0fn_4246e0:
    004246e0push rbp
    004246e1push rdi
    004246e2push rsi
    004246e3push rbx
    004246e4sub rsp, 40
    004246e8mov rbp, rsp
    004246ebmov rbx, rcx
    004246eemov [rbp+88], rdx
    004246f2xor esi, esi
    004246f4mov rcx, [rbp+88]
    004246f8test rcx, rcx
    004246fbje 0x424700
    004246fdmov esi, [rcx-4]
    00424700
    00424700loc_424700:
    00424700test esi, esi
    00424702jle 0x424791
    00424708cmp [rbx+152], 0
    0042470fje 0x424742
    00424711mov rcx, [rbp+88]
    00424715call fn_40d710
    0042471amov rcx, [rbx+144]
    00424721mov edi, esi
    00424723add edi, edi
    00424725mov rdx, rcx
    00424728movsxd r8, edi
    0042472bmov rcx, rax
    0042472ecall fn_405ac0
    00424733lea rax, [rbx+144]
    0042473amovsxd rdi, edi
    0042473dadd [rax], rdi
    00424740jmp 0x42478b
    00424742
    00424742loc_424742:
    00424742xor eax, eax
    00424744test rcx, rcx
    00424747je 0x42474c
    00424749mov eax, [rcx-4]
    0042474c
    0042474cloc_42474c:
    0042474cmov ecx, 1
    00424751mov edx, eax
    00424753mov eax, ecx
    00424755cmp eax, edx
    00424757jg 0x42478a
    00424759sub edx, ecx
    0042475badd edx, 1
    0042475e
    0042475eloc_42475e:
    0042475emov rcx, [rbx+144]
    00424765mov r8, [rbp+88]
    00424769movsxd r9, eax
    0042476cmovzx r8, [r8+2*r9-2]
    00424772mov [rcx], r8b
    00424775lea rcx, [rbx+144]
    0042477cadd [rcx], 1
    00424780add eax, 1
    00424783sub edx, 1
    00424786test edx, edx
    00424788jne 0x42475e
    0042478a
    0042478aloc_42478a:
    0042478anop
    0042478b
    0042478bloc_42478b:
    0042478blea rax, [rbx+108]
    0042478fadd [rax], esi
    00424791
    00424791loc_424791:
    00424791lea rsp, [rbp+40]
    00424795pop rbx
    00424796pop rsi
    00424797pop rdi
    00424798pop rbp
    00424799ret
    004246e0
    0042479a
    0042479a // align 0x10
    004247a0
    004247a0fn_4247a0:
    004247a0push rbp
    004247a1mov rbp, rsp
    004247a4movsxd rax, [rcx+80]
    004247a8movzx rax, [rcx+rax+87]
    004247aemovzx dx, al
    004247b2test dx, dx
    004247b5jne 0x4247bb
    004247b7mov al, 48
    004247b9jmp 0x4247c2
    004247bb
    004247bbloc_4247bb:
    004247bblea rcx, [rcx+80]
    004247bfadd [rcx], 1
    004247c2
    004247c2loc_4247c2:
    004247c2mov rsp, rbp
    004247c5pop rbp
    004247c6ret
    004247a0
    004247c7
    004247c7 // align 0x10
    004247d0
    004247d0fn_4247d0:
    004247d0push rbp
    004247d1push rsi
    004247d2push rbx
    004247d3sub rsp, 32
    004247d7mov rbp, rsp
    004247damov rbx, rcx
    004247ddcmp [rbx+192], 17
    004247e4jle 0x4247ef
    004247e6mov [rbx+76], 17
    004247edjmp 0x4247f8
    004247ef
    004247efloc_4247ef:
    004247efmov eax, [rbx+192]
    004247f5mov [rbx+76], eax
    004247f8
    004247f8loc_4247f8:
    004247f8movsx rsi, [rbx+84]
    004247fdtest esi, esi
    004247ffjle 0x424877
    00424801mov [rbx+72], 0
    00424808cmp [rbx+176], 2
    0042480fje 0x424824
    00424811mov eax, esi
    00424813sub eax, 1
    00424816mov ecx, 3
    0042481bcdq
    0042481cidiv ecx
    0042481eadd edx, 1
    00424821mov [rbx+72], edx
    00424824
    00424824loc_424824:
    00424824mov rcx, rbx
    00424827call fn_4247a0
    0042482cmov rcx, rbx
    0042482fmovzx dx, al
    00424833call fn_424690
    00424838sub esi, 1
    0042483blea rax, [rbx+72]
    0042483fsub [rax], 1
    00424842cmp [rbx+72], 0
    00424846jne 0x424871
    00424848test esi, esi
    0042484ajle 0x424871
    0042484cmov [rbx+72], 3
    00424853mov rax, [rbx+200]
    0042485amovzx rax, [rax+376]
    00424862test ax, ax
    00424865je 0x424871
    00424867mov rcx, rbx
    0042486amov edx, eax
    0042486ccall fn_424690
    00424871
    00424871loc_424871:
    00424871test esi, esi
    00424873jne 0x424824
    00424875jmp 0x424887
    00424877
    00424877loc_424877:
    00424877mov rcx, rbx
    0042487amovzx rdx, [rip+0x38746]
    00424882call fn_424690
    00424887
    00424887loc_424887:
    00424887cmp [rbx+76], 0
    0042488bje 0x4248fa
    0042488dmov rax, [rbx+200]
    00424894movzx rax, [rax+378]
    0042489ctest ax, ax
    0042489fje 0x4248ab
    004248a1mov rcx, rbx
    004248a4mov edx, eax
    004248a6call fn_424690
    004248ab
    004248abloc_4248ab:
    004248abtest esi, esi
    004248adjge 0x4248d3
    004248af
    004248afloc_4248af:
    004248afmov rcx, rbx
    004248b2movzx rdx, [rip+0x3870e]
    004248bacall fn_424690
    004248bfadd esi, 1
    004248c2lea rax, [rbx+76]
    004248c6sub [rax], 1
    004248c9test esi, esi
    004248cbje 0x4248d3
    004248cdcmp [rbx+76], 0
    004248d1jne 0x4248af
    004248d3
    004248d3loc_4248d3:
    004248d3cmp [rbx+76], 0
    004248d7jle 0x4248fa
    004248d9
    004248d9loc_4248d9:
    004248d9mov rcx, rbx
    004248dccall fn_4247a0
    004248e1mov rcx, rbx
    004248e4movzx dx, al
    004248e8call fn_424690
    004248edlea rax, [rbx+76]
    004248f1sub [rax], 1
    004248f4cmp [rbx+76], 0
    004248f8jg 0x4248d9
    004248fa
    004248faloc_4248fa:
    004248falea rsp, [rbp+32]
    004248fepop rbx
    004248ffpop rsi
    00424900pop rbp
    00424901ret
    004247d0