Function at 0x44fd60
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x1c0
mov esi, dword [ebp + 8]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x10], edx
xor edx, edx
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 4
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 4
mov dword [esp + 0x5c], 0
mov eax, dword [esi + 0x34]
mov edi, dword [esi + 0x30]
mov dword [esp + 0x2c], eax
lea eax, [eax + eax*4]
mov dword [esp + 0x1c], edi
shl eax, 4
add eax, edi
mov dword [esp + 0x3c], eax
call 0x44fdcb
pop eax
mov dword [esp + 0x30], eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [esi + 0x24]
mov dword [esp + 0xc], eax
mov eax, dword [esi + 0x28]
mov dword [esp + 4], ecx
mov dword [esp + 0x20], eax
lea eax, [ecx + eax*8]
mov dword [esp + 0x40], eax
mov eax, edi
mov edi, ecx
mov dword [esp + 8], edx
mov edx, dword [esp + 4]
nop dword [eax + eax]
cmp edi, dword [esp + 0x40]
je 0x44fee7
cmp eax, dword [esp + 0x3c]
je 0x454194
add edi, 8
cmp byte [eax + 0x45], 0
lea esi, [eax + 0x50]
mov eax, esi
je 0x44fe00
mov eax, dword [edi - 4]
mov ebx, dword [edi - 8]
mov edx, dword [esp + 0xc]
lea ecx, [esp + 0xd0]
mov dword [esp + 0x18], eax
push eax
push ebx
call fcn.00455090
mov edx, dword [esp + 0xc]
add esp, 8
mov eax, dword [esp + 0xd0]
cmp eax, 0x80000000
je 0x44fee7
mov edx, dword [esp + 0xd8]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x14], eax
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x50]
mov dword [esp + 0x24], ecx
cmp edx, dword [esp + 0x48]
jne 0x44fe90
lea ecx, [esp + 0x48]
call fcn.004c7a80
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x5c]
jmp 0x44fe94
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0x4c]
mov dword [eax + edx*8], ebx
mov ebx, dword [esp + 0x18]
mov dword [eax + edx*8 + 4], ebx
inc edx
mov dword [esp + 0x50], edx
mov edx, ecx
cmp ecx, dword [esp + 0x54]
jne 0x44febd
lea ecx, [esp + 0x54]
call fcn.0045d970
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x58]
mov ebx, dword [esp + 0x14]
lea ecx, [edx + edx*2]
inc edx
mov dword [eax + ecx*4], ebx
mov ebx, dword [esp + 0x28]
mov dword [eax + ecx*4 + 8], ebx
mov ebx, dword [esp + 0x24]
mov dword [eax + ecx*4 + 4], ebx
mov dword [esp + 0x5c], edx
mov eax, esi
jmp 0x44fdf0
mov eax, dword [ebp + 8]
movsd xmm0, qword [esp + 0x58]
mov esi, dword [esp + 0x10]
movq xmm1, qword [esp + 0x50]
mov eax, dword [eax + 0x38]
movsd qword [esp + 0x128], xmm0
movq xmm0, qword [esp + 0x48]
cmp dword [esi], 1
movq qword [esp + 0x120], xmm1
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x38]
movq qword [esp + 0x118], xmm0
mov eax, dword [eax + 0xc]
mov dword [esp + 0x18], eax
jne 0x450131
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x4c]
test eax, eax
je 0x4541ae
mov ebx, dword [esi + 8]
mov edx, dword [esi + 4]
mov edi, dword [ecx + 0x48]
imul esi, eax, 0x134
mov ecx, ebx
mov dword [esp + 0xc], edx
mov dword [esp + 8], ebx
jmp 0x44ff72
add edi, 0x134
add esi, 0xfffffecc
je 0x4541ae
cmp dword [edi + 0x118], ecx
jne 0x44ff60
mov ebx, dword [edi + 0x114]
push ecx
push dword [esp + 0x10]
push ebx
call fcn.007be090
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
add esp, 0xc
test eax, eax
jne 0x44ff60
cmp dword [esp + 0x20], 0
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edi
je 0x4500e4
mov eax, dword [esp + 0x20]
xor esi, esi
lea edi, [eax*8]
jmp 0x44ffca
inc esi
add edi, 0xfffffff8
je 0x4500e4
cmp dword [edx + esi*8 + 4], ecx
jne 0x44ffc0
push ecx
push dword [esp + 0x10]
push dword [edx + esi*8]
call fcn.007be090
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
add esp, 0xc
test eax, eax
jne 0x44ffc0
cmp esi, dword [esp + 0x2c]
jae 0x452ae0
mov eax, dword [esp + 0x1c]
lea ecx, [esi + esi*4]
shl ecx, 4
mov eax, dword [eax + ecx + 0x34]
test eax, eax
je 0x4500d0
mov edx, dword [esp + 0x1c]
xor esi, esi
cmp eax, 8
mov ecx, dword [edx + ecx + 0x30]
mov edx, 0
jb 0x4500ad
mov edx, eax
lea esi, [ecx + 0x5c]
pxor xmm0, xmm0
pxor xmm1, xmm1
and edx, 0xfffffff8
mov edi, edx
nop word cs:[eax + eax]
movd xmm2, dword [esi - 0x30]
movd xmm3, dword [esi - 0x3c]
movd xmm4, dword [esi - 0x54]
movd xmm6, dword [esi - 0xc]
movd xmm5, dword [esi - 0x18]
punpckldq xmm3, xmm2
movd xmm2, dword [esi - 0x48]
punpckldq xmm4, xmm2
movd xmm2, dword [esi]
punpcklqdq xmm4, xmm3
paddd xmm0, xmm4
movd xmm4, dword [esi - 0x24]
add esi, 0x60
add edi, 0xfffffff8
punpckldq xmm6, xmm2
punpckldq xmm4, xmm5
punpcklqdq xmm4, xmm6
paddd xmm1, xmm4
jne 0x450040
paddd xmm1, xmm0
cmp eax, edx
pshufd xmm0, xmm1, 0xee
paddd xmm0, xmm1
pshufd xmm1, xmm0, 0x55
paddd xmm1, xmm0
movd esi, xmm1
je 0x4500c8
sub eax, edx
lea edx, [edx + edx*2]
lea ecx, [ecx + edx*4 + 8]
nop word cs:[eax + eax]
add esi, dword [ecx]
add ecx, 0xc
dec eax
jne 0x4500c0
mov edx, dword [esp + 4]
test esi, esi
jne 0x450131
mov eax, dword [esp + 0x10]
cmp dword [eax + 8], 0
je 0x45429f
cmp dword [eax + 0xc], 0
je 0x450131
mov ecx, dword [esp + 0x10]
xor ebx, ebx
mov edi, 4
cmp dword [ecx + 8], 0
je 0x4500ff
cmp dword [ecx + 0x10], 0
je 0x45108c
cmp dword [ecx + 0x28], 5
lea eax, [ecx + 0x28]
mov edx, 0x80d378
mov esi, dword [esp + 0x30]
cmovne edx, eax
mov eax, 0x93d1f8
mov ecx, dword [edx]
add esi, dword [ecx*4 + 0x4542dc]
mov ecx, 0x80d618
jmp esi
cmp dword [esp + 0x34], 0
je 0x450224
cmp dword [esp + 0x20], 0
je 0x45069f
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x4c]
test ecx, ecx
je 0x450576
mov eax, dword [eax + 0x48]
mov esi, dword [esp + 0x1c]
mov edi, edx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x44], eax
add eax, 0x118
mov dword [esp + 0x24], eax
imul eax, ecx, 0x134
mov dword [esp + 0x28], eax
xor eax, eax
jmp 0x4501a4
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
xor ebx, ebx
add edi, 8
add eax, ebx
add esi, 0x50
cmp edi, dword [esp + 0x40]
je 0x45031a
cmp esi, dword [esp + 0x3c]
je 0x454194
xor ebx, ebx
cmp byte [esi + 0x45], 0
je 0x450192
mov dword [esp + 0x10], esi
mov ecx, dword [edi]
mov dword [esp + 0x14], edi
mov ebx, dword [edi + 4]
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
jmp 0x4501ee
add esi, 0x134
add edi, 0xfffffecc
je 0x450180
cmp dword [esi], ebx
jne 0x4501e0
push ebx
push dword [esp + 0xc]
push dword [esi - 4]
call fcn.007be090
mov edx, dword [esp + 0x10]
add esp, 0xc
test eax, eax
jne 0x4501e0
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov ebx, 1
jmp 0x450192
mov ecx, edx
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x144]
test eax, 0x10000
jne 0x450240
test byte [edx + 0x14a], 1
je 0x4502a6
cmp dword [esp + 0x20], 0
je 0x450545
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x1c]
lea edx, [edi - 1]
lea ebx, [edi*8]
and ecx, 0xfffffff
add esi, 0x45
xor edi, edi
and edx, 0x1fffffff
nop word cs:[eax + eax]
nop dword [eax]
cmp ecx, edx
jbe 0x454194
cmp byte [esi], 1
sbb edi, 0xffffffff
add esi, 0x50
add ebx, 0xfffffff8
jne 0x450280
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x18]
test edi, edi
je 0x450545
test eax, 0x200
jne 0x4502c0
mov eax, dword [esp + 0x18]
mov edx, ecx
test byte [eax + 0x149], 2
je 0x45013c
mov edi, dword [esp + 0x18]
xor eax, eax
cmp dword [edi + 0x98], 0x80000000
sete al
shl eax, 7
mov edx, dword [eax + edi + 0xa0]
mov esi, dword [eax + edi + 0x9c]
test edx, edx
je 0x4525c2
js 0x4541c2
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov ebx, edx
call fcn.0071ee80
test eax, eax
je 0x452628
mov edx, dword [esp + 0x38]
mov ecx, eax
mov edi, dword [edx + 0xc]
mov edx, ebx
jmp 0x4525c7
cmp eax, 2
jb 0x450592
imul eax, ecx, 0x134
mov dword [esp + 0xc], edx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
jmp 0x45035c
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
add ecx, 8
add eax, 0x50
cmp ecx, dword [esp + 0x40]
mov dword [esp + 0xc], ecx
je 0x450592
cmp eax, dword [esp + 0x3c]
je 0x454194
cmp byte [eax + 0x45], 0
mov dword [esp + 0x10], eax
je 0x450340
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x44]
mov ecx, dword [eax]
mov edi, dword [eax + 4]
mov dword [esp + 8], ecx
jmp 0x45039e
add esi, 0x134
add ebx, 0xfffffecc
je 0x450340
cmp dword [esi + 0x118], edi
jne 0x450390
push edi
push dword [esp + 0xc]
push dword [esi + 0x114]
call fcn.007be090
mov edx, dword [esp + 0x10]
add esp, 0xc
test eax, eax
jne 0x450390
test byte [esi + 0x11e], 1
je 0x450340
lea edi, [esp + 0xc8]
lea edx, [esp + 0x48]
mov ecx, esi
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 1
mov dword [esp + 0x64], 0
mov dword [esp + 0x58], 0x20
mov byte [esp + 0x68], 3
mov dword [esp + 0x48], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0x5c], edi
mov dword [esp + 0x60], 0x80d094
call fcn.004308f0
test al, al
jne 0x454261
movsd xmm0, qword [esp + 0xc8]
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 4
mov dword [esp + 0x9c], 0
movsd qword [esp + 0x100], xmm0
mov dword [esp + 0x108], eax
movdqa xmm0, xmmword [0x7d4730]
mov edx, dword [ecx + 0x7c]
mov eax, dword [ecx + 0x78]
mov ecx, 0xffffffff
shl edx, 4
nop word cs:[eax + eax]
nop
test edx, edx
je 0x454002
movdqa xmm1, xmmword [eax]
add eax, 0x10
inc ecx
add edx, 0xfffffff0
pcmpeqb xmm1, xmm0
pmovmskb esi, xmm1
cmp esi, 0xffff
jne 0x4504a0
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 0x88]
cmp ecx, edx
jae 0x4541a4
mov eax, dword [eax + 0x84]
mov edx, dword [eax + ecx*8 + 4]
push dword [eax + ecx*8]
call dword [edx + 0x20]
add esp, 4
mov esi, eax
lea eax, [esp + 0x190]
push esi
push eax
call dword [edx + 0xc]
add esp, 8
test esi, esi
je 0x453d78
mov eax, dword [esp + 0x19c]
mov ecx, dword [esp + 0x198]
mov edx, dword [esp + 0x190]
mov ebx, dword [esp + 0x194]
xor edx, 0xbd8d9362
xor ecx, 0x548bf31
xor ebx, 0x8bb8d775
xor eax, 0x5c5df57b
or ecx, edx
or eax, ebx
or eax, ecx
je 0x454004
jmp 0x453d78
lea esi, [esp + 0x1b0]
mov ecx, esi
push 0
call fcn.00455730
add esp, 4
mov eax, dword [esp + 0x38]
mov ecx, 0xd
mov edx, dword [eax + 0xc]
push esi
call fcn.00455f40
add esp, 4
mov dword [esp + 4], eax
jmp 0x45137f
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x2c]
dec ecx
and eax, 0xfffffff
and ecx, 0x1fffffff
cmp eax, ecx
jbe 0x454194
mov eax, dword [esp + 0x1c]
mov ecx, edx
jmp 0x4505b2
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
cmp ecx, dword [esp + 0x40]
je 0x45069f
cmp eax, dword [esp + 0x3c]
je 0x454194
cmp byte [eax + 0x45], 0
mov dword [esp + 0x14], ecx
lea ecx, [ecx + 8]
mov dword [esp + 0xc], ecx
lea ecx, [eax + 0x50]
mov dword [esp + 0x10], ecx
je 0x4505a0
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x4c]
test eax, eax
je 0x4505a0
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov esi, dword [ebx]
mov edi, dword [ecx + 0x48]
mov dword [esp + 8], esi
mov esi, dword [ebx + 4]
add edi, 0x118
imul ebx, eax, 0x134
jmp 0x45061e
add edi, 0x134
add ebx, 0xfffffecc
je 0x4505a0
cmp dword [edi], esi
jne 0x450610
push esi
push dword [esp + 0xc]
push dword [edi - 4]
call fcn.007be090
mov edx, dword [esp + 0x10]
add esp, 0xc
test eax, eax
jne 0x450610
lea edx, [esp + 0x118]
lea ecx, [esp + 0x150]
push esi
push dword [esp + 0xc]
mov edi, dword [esp + 0x20]
push edi
call fcn.00456140
add esp, 0xc
mov edx, dword [esp + 0x158]
mov eax, dword [esp + 0x154]
test edx, edx
jne 0x4529d1
cmp dword [esp + 0x150], 0
je 0x450689
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 4]
cmp ecx, dword [esp + 0x40]
jne 0x4505b2
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + 0xc]
test byte [eax + 0x145], 0x10
jne 0x4506c5
test byte [eax + 0x149], 0x10
sete al
cmp dword [esp + 0x34], 0
jne 0x4506d2
jmp 0x450763
xor eax, eax
cmp dword [esp + 0x34], 0
je 0x450763
test al, al
jne 0x450763
cmp dword [esp + 0x118], 0
je 0x4506f9
push dword [esp + 0x11c]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edi, dword [esp + 0x12c]
mov eax, dword [esp + 0x128]
test edi, edi
mov dword [esp + 4], eax
je 0x45073a
mov eax, dword [esp + 4]
mov esi, dword [sym.imp.kernel32.dll_HeapFree]
lea ebx, [eax + 4]
jmp 0x450726
add ebx, 0xc
dec edi
je 0x45073a
cmp dword [ebx - 4], 0
je 0x450720
push dword [ebx]
push 0
push dword [0x94bf18]
call esi
jmp 0x450720
cmp dword [esp + 0x124], 0
je 0x450756
push dword [esp + 4]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov dword [esp + 4], 0
jmp 0x451406
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x110], edx
mov dword [esp + 0x114], eax
jmp 0x450780
mov edx, dword [esp + 4]
nop dword [eax + eax]
mov eax, dword [esp + 0x110]
mov edi, dword [esp + 0x114]
cmp eax, dword [esp + 0x40]
je 0x450f31
cmp edi, dword [esp + 0x3c]
je 0x454194
cmp byte [edi + 0x45], 0
lea ecx, [eax + 8]
mov dword [esp + 0x110], ecx
lea ecx, [edi + 0x50]
mov dword [esp + 0x114], ecx
je 0x450780
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x18], edi
mov esi, dword [eax]
mov edi, dword [eax + 4]
mov ecx, dword [ecx + 0xc]
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov ecx, dword [ecx + 0x4c]
test ecx, ecx
je 0x450c40
mov eax, dword [esp + 0xc]
imul esi, ecx, 0x134
mov dword [esp + 0x30], esi
mov ebx, dword [eax + 0x48]
mov dword [esp + 0x28], ebx
jmp 0x450812
add ebx, 0x134
add esi, 0xfffffecc
je 0x450c40
cmp dword [ebx + 0x118], edi
jne 0x450800
push edi
push dword [esp + 0xc]
push dword [ebx + 0x114]
call fcn.007be090
mov edx, dword [esp + 0x10]
add esp, 0xc
test eax, eax
jne 0x450800
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 4
mov dword [esp + 0x88], 0
xor ecx, ecx
mov edx, 4
movzx eax, byte [0x94bfc5]
call fcn.0071ee80
test eax, eax
je 0x45420a
add ebx, 0x114
mov edx, eax
xor esi, esi
mov dword [esp + 0x10], 4
mov dword [eax], ebx
mov dword [esp + 0xa0], 1
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 4
mov dword [esp + 0xd0], 0
movzx ecx, byte [eax + 0x45]
mov edi, dword [eax + 0x3c]
mov eax, dword [eax + 0x40]
mov dword [esp + 0x14c], eax
lea eax, [eax*4]
mov byte [esp + 0xbb], cl
mov dword [esp + 0x90], edi
lea eax, [eax + eax*2]
mov dword [esp + 0xb0], eax
add eax, edi
mov dword [esp + 0x34], eax
lea eax, [edi + 8]
mov dword [esp + 0xb4], eax
mov eax, 1
nop word cs:[eax + eax]
nop dword [eax + eax]
lea ecx, [eax - 1]
test esi, esi
mov dword [esp + 0x24], edx
mov dword [esp + 0x14], esi
mov dword [esp + 0xa8], ecx
mov ecx, dword [esp + 0x10]
mov eax, dword [edx + eax*4 - 4]
mov dword [esp + 0xc], eax
mov eax, esi
je 0x450990
mov eax, dword [esp + 0xc]
xor esi, esi
mov edi, dword [eax + 4]
mov eax, dword [esp + 0x14]
lea ebx, [eax*4]
jmp 0x450957
add esi, 4
cmp ebx, esi
je 0x450990
mov eax, dword [ecx + esi]
cmp dword [eax + 4], edi
jne 0x450950
push edi
mov ecx, dword [esp + 0x10]
push dword [ecx]
push dword [eax]
call fcn.007be090
mov ecx, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
jne 0x450950
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0xa8]
test eax, eax
jne 0x450910
jmp 0x450d97
mov edx, dword [esp + 0x14]
cmp edx, dword [esp + 0x80]
jne 0x4509c0
lea ecx, [esp + 0x80]
call fcn.0075a1c0
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x88]
jmp 0x4509c4
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x10], eax
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x28]
mov dword [eax + edx*4], ecx
inc edx
mov dword [esp + 0x88], edx
mov dword [esp + 0x14], edx
mov eax, dword [ecx]
mov ebx, dword [ecx + 4]
mov dword [esp + 8], eax
jmp 0x450a02
add esi, 0x134
add edi, 0xfffffecc
je 0x450978
cmp dword [esi + 0x118], ebx
jne 0x4509f0
push ebx
push dword [esp + 0xc]
push dword [esi + 0x114]
call fcn.007be090
add esp, 0xc
test eax, eax
jne 0x4509f0
mov eax, dword [esi + 0x68]
mov edx, dword [esp + 0x24]
test eax, eax
je 0x45097c
shl eax, 4
cmp byte [esp + 0xbb], 0
je 0x450a50
mov ecx, dword [esi + 0x64]
add eax, ecx
mov dword [esp + 0x44], eax
jmp 0x450a8a
add eax, 0xfffffff0
jne 0x450a50
jmp 0x45097c
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 8]
mov dword [eax + edx*8], ecx
mov dword [eax + edx*8 + 4], edi
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0xc]
inc edx
mov dword [esp + 0xd0], edx
cmp ecx, eax
je 0x450978
cmp dword [esp + 0x14c], 0
je 0x450b60
mov edx, ecx
cmp dword [edx], 0
lea eax, [edx + 0x10]
mov dword [esp + 0xc], eax
je 0x450b8a
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x34]
mov esi, dword [esp + 0xb0]
mov edi, dword [esp + 0xb4]
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x58], 0
nop word cs:[eax + eax]
nop dword [eax]
mov ecx, dword [edi]
mov eax, dword [edi - 4]
mov ebx, edx
shl ecx, 4
mov dword [esp + 0x50], eax
add ecx, eax
lea eax, [esp + 0x50]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x18]
push eax
call fcn.004396b0
mov edx, ebx
add esp, 4
test al, al
jne 0x450b8a
add edi, 0xc
add esi, 0xfffffff4
jne 0x450ae0
mov eax, dword [esp + 0x34]
mov dword [esp + 0x48], eax
mov dword [esp + 0x50], 0
cmp dword [esp + 0x58], 0
je 0x450b43
mov ecx, dword [esp + 0x18]
mov edx, ebx
lea eax, [esp + 0x58]
push eax
call fcn.004396b0
mov edx, ebx
add esp, 4
test al, al
jne 0x450b8a
mov eax, dword [esp + 0xc]
cmp eax, dword [esp + 0x44]
mov edx, eax
jne 0x450a9a
jmp 0x450978
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x14]
nop dword [eax + eax]
cmp dword [ecx], 0
je 0x450b81
add ecx, 0x10
cmp ecx, eax
jne 0x450b70
jmp 0x450980
mov edx, ecx
lea eax, [ecx + 0x10]
mov dword [esp + 0xc], eax
mov eax, dword [edx + 8]
mov edi, dword [edx + 0xc]
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0x28]
mov dword [esp + 8], eax
jmp 0x450bae
add esi, 0x134
add ebx, 0xfffffecc
je 0x450c12
cmp dword [esi + 0x118], edi
jne 0x450ba0
push edi
push dword [esp + 0xc]
push dword [esi + 0x114]
call fcn.007be090
add esp, 0xc
test eax, eax
jne 0x450ba0
cmp dword [esi + 0x68], 0
je 0x450c12
mov edx, dword [esp + 0xa8]
cmp edx, dword [esp + 0xa0]
jne 0x450bf6
lea ecx, [esp + 0xa0]
call fcn.0075a1c0
mov edx, dword [esp + 0xa8]
mov eax, dword [esp + 0xa4]
add esi, 0x114
mov dword [eax + edx*4], esi
inc edx
mov dword [esp + 0x24], eax
mov dword [esp + 0xa8], edx
mov edx, dword [esp + 0xd0]
cmp edx, dword [esp + 0xc8]
jne 0x450a60
lea ecx, [esp + 0xc8]
call fcn.004c7a80
mov edx, dword [esp + 0xd0]
jmp 0x450a60
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x70]
test eax, eax
je 0x450780
mov ebx, dword [ecx + 0x6c]
shl eax, 4
lea esi, [eax + eax*2]
jmp 0x450c6c
add ebx, 0x30
add esi, 0xffffffd0
je 0x450780
cmp dword [ebx + 0x28], edi
jne 0x450c60
push edi
push dword [esp + 0xc]
push dword [ebx + 0x24]
call fcn.007be090
mov edx, dword [esp + 0x10]
add esp, 0xc
test eax, eax
jne 0x450c60
mov eax, dword [ebx + 0x14]
test eax, eax
je 0x450780
mov ecx, dword [ebx + 0x10]
lea eax, [ecx + eax*8]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x38]
mov edi, dword [eax + 4]
mov edx, dword [eax + 8]
mov eax, edi
jmp 0x450cfa
mov ecx, ebx
call fcn.0043a660
mov ecx, dword [ebx + 4]
mov edx, dword [ebx + 8]
mov esi, dword [esp + 8]
lea eax, [edx + edx*4]
inc edx
mov dword [ecx + eax*4], 0
mov dword [ecx + eax*4 + 4], 4
mov dword [ecx + eax*4 + 8], 0
mov dword [ecx + eax*4 + 0xc], esi
mov dword [ecx + eax*4 + 0x10], edi
mov eax, ecx
mov dword [ebx + 8], edx
mov ecx, dword [esp + 0x14]
add ecx, 8
cmp ecx, dword [esp + 0x24]
je 0x450777
mov esi, dword [ecx]
mov edi, dword [ecx + 4]
test edx, edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], edx
mov dword [esp + 8], esi
je 0x450d80
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x18]
xor ebx, ebx
xor esi, esi
mov dword [esp + 0x10], edi
lea eax, [eax*4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0xc]
jmp 0x450d38
add ebx, 0x14
inc esi
cmp edx, ebx
je 0x450d80
cmp dword [eax + ebx + 0x10], edi
jne 0x450d30
push edi
push dword [esp + 0xc]
push dword [eax + ebx + 0xc]
mov edi, edx
call fcn.007be090
mov edx, edi
mov edi, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
mov eax, dword [esp + 0xc]
jne 0x450d30
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
add ecx, 8
cmp ecx, dword [esp + 0x24]
jne 0x450cfa
jmp 0x450777
mov ebx, dword [esp + 0x38]
mov edx, dword [esp + 0x18]
cmp edx, dword [ebx]
je 0x450cb0
mov ecx, eax
jmp 0x450cbd
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0xcc]
mov esi, dword [esp + 0xd0]
cmp dword [esp + 0xa0], 0
mov dword [esp + 0x30], eax
mov dword [esp + 0x28], ecx
je 0x450dd3
push dword [esp + 0xa4]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esp + 0x80], 0
je 0x450df2
push dword [esp + 0x84]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
test esi, esi
je 0x450f07
mov ecx, dword [esp + 0x28]
lea eax, [ecx + esi*8]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x38]
mov esi, dword [eax + 4]
mov edx, dword [eax + 8]
mov eax, esi
jmp 0x450e6a
mov ecx, esi
call fcn.0043a660
mov ecx, dword [esi + 4]
mov edx, dword [esi + 8]
mov ebx, dword [esp + 8]
lea eax, [edx + edx*4]
inc edx
mov dword [ecx + eax*4], 0
mov dword [ecx + eax*4 + 4], 4
mov dword [ecx + eax*4 + 8], 0
mov dword [ecx + eax*4 + 0xc], ebx
mov dword [ecx + eax*4 + 0x10], edi
mov eax, ecx
mov dword [esi + 8], edx
mov ecx, dword [esp + 0x14]
add ecx, 8
cmp ecx, dword [esp + 0x24]
je 0x450f07
mov esi, dword [ecx]
mov edi, dword [ecx + 4]
test edx, edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], edx
mov dword [esp + 8], esi
je 0x450ef0
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x18]
xor ebx, ebx
xor esi, esi
mov dword [esp + 0x10], edi
lea eax, [eax*4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0xc]
jmp 0x450ea8
add ebx, 0x14
inc esi
cmp edx, ebx
je 0x450ef0
cmp dword [eax + ebx + 0x10], edi
jne 0x450ea0
push edi
push dword [esp + 0xc]
push dword [eax + ebx + 0xc]
mov edi, edx
call fcn.007be090
mov edx, edi
mov edi, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
mov eax, dword [esp + 0xc]
jne 0x450ea0
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
add ecx, 8
cmp ecx, dword [esp + 0x24]
jne 0x450e6a
jmp 0x450f07
mov esi, dword [esp + 0x38]
mov edx, dword [esp + 0x18]
cmp edx, dword [esi]
je 0x450e20
mov ecx, eax
jmp 0x450e2d
cmp dword [esp + 0x30], 0
mov edx, dword [esp + 4]
je 0x450780
push dword [esp + 0x28]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [esp + 4]
jmp 0x450780
cmp dword [esp + 0x20], 0
mov esi, dword [esp + 0x38]
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 4
mov dword [esp + 0x34], 0
mov dword [esp + 0x9c], 0
je 0x451486
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0x4c]
test ecx, ecx
je 0x451412
mov eax, dword [eax + 0x48]
mov dword [esp + 0xc], edx
mov dword [esp + 0x18], eax
imul eax, ecx, 0x134
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
jmp 0x450fc0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x38]
add ecx, 8
add eax, 0x50
cmp ecx, dword [esp + 0x40]
mov dword [esp + 0xc], ecx
je 0x451486
cmp eax, dword [esp + 0x3c]
je 0x454194
cmp byte [eax + 0x45], 0
mov dword [esp + 0x10], eax
je 0x450fa0
mov eax, dword [esp + 0xc]
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov ecx, dword [eax]
mov ebx, dword [eax + 4]
mov dword [esp + 8], ecx
jmp 0x450ffe
add esi, 0x134
add edi, 0xfffffecc
je 0x450fa0
cmp dword [esi + 0x118], ebx
jne 0x450ff0
push ebx
push dword [esp + 0xc]
push dword [esi + 0x114]
call fcn.007be090
mov edx, dword [esp + 0x10]
add esp, 0xc
test eax, eax
jne 0x450ff0
test byte [esi + 0x11e], 1
je 0x450fa0
mov esi, dword [esp + 0x38]
mov al, 1
mov dword [esp + 0xb0], eax
jmp 0x451491
xor edx, edx
lea eax, [ebx*4]
mov ecx, edi
mov dword [esp + 0x1c], ebx
mov dword [esp + 8], edi
mov dword [esp + 0x14], edx
lea eax, [eax + eax*8]
lea esi, [edi + eax]
nop dword [eax]
test eax, eax
je 0x4510f6
add eax, 0xffffffdc
cmp byte [ecx + 0x20], 0
lea edi, [ecx + 0x24]
mov ecx, edi
jne 0x4510b0
mov dword [esp + 4], esi
mov esi, dword [edi - 8]
mov ebx, dword [edi - 0xc]
test esi, esi
je 0x45110a
js 0x4541c2
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, esi
call fcn.0071ee80
test eax, eax
jne 0x45110f
mov ecx, 1
mov edx, esi
call fcn.007c1490
mov edi, 4
xor esi, esi
mov dword [esp + 0x20], 0
jmp 0x451204
mov eax, 1
push esi
push ebx
mov ebx, eax
push eax
call fcn.007bd9b0
add esp, 0xc
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, 0x30
call fcn.0071ee80
test eax, eax
je 0x454282
mov dword [eax], esi
mov dword [eax + 4], ebx
mov dword [eax + 8], esi
mov esi, 1
mov dword [esp + 0x48], 4
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], 1
mov ecx, dword [esp + 4]
mov edx, edi
nop
cmp edx, ecx
je 0x4511f8
cmp byte [edx + 0x20], 0
lea edi, [edx + 0x24]
mov edx, edi
jne 0x451160
mov ebx, dword [edi - 8]
mov ecx, dword [edi - 0xc]
mov dword [esp + 0xc], eax
test ebx, ebx
je 0x4511a8
mov dword [esp + 0x20], ecx
js 0x4541c2
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, ebx
call fcn.0071ee80
mov ecx, dword [esp + 0x20]
test eax, eax
jne 0x4511ad
jmp 0x452628
mov eax, 1
mov dword [esp + 0x20], eax
push ebx
push ecx
push eax
call fcn.007bd9b0
add esp, 0xc
cmp esi, dword [esp + 0x48]
mov eax, dword [esp + 0xc]
je 0x4511e2
mov edx, dword [esp + 0x20]
lea ecx, [esi + esi*2]
inc esi
mov dword [eax + ecx*4], ebx
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], ebx
mov dword [esp + 0x50], esi
jmp 0x451158
lea ecx, [esp + 0x48]
mov edx, esi
push 1
call fcn.007c1aa0
add esp, 4
mov eax, dword [esp + 0x4c]
jmp 0x4511c6
mov eax, dword [esp + 0x48]
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x48]
lea eax, [esp + 0xc8]
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 1
mov dword [esp + 0x64], 0
mov dword [esp + 0x58], 0x20
mov byte [esp + 0x68], 3
mov dword [esp + 0x48], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], 0x80d094
call fcn.004308f0
mov ecx, dword [esp + 0x18]
test al, al
jne 0x454261
mov eax, dword [esp + 0xd0]
movq xmm0, qword [esp + 0xc8]
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 1
mov dword [esp + 0x50], 0
lea edx, [esp + 0x48]
mov dword [esp + 0xa8], eax
lea eax, [esp + 0xa0]
movq qword [esp + 0xa0], xmm0
push eax
push esi
mov dword [esp + 0x14], edi
push edi
call fcn.00430a20
add esp, 0xc
test esi, esi
mov dword [esp + 4], eax
je 0x4512fa
mov eax, dword [esp + 0xc]
mov edi, dword [sym.imp.kernel32.dll_HeapFree]
lea ebx, [eax + 4]
jmp 0x4512e6
add ebx, 0xc
dec esi
je 0x4512fa
cmp dword [ebx - 4], 0
je 0x4512e0
push dword [ebx]
push 0
push dword [0x94bf18]
call edi
jmp 0x4512e0
cmp dword [esp + 0x20], 0
je 0x451313
push dword [esp + 0xc]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ebx, dword [esp + 0x1c]
test ebx, ebx
je 0x451366
mov eax, dword [esp + 8]
mov edi, dword [sym.imp.kernel32.dll_HeapFree]
lea esi, [eax + 0x10]
jmp 0x451355
push dword [esi]
push 0
push dword [0x94bf18]
call edi
cmp dword [esi - 0x10], 0
je 0x45134f
push dword [esi - 0xc]
push 0
push dword [0x94bf18]
call edi
add esi, 0x24
dec ebx
je 0x451366
test dword [esi - 4], 0x7fffffff
jne 0x451330
cmp dword [esi - 0x10], 0
jne 0x451342
jmp 0x45134f
cmp dword [esp + 0x14], 0
je 0x45137f
push dword [esp + 8]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esp + 0x118], 0
je 0x45139e
push dword [esp + 0x11c]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edi, dword [esp + 0x12c]
mov eax, dword [esp + 0x128]
test edi, edi
mov dword [esp + 8], eax
je 0x4513ea
mov eax, dword [esp + 8]
mov esi, dword [sym.imp.kernel32.dll_HeapFree]
lea ebx, [eax + 4]
jmp 0x4513d6
add ebx, 0xc
dec edi
je 0x4513ea
cmp dword [ebx - 4], 0
je 0x4513d0
push dword [ebx]
push 0
push dword [0x94bf18]
call esi
jmp 0x4513d0
cmp dword [esp + 0x124], 0
je 0x451406
push dword [esp + 8]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esp + 4]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, edx
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x2c]
dec edx
and eax, 0xfffffff
and edx, 0x1fffffff
cmp eax, edx
cmovb edx, eax
mov eax, dword [esp + 0x1c]
cmp edx, 0x20
jb 0x451465
inc edx
mov ecx, 0x20
mov eax, edx
and eax, 0x1f
cmovne ecx, eax
sub edx, ecx
mov ecx, dword [esp + 4]
lea eax, [edx + edx*4]
shl eax, 4
add eax, dword [esp + 0x1c]
lea ecx, [ecx + edx*8]
nop word [eax + eax]
add edx, 0xffffffe0
jne 0x451460
mov edx, dword [esp + 4]
add eax, 0xffffffb0
nop dword [eax]
add eax, 0x50
cmp eax, dword [esp + 0x3c]
je 0x454194
add ecx, 8
cmp ecx, dword [esp + 0x40]
jne 0x451470
mov dword [esp + 0xb0], 0
mov eax, dword [esi + 8]
mov ebx, dword [esi + 4]
mov ecx, 4
mov dword [esp + 0xb4], 0
lea eax, [eax + eax*4]
lea eax, [ebx + eax*4]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x20]
lea eax, [eax*8]
mov dword [esp + 0x18], eax
jmp 0x4514e0
mov ecx, dword [esp + 0x98]
mov dword [ecx + edx*8], esi
mov dword [ecx + edx*8 + 4], edi
inc edx
mov dword [esp + 0x34], edx
mov dword [esp + 0x9c], edx
mov edx, eax
nop
cmp dword [esp + 0x20], 0
mov dword [esp + 0x10], ecx
je 0x451580
mov ecx, dword [esp + 0x38]
mov eax, ebx
cmp eax, dword [esp + 0x28]
je 0x4519be
mov ecx, dword [eax + 0xc]
lea ebx, [eax + 0x14]
mov eax, dword [eax + 0x10]
mov edi, dword [esp + 0x18]
xor esi, esi
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
jmp 0x451526
inc esi
add edi, 0xfffffff8
je 0x451570
cmp dword [edx + esi*8 + 4], eax
jne 0x451520
push eax
push dword [esp + 0x10]
push dword [edx + esi*8]
call fcn.007be090
mov edx, dword [esp + 0x10]
add esp, 0xc
test eax, eax
mov eax, dword [esp + 8]
jne 0x451520
cmp esi, dword [esp + 0x2c]
jae 0x452ae0
mov ecx, dword [esp + 0x1c]
lea eax, [esi + esi*4]
shl eax, 4
cmp byte [ecx + eax + 0x45], 0
mov ecx, dword [esp + 0x38]
mov eax, ebx
jne 0x4514f5
jmp 0x45159f
mov ecx, dword [esp + 0x38]
jmp 0x45159f
cmp ebx, dword [esp + 0x28]
mov ecx, dword [esp + 0x38]
je 0x4519be
mov eax, dword [ebx + 0xc]
mov esi, dword [ebx + 0x10]
add ebx, 0x14
mov dword [esp + 0xc], eax
mov dword [esp + 8], esi
mov eax, dword [ecx + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x14], eax
mov eax, dword [eax + 0x4c]
test eax, eax
je 0x451680
mov esi, dword [esp + 0x14]
mov edi, dword [esi + 0x48]
imul esi, eax, 0x134
jmp 0x4515e2
add edi, 0x134
add esi, 0xfffffecc
je 0x451680
mov eax, dword [esp + 8]
cmp dword [edi + 0x118], eax
jne 0x4515d0
mov ebx, dword [edi + 0x114]
push dword [esp + 8]
push dword [esp + 0x10]
push ebx
call fcn.007be090
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
add esp, 0xc
test eax, eax
jne 0x4515d0
mov dword [esp + 0xc], ebx
cmp byte [esp + 0xb0], 0
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x24]
jne 0x4514e0
lea ecx, [esp + 0x48]
lea edx, [esp + 0x118]
push dword [esp + 8]
push dword [esp + 0x10]
push esi
call fcn.00456140
add esp, 0xc
cmp dword [esp + 0x50], 0
mov eax, dword [esp + 0x48]
je 0x451823
test eax, eax
je 0x45166c
push dword [esp + 0x4c]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [esp + 4]
mov ecx, dword [esp + 0x10]
jmp 0x4514e0
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x24]
mov eax, dword [esi + 0x70]
test eax, eax
je 0x4514e0
shl eax, 4
mov edi, dword [esi + 0x6c]
lea esi, [eax + eax*2]
mov eax, dword [esp + 8]
jmp 0x4516bc
add edi, 0x30
add esi, 0xffffffd0
je 0x4514e0
cmp dword [edi + 0x28], eax
jne 0x4516b0
push eax
push dword [esp + 0x10]
push dword [edi + 0x24]
call fcn.007be090
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
add esp, 0xc
test eax, eax
mov eax, dword [esp + 8]
jne 0x4516b0
mov edx, dword [esp + 0x14]
lea eax, [edi + 0x24]
mov dword [esp + 0x44], edi
lea ecx, [esp + 0x48]
push eax
call fcn.00439ae0
mov edx, dword [esp + 8]
add esp, 4
cmp dword [esp + 0x20], 0
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x30], eax
je 0x4517c9
mov eax, dword [esp + 0x50]
test eax, eax
je 0x4517c9
mov ecx, dword [esp + 0x30]
lea eax, [ecx + eax*8]
mov dword [esp + 0x14], eax
mov eax, ecx
jmp 0x45173e
mov eax, dword [esp + 0xc]
cmp eax, dword [esp + 0x14]
je 0x4517c9
mov ecx, dword [eax]
mov ebx, dword [eax + 4]
mov edi, dword [esp + 0x18]
add eax, 8
xor esi, esi
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
jmp 0x451766
inc esi
add edi, 0xfffffff8
je 0x451730
cmp dword [edx + esi*8 + 4], ebx
jne 0x451760
push ebx
push dword [esp + 0xc]
push dword [edx + esi*8]
call fcn.007be090
mov edx, dword [esp + 0x10]
add esp, 0xc
test eax, eax
jne 0x451760
cmp esi, dword [esp + 0x2c]
jae 0x452ae0
mov ecx, dword [esp + 0x1c]
lea eax, [esi + esi*4]
shl eax, 4
cmp byte [ecx + eax + 0x45], 0
je 0x451730
cmp dword [esp + 0x48], 0
je 0x4517bc
push dword [esp + 0x30]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [esp + 4]
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
jmp 0x4514e0
cmp dword [esp + 0x48], 0
je 0x4517e6
push dword [esp + 0x30]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [esp + 4]
mov ecx, dword [esp + 0x44]
mov eax, edx
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x24]
mov esi, dword [ecx + 0x24]
mov edi, dword [ecx + 0x28]
cmp edx, dword [esp + 0x94]
jne 0x4514c2
lea ecx, [esp + 0x94]
call fcn.004c7a80
mov eax, dword [esp + 4]
mov edx, dword [esp + 0x9c]
jmp 0x4514c2
test eax, eax
je 0x451839
push dword [esp + 0x4c]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x70]
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x451925
mov edx, dword [esp + 0x14]
lea eax, [eax + eax*2]
shl eax, 4
mov edx, dword [edx + 0x6c]
add eax, edx
mov dword [esp + 0x90], eax
jmp 0x451873
mov eax, dword [esp + 0x30]
cmp eax, dword [esp + 0x90]
mov edx, eax
je 0x451925
lea eax, [edx + 0x30]
mov esi, dword [edx + 8]
mov dword [esp + 0x44], edx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 8]
test esi, esi
je 0x451860
mov edx, dword [esp + 0x44]
shl esi, 3
mov ebx, dword [edx + 4]
add ebx, 4
jmp 0x4518a8
add ebx, 8
add esi, 0xfffffff8
je 0x451860
cmp dword [ebx], eax
jne 0x4518a0
push eax
push dword [esp + 0x10]
push dword [ebx - 4]
call fcn.007be090
mov ecx, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
mov eax, dword [esp + 8]
jne 0x4518a0
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0x48]
lea edx, [esp + 0x118]
push dword [eax + 0x28]
push dword [eax + 0x24]
push dword [esp + 0x1c]
call fcn.00456140
add esp, 0xc
cmp dword [esp + 0x50], 0
mov eax, dword [esp + 0x48]
jne 0x4519ad
test eax, eax
je 0x45190e
push dword [esp + 0x4c]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x10]
cmp eax, dword [esp + 0x90]
mov edx, eax
jne 0x451873
mov edx, dword [esp + 0x34]
mov esi, dword [edi + 0x114]
mov ebx, dword [edi + 0x118]
cmp edx, dword [esp + 0x94]
jne 0x451958
lea ecx, [esp + 0x94]
call fcn.004c7a80
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x9c]
mov dword [ecx + edx*8], esi
mov dword [ecx + edx*8 + 4], ebx
inc edx
mov eax, dword [esp + 4]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x9c], edx
mov dword [esp + 0x34], edx
test byte [edi + 0x11d], 1
mov edx, eax
jne 0x4514e0
cmp dword [edi + 0x14], 0
je 0x45198f
mov eax, dword [edi + 0x18]
mov esi, ecx
jmp 0x451993
mov esi, ecx
xor eax, eax
mov ecx, dword [esp + 0xb4]
cmp ecx, eax
cmovbe ecx, eax
mov dword [esp + 0xb4], ecx
mov ecx, esi
jmp 0x4514e0
mov ebx, dword [esp + 0x24]
test eax, eax
jne 0x45165a
jmp 0x45166c
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + 0x48]
imul eax, dword [eax + 0x4c], 0x134
add eax, ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x20]
lea eax, [eax*8]
mov dword [esp + 0x10], eax
jmp 0x451a17
mov eax, dword [esp + 0x98]
mov dword [eax + edx*8], esi
mov dword [eax + edx*8 + 4], edi
inc edx
mov dword [esp + 0x9c], edx
mov dword [esp + 0x34], edx
test byte [ebx + 0x11d], 1
je 0x451ff9
mov ecx, dword [esp + 0x24]
cmp dword [esp + 0x20], 0
je 0x451ae0
mov esi, dword [esp + 0x38]
mov eax, ecx
cmp eax, dword [esp + 0x44]
je 0x45201e
mov ecx, eax
mov edi, dword [esp + 0x10]
add eax, 0x134
xor esi, esi
mov edx, dword [ecx + 0x114]
mov dword [esp + 0x14], ecx
mov ebx, dword [ecx + 0x118]
mov ecx, dword [esp + 4]
mov dword [esp + 0x24], eax
mov dword [esp + 8], edx
jmp 0x451a76
inc esi
add edi, 0xfffffff8
je 0x451ad0
cmp dword [ecx + esi*8 + 4], ebx
jne 0x451a70
push ebx
push dword [esp + 0xc]
push dword [ecx + esi*8]
call fcn.007be090
mov ecx, dword [esp + 0x10]
add esp, 0xc
test eax, eax
jne 0x451a70
cmp esi, dword [esp + 0x2c]
jae 0x452ae0
mov ecx, dword [esp + 0x1c]
lea eax, [esi + esi*4]
mov esi, dword [esp + 0x38]
shl eax, 4
cmp byte [ecx + eax + 0x45], 0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
jne 0x451a2c
jmp 0x451af4
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
jmp 0x451af4
cmp ecx, dword [esp + 0x44]
mov esi, dword [esp + 0x38]
je 0x45201e
lea eax, [ecx + 0x134]
mov dword [esp + 0x24], eax
mov eax, dword [ecx + 0x74]
mov dword [esp + 0x14], ecx
test eax, eax
je 0x451c90
mov ecx, dword [ecx + 0x70]
mov edx, dword [esp + 4]
shl eax, 4
mov dword [esp + 0x30], 0
add eax, ecx
mov dword [esp + 0x18], eax
jmp 0x451b43
mov al, 1
mov dword [esp + 0x30], eax
nop word [eax + eax]
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
add ecx, 0x10
cmp ecx, eax
je 0x451c9c
cmp dword [esp + 0x20], 0
mov eax, dword [ecx + 8]
mov dword [esp + 0xc], ecx
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], ecx
je 0x451b30
mov eax, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
xor esi, esi
mov ecx, dword [eax]
mov ebx, dword [eax + 4]
mov dword [esp + 8], ecx
jmp 0x451b86
inc esi
add edi, 0xfffffff8
je 0x451b30
cmp dword [edx + esi*8 + 4], ebx
jne 0x451b80
push ebx
push dword [esp + 0xc]
push dword [edx + esi*8]
call fcn.007be090
mov edx, dword [esp + 0x10]
add esp, 0xc
test eax, eax
jne 0x451b80
cmp esi, dword [esp + 0x2c]
jae 0x452ae0
mov eax, dword [esp + 0x1c]
lea ecx, [esi + esi*4]
shl ecx, 4
cmp byte [eax + ecx + 0x45], 0
je 0x451b30
mov eax, dword [esp + 0x1c]
mov dword [esp + 8], ecx
lea ebx, [esp + 0x50]
mov edi, dword [eax + ecx + 0x3c]
mov eax, dword [eax + ecx + 0x40]
lea ecx, [eax + eax*2]
test eax, eax
mov dword [esp + 0x48], edi
lea ecx, [edi + ecx*4]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x58], 0
je 0x451b30
mov ecx, dword [esp + 8]
shl eax, 2
add edi, 8
lea esi, [eax + eax*2]
add ecx, dword [esp + 0x1c]
mov dword [esp + 8], ecx
nop
mov ecx, dword [edi]
mov eax, dword [edi - 4]
lea edx, [esp + 0xc8]
shl ecx, 4
mov dword [esp + 0x50], eax
add ecx, eax
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 8]
push ebx
call fcn.004396b0
mov edx, dword [esp + 8]
add esp, 4
test al, al
jne 0x451b21
add edi, 0xc
add esi, 0xfffffff4
jne 0x451c10
mov eax, dword [esp + 0x28]
mov dword [esp + 0x48], eax
mov dword [esp + 0x50], 0
cmp dword [esp + 0x58], 0
je 0x451b30
mov ecx, dword [esp + 8]
lea edx, [esp + 0xc8]
lea eax, [esp + 0x58]
push eax
call fcn.004396b0
mov edx, dword [esp + 8]
add esp, 4
test al, al
jne 0x451b21
jmp 0x451b30
mov edx, dword [esp + 4]
mov dword [esp + 0x30], 0
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x80]
test ecx, ecx
je 0x451e30
cmp dword [esp + 0x20], 0
mov dword [esp + 0xc], ecx
je 0x451e20
mov esi, dword [eax + 0x7c]
mov eax, ecx
shl eax, 4
add eax, esi
mov dword [esp + 0x28], eax
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
mov edi, dword [esp + 0x10]
mov eax, esi
lea eax, [esi + 0x10]
mov dword [esp + 0x18], eax
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], edx
mov edx, dword [esp + 4]
mov ecx, dword [esi]
mov ebx, dword [esi + 4]
xor esi, esi
mov dword [esp + 8], ecx
jmp 0x451d0a
inc esi
add edi, 0xfffffff8
je 0x451e20
cmp dword [edx + esi*8 + 4], ebx
jne 0x451d00
push ebx
push dword [esp + 0xc]
push dword [edx + esi*8]
call fcn.007be090
mov edx, dword [esp + 0x10]
add esp, 0xc
test eax, eax
jne 0x451d00
cmp esi, dword [esp + 0x2c]
jae 0x452ae0
mov eax, dword [esp + 0x1c]
lea esi, [esi + esi*4]
shl esi, 4
cmp byte [eax + esi + 0x45], 0
je 0x451e20
mov eax, dword [esp + 0x1c]
mov ebx, dword [eax + esi + 0x3c]
mov eax, dword [eax + esi + 0x40]
lea ecx, [eax + eax*2]
test eax, eax
mov dword [esp + 0x48], ebx
lea ecx, [ebx + ecx*4]
mov dword [esp + 0x4c], ecx
mov dword [esp + 8], ecx
mov dword [esp + 0x58], 0
je 0x451e20
add esi, dword [esp + 0x1c]
shl eax, 2
add ebx, 8
lea edi, [eax + eax*2]
nop word cs:[eax + eax]
nop dword [eax]
mov ecx, dword [ebx]
mov eax, dword [ebx - 4]
lea edx, [esp + 0xc8]
shl ecx, 4
mov dword [esp + 0x50], eax
add ecx, eax
lea eax, [esp + 0x50]
mov dword [esp + 0x54], ecx
mov ecx, esi
push eax
call fcn.004396b0
mov edx, dword [esp + 8]
add esp, 4
test al, al
jne 0x451dfd
add ebx, 0xc
add edi, 0xfffffff4
jne 0x451d90
mov eax, dword [esp + 8]
mov dword [esp + 0x48], eax
mov dword [esp + 0x50], 0
cmp dword [esp + 0x58], 0
je 0x451e20
lea edx, [esp + 0xc8]
lea eax, [esp + 0x58]
mov ecx, esi
push eax
call fcn.004396b0
mov edx, dword [esp + 8]
add esp, 4
test al, al
je 0x451e20
mov esi, dword [esp + 0x18]
xor ebx, ebx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
cmp esi, dword [esp + 0x28]
jne 0x451ccb
jmp 0x451e32
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov bl, 1
jmp 0x451e32
xor ebx, ebx
test ecx, ecx
mov ecx, dword [eax + 0x8c]
mov eax, dword [eax + 0x98]
mov dword [esp + 0x28], ebx
sete byte [esp + 0x90]
test ecx, ecx
je 0x451e60
test eax, eax
jne 0x451e68
jmp 0x451f0c
test eax, eax
je 0x451f9f
cmp dword [esp + 0x20], 0
mov dword [esp + 0xc], ecx
je 0x451f00
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx + 0x94]
lea eax, [ecx + eax*8]
mov dword [esp + 0x18], eax
cmp ecx, dword [esp + 0x18]
je 0x451f9f
mov edi, dword [ecx]
mov ebx, dword [esp + 0x10]
lea eax, [ecx + 8]
xor esi, esi
mov dword [esp + 0xb0], eax
mov dword [esp + 8], edi
mov edi, dword [ecx + 4]
jmp 0x451eb6
inc esi
add ebx, 0xfffffff8
je 0x451f00
cmp dword [edx + esi*8 + 4], edi
jne 0x451eb0
push edi
push dword [esp + 0xc]
push dword [edx + esi*8]
call fcn.007be090
mov edx, dword [esp + 0x10]
add esp, 0xc
test eax, eax
jne 0x451eb0
cmp esi, dword [esp + 0x2c]
jae 0x452ae0
mov ecx, dword [esp + 0x1c]
lea eax, [esi + esi*4]
shl eax, 4
cmp byte [ecx + eax + 0x45], 0
mov ecx, dword [esp + 0xb0]
jne 0x451e88
nop word cs:[eax + eax]
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x451fc0
cmp dword [esp + 0x20], 0
je 0x451fc0
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x88]
mov dword [esp + 0xc], eax
lea eax, [eax + ecx*8]
mov dword [esp + 0x18], eax
jmp 0x451f3e
mov eax, dword [esp + 0xc]
cmp eax, dword [esp + 0x18]
je 0x451fc0
mov eax, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
xor esi, esi
mov ecx, dword [eax]
mov ebx, dword [eax + 4]
add eax, 8
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
jmp 0x451f66
inc esi
add edi, 0xfffffff8
je 0x451f30
cmp dword [edx + esi*8 + 4], ebx
jne 0x451f60
push ebx
push dword [esp + 0xc]
push dword [edx + esi*8]
call fcn.007be090
mov edx, dword [esp + 0x10]
add esp, 0xc
test eax, eax
jne 0x451f60
cmp esi, dword [esp + 0x2c]
jae 0x452ae0
mov ecx, dword [esp + 0x1c]
lea eax, [esi + esi*4]
shl eax, 4
cmp byte [ecx + eax + 0x45], 0
je 0x451f30
movzx ecx, byte [esp + 0x90]
or cl, byte [esp + 0x28]
test byte [esp + 0x30], 1
sete al
test cl, al
jne 0x451a17
nop dword [eax + eax]
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x34]
mov esi, dword [ebx + 0x114]
mov edi, dword [ebx + 0x118]
cmp edx, dword [esp + 0x94]
jne 0x4519f0
lea ecx, [esp + 0x94]
call fcn.004c7a80
mov edx, dword [esp + 0x9c]
jmp 0x4519f0
cmp dword [ebx + 0x14], 0
je 0x452004
mov eax, dword [ebx + 0x18]
jmp 0x452006
xor eax, eax
mov ecx, dword [esp + 0xb4]
cmp ecx, eax
cmovbe ecx, eax
mov dword [esp + 0xb4], ecx
jmp 0x451a17
mov eax, dword [esi + 0xc]
test byte [eax + 0x144], 0x10
jne 0x4521bc
test byte [eax + 0x148], 0x10
jne 0x4521bc
mov ecx, dword [eax + 0x4c]
test ecx, ecx
je 0x4521bc
mov edi, dword [eax + 0x48]
imul eax, ecx, 0x134
add eax, edi
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x34]
mov edx, dword [eax + 0x24]
mov esi, dword [eax + 0x28]
mov eax, dword [eax + 0x30]
mov dword [esp + 0x30], ecx
mov ecx, edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x44], eax
lea eax, [esi*8]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x28], eax
mov dword [esp + 0x10], ecx
jmp 0x45209e
mov edi, dword [esp + 0x14]
cmp edi, dword [esp + 0x24]
je 0x453197
cmp dword [edi + 0x120], 0
lea eax, [edi + 0x134]
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], eax
jne 0x452090
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x34], 0x110000
jne 0x452090
mov esi, dword [esp + 0x18]
cmp dword [esp + 0x2c], 0
mov eax, dword [esi + 0x114]
mov dword [esp + 8], eax
mov eax, dword [esi + 0x118]
mov dword [esp + 0xc], eax
je 0x452140
mov edi, dword [esp + 0x28]
xor ebx, ebx
jmp 0x4520f6
inc ebx
add edi, 0xfffffff8
je 0x452140
cmp dword [ecx + ebx*8 + 4], eax
jne 0x4520f0
push eax
push dword [esp + 0xc]
push dword [ecx + ebx*8]
mov esi, edx
call fcn.007be090
mov ecx, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
mov eax, dword [esp + 0xc]
mov edx, esi
jne 0x4520f0
cmp ebx, dword [esp + 0x30]
jae 0x45419e
mov edx, dword [esp + 0x44]
lea eax, [ebx + ebx*4]
shl eax, 4
cmp byte [edx + eax + 0x45], 0
mov edx, esi
jne 0x452090
nop dword [eax]
mov esi, dword [esp + 0x18]
cmp dword [esi + 0x14], 0
je 0x452156
mov eax, dword [esp + 0xb4]
cmp dword [esi + 0x18], eax
jae 0x4521a8
cmp edx, dword [esp + 0x94]
jne 0x452176
lea ecx, [esp + 0x94]
call fcn.004c7a80
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x9c]
mov eax, dword [esp + 0x98]
mov esi, dword [esp + 8]
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 0x14]
mov dword [eax + edx*8], esi
mov dword [eax + edx*8 + 4], ebx
inc edx
mov dword [esp + 0x9c], edx
cmp edi, dword [esp + 0x24]
mov esi, dword [esp + 0x38]
jne 0x45209e
jmp 0x4521c0
mov edi, dword [esp + 0x14]
cmp edi, dword [esp + 0x24]
mov esi, dword [esp + 0x38]
jne 0x45209e
jmp 0x4521c0
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x94]
test edx, edx
je 0x4531aa
mov ecx, dword [esi + 0xc]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x34], edx
movdqa xmm0, xmmword [0x7d4730]
mov edx, dword [ecx + 0x7c]
mov dword [esp + 0x44], eax
mov eax, dword [ecx + 0x78]
mov dword [esp + 0xc], ecx
mov ecx, 0xffffffff
shl edx, 4
nop word cs:[eax + eax]
nop dword [eax]
test edx, edx
je 0x4522b1
movdqa xmm1, xmmword [eax]
add eax, 0x10
inc ecx
add edx, 0xfffffff0
pcmpeqb xmm1, xmm0
pmovmskb esi, xmm1
cmp esi, 0xffff
jne 0x452210
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0x88]
cmp ecx, edx
jae 0x4541a4
mov eax, dword [eax + 0x84]
mov edx, dword [eax + ecx*8 + 4]
push dword [eax + ecx*8]
call dword [edx + 0x20]
add esp, 4
mov esi, eax
lea eax, [esp + 0x170]
push esi
push eax
call dword [edx + 0xc]
add esp, 8
test esi, esi
je 0x453d78
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x178]
mov edx, dword [esp + 0x170]
mov edi, dword [esp + 0x174]
xor edx, 0xbd8d9362
xor ecx, 0x548bf31
xor edi, 0x8bb8d775
xor eax, 0x5c5df57b
or ecx, edx
or eax, edi
or eax, ecx
je 0x4522b3
jmp 0x453d78
xor esi, esi
mov ecx, dword [esp + 0xc]
test esi, esi
mov eax, 0x8a84f4
lea edx, [esp + 0xbc]
cmovne eax, esi
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], ecx
lea ecx, [esp + 0x48]
push dword [ebp + 8]
push dword [esp + 0x38]
push dword [esp + 0x4c]
call fcn.004381f0
add esp, 0xc
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x90], eax
test edx, edx
mov eax, ecx
mov dword [esp + 0x28], ecx
je 0x452698
lea edx, [edx + edx*2]
lea esi, [ecx + 0x10]
mov ebx, ecx
lea eax, [ecx + edx*4]
lea edx, [edx*4 - 0xc]
mov dword [esp + 0x30], eax
jmp 0x45237d
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x2c]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x30]
add edx, 0xfffffff4
add esi, 0xc
movq xmm0, qword [esp + 0xc8]
cmp ebx, eax
movq qword [ecx], xmm0
mov ecx, dword [esp + 0x28]
je 0x452698
mov edi, dword [ebx]
lea ecx, [ebx + 0xc]
cmp edi, 0x80000000
mov dword [esp + 0x10], edi
je 0x45264e
mov dword [esp + 0x24], edx
mov edx, dword [ebx + 4]
mov dword [esp + 0x14], ebx
mov ebx, dword [ebx + 8]
lea eax, [esp + 0xa0]
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 1
mov dword [esp + 0x64], 0
mov dword [esp + 0x58], 0x20
mov byte [esp + 0x68], 3
mov dword [esp + 0x48], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0xa8], 0
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], 0x80d094
mov dword [esp + 0x38], edx
test ebx, ebx
je 0x4524b0
xor eax, eax
mov cl, 0xc
mov dword [esp + 8], edx
jmp 0x452430
cmp bl, 0x7f
jne 0x452492
inc eax
mov ebx, edx
cmp edx, eax
je 0x452580
mov esi, dword [esp + 8]
mov edx, ebx
movzx edi, cl
movzx ebx, byte [esi + eax]
movzx esi, bl
mov bh, byte [esi + 0x80c024]
test bh, bh
jne 0x452456
mov ecx, edi
shl ecx, 8
mov bh, byte [ecx + esi + 0x80c024]
mov cl, bh
shr bh, 4
and cl, 0xf
test cl, cl
movzx ecx, cl
cmove ecx, edi
cmp bh, 5
je 0x452480
movzx esi, bh
cmp esi, 0xc
je 0x452420
cmp esi, 0xf
jne 0x452425
jmp 0x452492
add esi, 0xfffffff7
cmp esi, 0x17
ja 0x452425
mov edi, 0x80001b
bt edi, esi
jae 0x452425
mov ebx, edx
cmp eax, edx
mov edx, dword [esp + 8]
ja 0x4541e8
add edx, eax
sub ebx, eax
mov eax, ebx
jne 0x4524be
jmp 0x452550
xor eax, eax
add edx, eax
sub ebx, eax
mov eax, ebx
je 0x452550
xor eax, eax
jmp 0x4524da
cmp cl, 0xbf
jg 0x452544
inc eax
cmp ebx, eax
je 0x452540
movzx ecx, byte [edx + eax]
movzx esi, cl
mov ch, byte [esi + 0x80c024]
test ch, ch
je 0x452510
shr ch, 4
cmp ch, 5
je 0x45251e
movzx esi, ch
cmp esi, 0xf
je 0x4524d5
cmp esi, 0xc
jne 0x4524d0
cmp cl, 0x7f
jne 0x4524d5
jmp 0x452544
mov ch, byte [esi + str.PPPPPPPPPPPPPPPPPPPPPPPP]
shr ch, 4
cmp ch, 5
jne 0x4524f3
add esi, 0xfffffff7
cmp esi, 0x17
ja 0x4524d0
mov edi, 0x80001b
bt edi, esi
jb 0x4524d5
jmp 0x4524d0
mov eax, ebx
jmp 0x452550
cmp eax, ebx
ja 0x454219
nop dword [eax]
test eax, eax
je 0x452580
mov esi, eax
sub ebx, eax
lea ecx, [esp + 0x48]
add esi, edx
push eax
call fcn.004646a0
add esp, 4
test al, al
mov edx, esi
je 0x452405
jmp 0x4541c7
mov eax, dword [esp + 0xa8]
movsd xmm0, qword [esp + 0xa0]
cmp dword [esp + 0x10], 0
mov dword [esp + 0xd0], eax
movsd qword [esp + 0xc8], xmm0
je 0x452340
push dword [esp + 0x38]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x452340
mov ecx, 1
mov dword [esp + 0x40], edx
push edx
push esi
mov dword [esp + 0x44], ecx
push ecx
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [edi + 0x64]
test eax, eax
je 0x452634
mov edx, dword [edi + 0x60]
mov dword [esp + 8], eax
mov ebx, dword [edx + 0x120]
mov ecx, dword [edx + 0x28]
mov edi, dword [edx + 0x11c]
mov esi, dword [edx + 0x24]
mov dword [esp + 0x14], edx
test ebx, ebx
mov dword [esp + 4], ecx
je 0x452af0
js 0x4541c2
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, ebx
call fcn.0071ee80
test eax, eax
jne 0x452af5
mov ecx, 1
mov edx, ebx
call fcn.007c1490
mov ebx, 4
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
jmp 0x452cd2
cmp eax, ecx
je 0x452692
mov ecx, 0xaaaaaaab
mov eax, edx
mul ecx
mov eax, esi
mov esi, edx
shr esi, 3
jmp 0x452676
add eax, 0xc
dec esi
je 0x452692
cmp dword [eax - 4], 0
je 0x452670
push dword [eax]
push 0
push dword [0x94bf18]
mov edi, eax
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, edi
jmp 0x452670
mov ecx, dword [esp + 0x28]
mov eax, ebx
sub eax, ecx
mov esi, 0xaaaaaaab
mul esi
mov eax, dword [esp + 0x90]
mov dword [esp + 0x2c], edx
shl eax, 2
lea eax, [eax + eax*2]
mul esi
cmp dword [esp + 0x20], 0
mov dword [esp + 0x24], edx
je 0x45277a
mov eax, dword [esp + 4]
jmp 0x4526de
mov eax, dword [esp + 4]
cmp eax, dword [esp + 0x40]
je 0x45277a
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [esp + 0x3c]
je 0x454194
cmp byte [ecx + 0x45], 0
lea edx, [eax + 8]
mov dword [esp + 4], edx
lea edx, [ecx + 0x50]
mov dword [esp + 0x1c], edx
je 0x4526d0
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x4c]
test ecx, ecx
je 0x4526d0
mov edx, dword [esp + 0xc]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
mov esi, dword [edx + 0x48]
mov dword [esp + 8], edi
imul edi, ecx, 0x134
jmp 0x45273e
add esi, 0x134
add edi, 0xfffffecc
je 0x4526d0
cmp dword [esi + 0x118], ebx
jne 0x452730
push ebx
push dword [esp + 0xc]
push dword [esi + 0x114]
call fcn.007be090
add esp, 0xc
test eax, eax
jne 0x452730
test byte [esi + 0x11c], 4
jne 0x4526d0
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 4]
xor edx, edx
jmp 0x452798
mov eax, dword [esp + 0x44]
xor edi, edi
mov edx, dword [eax]
mov ebx, dword [eax + 4]
lea ecx, [eax + 8]
mov eax, dword [esp + 0x34]
dec eax
mov dword [esp + 8], edx
mov dl, 1
and eax, 0x1fffffff
cmp eax, 4
mov esi, 3
cmovae esi, eax
cmp esi, 0xffffffe
ja 0x4541c2
mov dword [esp + 4], edx
lea edx, [esi*8 + 8]
mov dword [esp + 0x18], ecx
test edx, edx
js 0x4541c2
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov dword [esp + 0x10], edx
call fcn.0071ee80
test eax, eax
je 0x454291
mov edx, eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x44]
inc esi
cmp byte [esp + 4], 0
mov dword [esp + 0x14], edx
mov dword [edx], eax
mov eax, dword [esp + 0x34]
mov dword [edx + 4], ebx
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], 1
lea eax, [ecx + eax*8]
mov dword [esp + 0x20], eax
je 0x45288f
mov edx, dword [esp + 0x18]
cmp edx, eax
je 0x452f8c
mov edi, eax
mov ecx, 1
sub edi, edx
add edi, 0xfffffff8
jmp 0x452854
mov eax, dword [esp + 0x14]
add edi, 0xfffffff8
mov dword [eax + ecx*8], esi
lea esi, [edx + ecx*8 - 8]
mov dword [eax + ecx*8 + 4], ebx
inc ecx
add esi, 8
mov dword [esp + 0x50], ecx
cmp esi, dword [esp + 0x20]
je 0x452f91
mov esi, dword [edx + ecx*8 - 8]
mov ebx, dword [edx + ecx*8 - 4]
cmp ecx, dword [esp + 0x48]
jne 0x452830
mov dword [esp + 0x10], ecx
mov eax, edi
lea ecx, [esp + 0x48]
mov edx, dword [esp + 0x10]
shr eax, 3
inc eax
push eax
call fcn.007cb080
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
add esp, 4
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x14], eax
jmp 0x452830
mov ecx, edi
mov edi, 1
jmp 0x4528e0
mov eax, dword [esp + 0x20]
mov dword [esp + 4], ecx
lea ecx, [esp + 0x48]
mov edx, edi
sub eax, dword [esp + 0x18]
shr eax, 3
inc eax
push eax
call fcn.007cb080
mov ecx, dword [esp + 8]
add esp, 4
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x14], eax
nop word cs:[eax + eax]
nop dword [eax]
mov eax, dword [esp + 0x14]
mov dword [eax + edi*8], esi
mov dword [eax + edi*8 + 4], ebx
inc edi
mov dword [esp + 0x50], edi
test ecx, ecx
mov dword [esp + 0x10], edi
jne 0x452914
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0x20]
je 0x4529c8
mov edi, dword [esp + 0x10]
xor ecx, ecx
mov esi, dword [eax]
mov ebx, dword [eax + 4]
add eax, 8
mov dword [esp + 0x18], eax
cmp edi, dword [esp + 0x48]
jne 0x4528d0
jmp 0x452898
mov ecx, dword [esp + 4]
cmp ecx, dword [esp + 0x40]
je 0x4528e8
mov eax, ecx
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [esp + 0x3c]
je 0x454194
cmp byte [ecx + 0x45], 0
lea edx, [eax + 8]
mov dword [esp + 4], edx
lea edx, [ecx + 0x50]
mov dword [esp + 0x1c], edx
je 0x452910
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x4c]
test ecx, ecx
je 0x452910
mov edx, dword [esp + 0xc]
mov ebx, dword [eax + 4]
imul edi, ecx, 0x134
mov esi, dword [edx + 0x48]
mov edx, dword [eax]
mov dword [esp + 8], ebx
jmp 0x45297e
add esi, 0x134
add edi, 0xfffffecc
je 0x452910
cmp dword [esi + 0x118], ebx
jne 0x452970
push ebx
push edx
push dword [esi + 0x114]
mov ebx, edx
call fcn.007be090
mov edx, ebx
mov ebx, dword [esp + 0x14]
add esp, 0xc
test eax, eax
jne 0x452970
test byte [esi + 0x11c], 4
jne 0x452910
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 4]
mov esi, edx
cmp edi, dword [esp + 0x48]
jne 0x4528d0
jmp 0x452898
mov ecx, dword [esp + 0x10]
jmp 0x452f91
mov esi, dword [esp + 0x14]
mov dword [esp + 0x28], edx
mov ecx, dword [esi]
mov esi, dword [esi + 4]
mov dword [esp + 0xd0], 0
mov dword [esp + 0xe0], 0
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], 4
mov dword [esp + 0x164], 0
mov dword [esp + 8], ecx
mov ecx, eax
lea eax, [eax + edx*8]
lea edx, [esp + 0xc8]
mov dword [esp + 0xf0], ecx
mov dword [esp + 0x2c], ecx
lea ecx, [esp + 0x15c]
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], edi
mov dword [esp + 0xc8], ecx
lea ecx, [esp + 0x48]
mov dword [esp + 0xcc], edi
call fcn.00456450
cmp dword [esp + 0x48], 0x80000000
jne 0x4531cc
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], 4
mov dword [esp + 0x138], 0
test eax, eax
je 0x452aaf
cmp dword [esp + 0xd8], 0
je 0x452aaf
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esp + 0xe0]
test eax, eax
je 0x45335e
cmp dword [esp + 0xe8], 0
je 0x45335e
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x45335e
mov edx, dword [esp + 0x2c]
mov ecx, esi
push 0x8a8474
call fcn.007c1be0
mov eax, 1
mov dword [esp + 0xc], ebx
push ebx
push edi
mov dword [esp + 0x18], eax
push eax
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [esp + 4]
mov edi, 3
cmp eax, 4
cmovae edi, eax
cmp edi, 0xaaaaaa9
ja 0x4541c2
lea eax, [edi*4 + 4]
lea ebx, [eax + eax*2]
test ebx, ebx
js 0x4541c2
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, ebx
call fcn.0071ee80
test eax, eax
je 0x4542b3
imul ecx, dword [esp + 8], 0x16c
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0xc]
inc edi
add ecx, edx
add edx, 0x16c
mov dword [eax], ebx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 4]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x10], 0x14
lea ecx, [ecx + ecx*2]
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [esp + 0x48], edi
mov edi, 1
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], 1
lea ecx, [esi + ecx*4]
mov dword [esp + 0x1c], ecx
jmp 0x452bf1
mov esi, 1
push ebx
push edi
push esi
call fcn.007bd9b0
add esp, 0xc
mov edi, dword [esp + 8]
mov eax, dword [esp + 0xc]
cmp edi, dword [esp + 0x48]
je 0x452c92
mov ecx, dword [esp + 0x10]
inc edi
mov dword [eax + ecx - 8], ebx
mov dword [eax + ecx - 4], esi
mov esi, dword [esp + 4]
mov dword [eax + ecx], ebx
add ecx, 0xc
mov dword [esp + 0x50], edi
mov dword [esp + 0x10], ecx
cmp esi, dword [esp + 0x1c]
mov dword [esp + 0xc], eax
mov dword [esp + 8], edi
je 0x452c20
lea eax, [esi + 0xc]
mov dword [esp + 4], eax
lea eax, [esi + 4]
mov ebx, dword [eax]
mov edi, dword [esi]
test ebx, ebx
jne 0x452c6d
jmp 0x452bb0
mov eax, dword [esp + 0x14]
test eax, eax
je 0x452cbf
cmp eax, dword [esp + 0x20]
je 0x452cbf
mov edx, eax
lea esi, [eax + 0x11c]
add eax, 0x120
mov ecx, dword [edx + 0x28]
mov edi, dword [edx + 0x24]
add edx, 0x16c
mov dword [esp + 0x14], edx
lea ecx, [ecx + ecx*2]
mov dword [esp + 4], edi
lea ecx, [edi + ecx*4]
mov dword [esp + 0x1c], ecx
mov ebx, dword [eax]
mov edi, dword [esi]
test ebx, ebx
je 0x452bb0
js 0x4541c2
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, ebx
call fcn.0071ee80
mov esi, eax
test eax, eax
jne 0x452bb5
jmp 0x452628
mov eax, dword [esp + 0x1c]
mov ecx, 0xaaaaaaab
sub eax, dword [esp + 4]
mul ecx
lea ecx, [esp + 0x48]
mov eax, edx
mov edx, edi
shr eax, 3
inc eax
push eax
call fcn.007c1aa0
add esp, 4
mov eax, dword [esp + 0x4c]
jmp 0x452bd2
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x48]
mov ebx, dword [esp + 0x4c]
mov edi, dword [ecx + 0xc]
mov dword [esp + 0xc], eax
mov edx, dword [edi + 0x7c]
mov eax, dword [edi + 0x78]
movdqa xmm0, xmmword [0x7d4730]
mov ecx, 0xffffffff
mov dword [esp + 4], ebx
shl edx, 4
nop dword [eax]
test edx, edx
je 0x452d8d
movdqa xmm1, xmmword [eax]
add eax, 0x10
inc ecx
add edx, 0xfffffff0
pcmpeqb xmm1, xmm0
pmovmskb esi, xmm1
cmp esi, 0xffff
jne 0x452cf0
mov edx, dword [edi + 0x88]
cmp ecx, edx
jae 0x4541a4
mov eax, dword [edi + 0x84]
mov edx, dword [eax + ecx*8 + 4]
push dword [eax + ecx*8]
call dword [edx + 0x20]
add esp, 4
mov esi, eax
lea eax, [esp + 0x1a0]
push esi
push eax
call dword [edx + 0xc]
add esp, 8
test esi, esi
je 0x453d78
mov eax, dword [esp + 0x1ac]
mov ecx, dword [esp + 0x1a8]
mov edx, dword [esp + 0x1a0]
mov ebx, dword [esp + 0x1a4]
xor edx, 0xbd8d9362
xor ecx, 0x548bf31
xor ebx, 0x8bb8d775
xor eax, 0x5c5df57b
or ecx, edx
or eax, ebx
or eax, ecx
je 0x452d8f
jmp 0x453d78
xor esi, esi
mov ecx, dword [esp + 0x38]
test esi, esi
mov eax, 0x8a84f4
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 1
mov dword [esp + 0xbc], edi
mov dword [esp + 0x88], 0
cmovne eax, esi
lea esi, [esp + 0x48]
mov dword [esp + 0xc0], eax
mov edx, esi
mov dword [esp + 0xc4], ecx
lea ecx, [eax + 0x1c]
movq xmm0, qword [eax + 0x1c]
movq xmm1, qword [eax + 0x22]
mov byte [esp + 0x48], 3
mov byte [esp + 0x4c], 3
mov byte [esp + 0x50], 3
mov word [esp + 0x54], 0
movq qword [esp + 0xa6], xmm1
movq qword [esp + 0xa0], xmm0
call fcn.00432310
mov ecx, 0x93d1f8
mov edx, str.e_0m
test al, al
lea edi, [esp + 0x80]
mov dword [esp + 0x48], 0x80e984
mov dword [esp + 0x4c], 3
mov dword [esp + 0x58], 0
cmovne edx, ecx
xor al, 1
mov ecx, edi
movzx eax, al
mov dword [esp + 0x94], edx
mov edx, 0x80d168
shl eax, 2
mov dword [esp + 0x98], eax
lea eax, [esp + 0xa0]
mov dword [esp + 0xc8], eax
lea eax, [esp + 0x94]
mov dword [esp + 0xcc], 0x41c4a0
mov dword [esp + 0xd0], eax
lea eax, [esp + 0xc8]
mov dword [esp + 0xd4], 0x41c480
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], 2
push esi
call fcn.00464980
add esp, 4
lea ecx, [esp + 0xbc]
mov edx, edi
push 0
push 0x93d1f8
call fcn.004335c0
add esp, 8
mov ecx, edi
call fcn.00433f20
mov eax, dword [esp + 0x84]
mov edi, dword [esp + 0x80]
mov ecx, 0xa
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x1c], eax
call fcn.00431900
mov edx, dword [esp + 0x18]
mov ecx, eax
mov ebx, eax
call fcn.00431a10
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov byte [esp + 0x48], 0
mov byte [esp + 0x4c], 2
lea esi, [esp + 0x48]
mov edx, esi
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0xc]
mov byte [esp + 0x5c], 3
mov byte [esp + 0x60], 3
mov ecx, ebx
mov dword [esp + 0x64], eax
mov eax, dword [esp + 4]
mov dword [esp + 4], ebx
mov dword [esp + 0x68], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x6c], eax
call fcn.0043f920
cmp edi, 0x80000000
je 0x45137f
mov eax, dword [esp + 0x10]
mov dword [esp + 0x4c], edi
mov ecx, dword [esp + 4]
mov edx, 0xf
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x54], eax
mov byte [esp + 0x48], 4
push esi
call fcn.006f02f0
add esp, 4
jmp 0x45137f
mov ecx, 1
mov esi, dword [esp + 0x2c]
shr dword [esp + 0x24], 3
mov dword [esp + 0x10], ecx
shr esi, 3
cmp dword [esp + 0xb0], 0
je 0x452fbd
push dword [esp + 0x44]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 1
mov dword [esp + 0x88], 0
mov ebx, dword [esp + 0x4c]
lea edx, [esp + 0x48]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc0]
movq xmm0, qword [eax + 0x1c]
movq xmm1, qword [eax + 0x22]
lea ecx, [eax + 0x1c]
mov byte [esp + 0x48], 3
mov byte [esp + 0x4c], 3
mov byte [esp + 0x50], 3
mov word [esp + 0x54], 0
movq qword [esp + 0xa6], xmm1
movq qword [esp + 0xa0], xmm0
call fcn.00432310
mov ecx, 0x93d1f8
mov edx, str.e_0m
test al, al
mov dword [esp + 0x48], 0x80e984
mov dword [esp + 0x4c], 3
mov dword [esp + 0x58], 0
lea edi, [esp + 0x80]
cmovne edx, ecx
xor al, 1
mov ecx, edi
movzx eax, al
mov dword [esp + 0x100], edx
mov edx, 0x80d168
shl eax, 2
mov dword [esp + 0x104], eax
lea eax, [esp + 0xa0]
mov dword [esp + 0xc8], eax
lea eax, [esp + 0x100]
mov dword [esp + 0xcc], 0x41c4a0
mov dword [esp + 0xd0], eax
lea eax, [esp + 0xc8]
mov dword [esp + 0xd4], 0x41c480
mov dword [esp + 0x50], eax
lea eax, [esp + 0x48]
mov dword [esp + 0x54], 2
push eax
call fcn.00464980
add esp, 4
lea ecx, [esp + 0xbc]
mov edx, edi
push dword [esp + 0x10]
mov dword [esp + 0x14], ebx
push ebx
call fcn.004335c0
add esp, 8
mov ecx, edi
call fcn.00433f20
mov eax, dword [esp + 0x84]
mov edi, dword [esp + 0x80]
mov ecx, 9
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x1c], eax
call fcn.00431900
mov edx, dword [esp + 0xc]
mov ecx, eax
mov ebx, eax
call fcn.00431a10
mov eax, dword [esp + 0x24]
mov byte [esp + 0x48], 1
mov byte [esp + 0x4c], 3
mov ecx, ebx
mov dword [esp + 4], ebx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], esi
lea esi, [esp + 0x48]
mov edx, esi
call fcn.0044f580
cmp edi, 0x80000000
je 0x453183
mov eax, dword [esp + 0x18]
mov dword [esp + 0x4c], edi
mov ecx, dword [esp + 4]
mov edx, 0xf
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x54], eax
mov byte [esp + 0x48], 4
push esi
call fcn.006f02f0
add esp, 4
cmp dword [esp + 8], 0
je 0x45137f
push dword [esp + 0x10]
jmp 0x451371
mov esi, dword [esp + 0x38]
mov eax, dword [esp + 0x94]
test edx, edx
jne 0x4521cf
test eax, eax
je 0x4506da
push dword [esp + 0x98]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4506da
mov dword [esp + 0xc], esi
xor ecx, ecx
mov edx, 0x30
movzx eax, byte [0x94bfc5]
call fcn.0071ee80
test eax, eax
je 0x454282
mov ecx, dword [esp + 0x50]
mov esi, eax
mov ebx, 1
mov edi, 0xc
mov dword [eax + 8], ecx
movsd xmm0, qword [esp + 0x48]
movsd qword [eax], xmm0
mov dword [esp + 0x80], 4
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], 1
movsd xmm1, qword [esp + 0xe8]
movsd xmm2, qword [esp + 0xe0]
mov eax, dword [esp + 0xf8]
movsd xmm0, qword [esp + 0xf0]
movsd qword [esp + 0x68], xmm1
movsd xmm1, qword [esp + 0xd8]
movsd qword [esp + 0x60], xmm2
movq xmm2, qword [esp + 0xc8]
mov dword [esp + 0x78], eax
movsd qword [esp + 0x70], xmm0
movsd qword [esp + 0x58], xmm1
movq xmm1, qword [esp + 0xd0]
movq qword [esp + 0x48], xmm2
movq qword [esp + 0x50], xmm1
jmp 0x4532b6
mov eax, dword [esp + 0xa8]
inc ebx
mov esi, ecx
mov dword [ecx + edi + 8], eax
movq xmm0, qword [esp + 0xa0]
movq qword [ecx + edi], xmm0
mov dword [esp + 0x88], ebx
add edi, 0xc
lea ecx, [esp + 0xa0]
lea edx, [esp + 0x48]
call fcn.00456450
cmp dword [esp + 0xa0], 0x80000000
je 0x4532fa
cmp ebx, dword [esp + 0x80]
mov ecx, esi
jne 0x453290
lea ecx, [esp + 0x80]
mov edx, ebx
push 1
call fcn.007c1aa0
add esp, 4
mov ecx, dword [esp + 0x84]
jmp 0x453290
mov eax, dword [esp + 0x50]
test eax, eax
je 0x453318
cmp dword [esp + 0x58], 0
je 0x453318
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esp + 0x60]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0xc]
test eax, eax
je 0x45333e
cmp dword [esp + 0x68], 0
je 0x45333e
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
movq xmm0, qword [esp + 0x80]
mov eax, dword [esp + 0x88]
movq qword [esp + 0x130], xmm0
mov dword [esp + 0x138], eax
mov edi, dword [edi + 0x4c]
test edi, edi
je 0x4541f6
mov eax, dword [esp + 0x18]
imul ebx, edi, 0x134
mov eax, dword [eax + 0x48]
mov dword [esp + 0x10], eax
jmp 0x453391
add eax, 0x134
add ebx, 0xfffffecc
je 0x4541f6
cmp dword [eax + 0x118], esi
jne 0x453380
push esi
push dword [esp + 0xc]
push dword [eax + 0x114]
mov dword [esp + 0x18], eax
call fcn.007be090
add esp, 0xc
test eax, eax
mov eax, dword [esp + 0xc]
jne 0x453380
imul eax, edi, 0x134
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x2c]
add eax, 4
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x28]
lea eax, [eax*8]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 4]
jmp 0x4533fe
mov eax, dword [esp + 4]
cmp eax, dword [esp + 0x40]
je 0x4537d7
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [esp + 0x3c]
je 0x454194
cmp byte [ecx + 0x45], 0
lea edx, [eax + 8]
mov dword [esp + 4], edx
lea edx, [ecx + 0x50]
mov dword [esp + 0x1c], edx
je 0x4533f0
mov ecx, dword [eax]
mov edi, dword [eax + 4]
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov dword [esp + 8], ecx
jmp 0x45344e
add ebx, 0x134
add esi, 0xfffffecc
je 0x4533f0
cmp dword [ebx + 0x118], edi
jne 0x453440
push edi
push dword [esp + 0xc]
push dword [ebx + 0x114]
call fcn.007be090
add esp, 0xc
test eax, eax
jne 0x453440
test byte [ebx + 0x11c], 4
jne 0x4533f0
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
jmp 0x453498
add ebx, 8
add esi, 0xfffffff8
je 0x4534b5
cmp dword [ebx], edi
jne 0x453490
push edi
push dword [esp + 0xc]
push dword [ebx - 4]
call fcn.007be090
add esp, 0xc
test eax, eax
jne 0x453490
jmp 0x4533f0
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, 0x20
call fcn.0071ee80
test eax, eax
je 0x4542bf
mov ecx, dword [esp + 8]
mov dword [esp + 0x10], eax
mov dword [eax], ecx
mov dword [eax + 4], edi
mov dword [esp + 0x48], 4
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x50], 1
cmp eax, dword [esp + 0x40]
je 0x453642
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x14], 1
add ecx, 4
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x28]
lea ecx, [ecx*8]
mov dword [esp + 0x24], ecx
jmp 0x45355e
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
cmp esi, dword [esp + 0x48]
je 0x453629
mov ecx, dword [esp + 8]
mov dword [esp + 0x10], eax
mov dword [eax + esi*8], ecx
mov dword [eax + esi*8 + 4], edi
inc esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x50], esi
nop dword [eax]
mov eax, dword [esp + 4]
cmp eax, dword [esp + 0x40]
je 0x453642
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [esp + 0x3c]
je 0x454194
cmp byte [ecx + 0x45], 0
lea edx, [eax + 8]
mov dword [esp + 4], edx
lea edx, [ecx + 0x50]
mov dword [esp + 0x1c], edx
je 0x453550
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x4c]
test ecx, ecx
je 0x453550
mov edx, dword [esp + 0x18]
mov esi, dword [eax]
mov edi, dword [eax + 4]
mov ebx, dword [edx + 0x48]
mov dword [esp + 8], esi
imul esi, ecx, 0x134
jmp 0x4535be
add ebx, 0x134
add esi, 0xfffffecc
je 0x453550
cmp dword [ebx + 0x118], edi
jne 0x4535b0
push edi
push dword [esp + 0xc]
push dword [ebx + 0x114]
call fcn.007be090
add esp, 0xc
test eax, eax
jne 0x4535b0
test byte [ebx + 0x11c], 4
jne 0x453550
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
jmp 0x45360c
add ebx, 8
add esi, 0xfffffff8
je 0x453523
cmp dword [ebx], edi
jne 0x453600
push edi
push dword [esp + 0xc]
push dword [ebx - 4]
call fcn.007be090
add esp, 0xc
test eax, eax
jne 0x453600
jmp 0x453550
lea ecx, [esp + 0x48]
mov edx, esi
push 1
call fcn.007cb080
add esp, 4
mov eax, dword [esp + 0x4c]
jmp 0x453535
mov ecx, dword [esp + 0x50]
movq xmm0, qword [esp + 0x48]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x108], ecx
movq qword [esp + 0x100], xmm0
mov eax, dword [esp + 0x104]
test eax, eax
mov dword [esp + 4], eax
je 0x4537fc
test ecx, ecx
je 0x4537fc
mov eax, ecx
mov ecx, dword [esp + 4]
mov edx, dword [edi + 0x48]
lea ebx, [ecx + eax*8]
shl eax, 3
mov dword [esp + 0x14], edx
mov edx, dword [edi + 0x4c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x3c], ebx
imul esi, edx, 0x134
mov dword [esp + 0x30], edx
add eax, 4
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x28]
lea eax, [eax*8]
mov dword [esp + 0x90], eax
jmp 0x4536da
mov ebx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x30]
cmp ecx, ebx
je 0x45417a
mov eax, ecx
add ecx, 8
test edx, edx
je 0x4536d2
mov edx, dword [eax]
mov esi, dword [eax + 4]
mov edi, dword [esp + 0x40]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x20], ecx
mov dword [esp + 8], edx
jmp 0x45370e
add ebx, 0x134
add edi, 0xfffffecc
je 0x4536c6
cmp dword [ebx + 0x118], esi
jne 0x453700
push esi
push dword [esp + 0xc]
push dword [ebx + 0x114]
call fcn.007be090
add esp, 0xc
test eax, eax
jne 0x453700
mov eax, dword [ebx + 0x68]
mov edx, dword [ebx + 0x64]
mov ecx, eax
shl ecx, 4
add ecx, edx
test eax, eax
mov dword [esp + 0x24], ecx
je 0x4536c6
mov ecx, dword [esp + 0x1c]
mov edi, dword [edx + 8]
lea eax, [edx + 0x10]
xor esi, esi
mov dword [esp + 0x34], edx
mov dword [esp + 8], eax
mov dword [esp + 0x10], edi
mov edi, dword [edx + 0xc]
jmp 0x453767
add esi, 8
cmp ecx, esi
je 0x45378f
mov eax, dword [esp + 4]
cmp dword [eax + esi + 4], edi
jne 0x453760
push edi
push dword [esp + 0x14]
mov eax, dword [esp + 0xc]
push dword [eax + esi]
call fcn.007be090
mov ecx, dword [esp + 0x28]
add esp, 0xc
test eax, eax
jne 0x453760
jmp 0x4537c4
mov esi, dword [esp + 0x90]
mov ebx, dword [esp + 0x44]
jmp 0x4537a8
add ebx, 8
add esi, 0xfffffff8
je 0x453813
cmp dword [ebx], edi
jne 0x4537a0
push edi
push dword [esp + 0x14]
push dword [ebx - 4]
call fcn.007be090
mov ecx, dword [esp + 0x28]
add esp, 0xc
test eax, eax
jne 0x4537a0
mov edx, dword [esp + 8]
cmp edx, dword [esp + 0x24]
jne 0x453746
jmp 0x4536c6
mov edi, dword [esp + 0x18]
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 4
mov dword [esp + 0x108], 0
mov dword [esp + 4], 4
mov dword [esp + 8], 0
xor ebx, ebx
jmp 0x453cbc
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 4]
mov ebx, dword [esp + 0x3c]
mov ecx, dword [esp + 8]
lea esi, [esp + 0x100]
add eax, 8
mov dword [esp + 4], eax
mov eax, ebx
mov edi, 3
sub eax, edx
shr eax, 3
cmp eax, 4
cmovae edi, eax
cmp edi, 0xffffffe
ja 0x4541c2
mov dword [esp + 0x1c], edx
lea edx, [edi*8 + 8]
mov dword [esp + 0x14], esi
mov dword [esp + 8], ecx
test edx, edx
js 0x4541c2
mov eax, dword [esp + 4]
xor ecx, ecx
mov esi, dword [eax + 4]
movzx eax, byte [0x94bfc5]
mov dword [esp + 4], edx
call fcn.0071ee80
test eax, eax
je 0x4542ce
mov ecx, dword [esp + 0x10]
add dword [esp + 0x2c], 4
shl dword [esp + 0x28], 3
inc edi
mov dword [esp + 0x10], 1
mov dword [eax], ecx
mov dword [eax + 4], esi
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], 1
jmp 0x4538eb
mov eax, dword [esp + 0x34]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x3c]
cmp eax, dword [esp + 0x48]
je 0x453c81
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x40]
mov dword [eax + esi*8], edx
mov dword [eax + esi*8 + 4], edi
inc esi
mov dword [esp + 0x10], esi
mov dword [esp + 0x50], esi
cmp dword [esp + 0x14], 0
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 8]
mov esi, dword [esp + 0x1c]
je 0x453c0f
test edx, edx
mov dword [esp + 0x40], eax
je 0x4539d3
cmp edx, dword [esp + 0x24]
je 0x4539d3
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x453b92
mov eax, dword [eax + 4]
shl ecx, 3
mov dword [esp + 0x34], ecx
add eax, 4
mov dword [esp + 0x30], eax
mov eax, edx
mov edx, dword [edx + 8]
mov esi, dword [esp + 0x30]
mov ebx, ecx
mov edi, dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 8], eax
mov dword [esp + 4], edx
jmp 0x453968
add esi, 8
add ebx, 0xfffffff8
je 0x453983
cmp dword [esi], edi
jne 0x453960
push edi
push edx
push dword [esi - 4]
call fcn.007be090
mov edx, dword [esp + 0x10]
add esp, 0xc
test eax, eax
jne 0x453960
jmp 0x4539b5
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
jmp 0x45399c
add ebx, 8
add esi, 0xfffffff8
je 0x4538c1
cmp dword [ebx], edi
jne 0x453990
push edi
push edx
push dword [ebx - 4]
call fcn.007be090
mov edx, dword [esp + 0x10]
add esp, 0xc
test eax, eax
jne 0x453990
mov edx, dword [esp + 8]
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x3c]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
cmp edx, dword [esp + 0x24]
jne 0x453938
mov eax, dword [esp + 0x20]
xor edx, edx
test eax, eax
je 0x453b88
cmp eax, ebx
je 0x453bf4
mov eax, dword [edi + 0x4c]
test eax, eax
je 0x453bfa
imul eax, eax, 0x134
mov ecx, dword [edi + 0x48]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 8], ecx
jmp 0x453a1b
mov ebx, dword [esp + 0x3c]
mov eax, dword [esp + 0x20]
cmp eax, ebx
je 0x453c95
mov ecx, dword [eax]
mov ebx, dword [eax + 4]
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 8]
add eax, 8
mov dword [esp + 0x20], eax
mov dword [esp + 4], ecx
jmp 0x453a4e
add edi, 0x134
add esi, 0xfffffecc
je 0x453a0b
cmp dword [edi + 0x118], ebx
jne 0x453a40
push ebx
push dword [esp + 8]
push dword [edi + 0x114]
call fcn.007be090
add esp, 0xc
test eax, eax
jne 0x453a40
mov eax, dword [edi + 0x68]
mov edx, dword [edi + 0x64]
mov ecx, eax
shl ecx, 4
add ecx, edx
test eax, eax
mov dword [esp + 0x24], ecx
je 0x453a0b
mov eax, dword [esp + 0x14]
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x453b33
mov esi, dword [eax + 4]
shl ebx, 3
mov dword [esp + 0x44], ebx
add esi, 4
mov dword [esp + 0x90], esi
mov eax, edx
mov edx, dword [edx + 8]
mov edi, dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0x34], eax
mov dword [esp + 4], edx
jmp 0x453ac8
add esi, 8
add ebx, 0xfffffff8
je 0x453ae3
cmp dword [esi], edi
jne 0x453ac0
push edi
push edx
push dword [esi - 4]
call fcn.007be090
mov edx, dword [esp + 0x10]
add esp, 0xc
test eax, eax
jne 0x453ac0
jmp 0x453b15
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
jmp 0x453afc
add ebx, 8
add esi, 0xfffffff8
je 0x4538b9
cmp dword [ebx], edi
jne 0x453af0
push edi
push edx
push dword [ebx - 4]
call fcn.007be090
mov edx, dword [esp + 0x10]
add esp, 0xc
test eax, eax
jne 0x453af0
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x44]
mov esi, dword [esp + 0x90]
cmp edx, dword [esp + 0x24]
jne 0x453aa5
jmp 0x453a0b
mov eax, edx
mov edx, dword [edx + 8]
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
mov edi, dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0x34], eax
mov dword [esp + 4], edi
jmp 0x453b5c
add ebx, 8
add esi, 0xfffffff8
je 0x4538b9
cmp dword [ebx], edi
jne 0x453b50
push edi
push edx
push dword [ebx - 4]
mov edi, edx
call fcn.007be090
mov edx, edi
mov edi, dword [esp + 0x10]
add esp, 0xc
test eax, eax
jne 0x453b50
mov edx, dword [esp + 0x34]
cmp edx, dword [esp + 0x24]
jne 0x453b33
jmp 0x453a0b
mov dword [esp + 0x20], 0
jmp 0x453c0b
mov eax, edx
mov edx, dword [edx + 8]
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
mov edi, dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 8], eax
mov dword [esp + 4], edi
jmp 0x453bbc
add esi, 8
add ebx, 0xfffffff8
je 0x4538c1
cmp dword [esi], edi
jne 0x453bb0
push edi
push edx
push dword [esi - 4]
mov edi, edx
call fcn.007be090
mov edx, edi
mov edi, dword [esp + 0x10]
add esp, 0xc
test eax, eax
jne 0x453bb0
mov edx, dword [esp + 8]
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x3c]
mov esi, dword [esp + 0x1c]
cmp edx, dword [esp + 0x24]
jne 0x453b92
jmp 0x4539d3
mov dword [esp + 0x20], ebx
jmp 0x453c0b
mov ecx, dword [esp + 0x20]
mov eax, ebx
sub eax, ecx
and eax, 0xfffffff8
add ecx, eax
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x40]
test esi, esi
je 0x453ca8
cmp esi, ebx
je 0x453ca8
mov dword [esp + 8], edx
mov ecx, eax
lea eax, [esi + 8]
mov edx, dword [esi]
mov edi, dword [esi + 4]
mov esi, dword [esp + 0x10]
mov dword [esp + 0x14], 0
mov dword [esp + 0x1c], eax
mov eax, ecx
cmp esi, dword [esp + 0x48]
jne 0x4538db
mov ecx, dword [esp + 0x1c]
mov eax, ebx
sub eax, ecx
shr eax, 3
mov dword [esp + 4], edx
inc eax
mov edx, esi
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x48]
push eax
call fcn.007cb080
mov edx, dword [esp + 8]
add esp, 4
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1c], ecx
jmp 0x4538db
xor ecx, ecx
cmp dword [esp + 0x1c], 0
mov esi, dword [esp + 0x10]
mov eax, 0
jne 0x453c49
jmp 0x453c54
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
xor edx, edx
mov dword [esp + 0x20], ebx
jmp 0x453c0b
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x10]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov edx, dword [edi + 0x7c]
mov eax, dword [edi + 0x78]
movdqa xmm0, xmmword [0x7d4730]
mov ecx, 0xffffffff
shl edx, 4
nop word cs:[eax + eax]
nop dword [eax]
test edx, edx
je 0x453d82
movdqa xmm1, xmmword [eax]
add eax, 0x10
inc ecx
add edx, 0xfffffff0
pcmpeqb xmm1, xmm0
pmovmskb esi, xmm1
cmp esi, 0xffff
jne 0x453ce0
mov edx, dword [edi + 0x88]
cmp ecx, edx
jae 0x4541a4
mov eax, dword [edi + 0x84]
mov edx, dword [eax + ecx*8 + 4]
push dword [eax + ecx*8]
call dword [edx + 0x20]
add esp, 4
mov esi, eax
lea eax, [esp + 0x180]
push esi
push eax
call dword [edx + 0xc]
add esp, 8
test esi, esi
je 0x453d78
mov eax, dword [esp + 0x18c]
mov edi, dword [esp + 0x184]
mov ecx, dword [esp + 0x188]
mov edx, dword [esp + 0x180]
xor edi, 0x8bb8d775
xor eax, 0x5c5df57b
xor edx, 0xbd8d9362
xor ecx, 0x548bf31
or eax, edi
mov edi, dword [esp + 0x18]
or ecx, edx
or eax, ecx
je 0x453d84
mov ecx, 0x8a86f4
call fcn.007c1fe0
xor esi, esi
mov ecx, dword [esp + 0x38]
test esi, esi
mov eax, 0x8a84f4
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 1
mov dword [esp + 0x94], edi
mov dword [esp + 0xc4], 0
cmovne eax, esi
lea esi, [esp + 0x48]
mov dword [esp + 0x98], eax
mov edx, esi
mov dword [esp + 0x9c], ecx
lea ecx, [eax + 0x1c]
movsd xmm0, qword [eax + 0x1c]
movsd xmm1, qword [eax + 0x22]
mov byte [esp + 0x48], 3
mov byte [esp + 0x4c], 3
mov byte [esp + 0x50], 3
mov word [esp + 0x54], 0
movsd qword [esp + 0x86], xmm1
movsd qword [esp + 0x80], xmm0
call fcn.00432310
mov ecx, 0x93d1f8
mov edx, str.e_0m
test al, al
lea edi, [esp + 0xbc]
mov dword [esp + 0x48], 0x80e984
mov dword [esp + 0x4c], 3
mov dword [esp + 0x58], 0
cmovne edx, ecx
xor al, 1
mov ecx, edi
movzx eax, al
mov dword [esp + 0x168], edx
mov edx, 0x80d168
shl eax, 2
mov dword [esp + 0x16c], eax
lea eax, [esp + 0x80]
mov dword [esp + 0xa0], eax
lea eax, [esp + 0x168]
mov dword [esp + 0xa4], 0x41c4a0
mov dword [esp + 0xa8], eax
lea eax, [esp + 0xa0]
mov dword [esp + 0xac], 0x41c480
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], 2
push esi
call fcn.00464980
add esp, 4
lea ecx, [esp + 0x94]
mov edx, edi
push ebx
mov esi, dword [esp + 8]
push esi
call fcn.004335c0
add esp, 8
mov ecx, edi
call fcn.00433f20
mov eax, dword [esp + 0xc4]
movsd xmm0, qword [esp + 0xbc]
cmp dword [esp + 8], 0
mov dword [esp + 0x148], eax
movsd qword [esp + 0x140], xmm0
je 0x453ef5
push esi
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esp + 0x100], 0
je 0x453f14
push dword [esp + 0x104]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esp + 0xc]
lea edx, [esp + 0x48]
lea eax, [esp + 0xa0]
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 1
mov dword [esp + 0x64], 0
mov dword [esp + 0x58], 0x20
mov byte [esp + 0x68], 3
mov dword [esp + 0x48], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], 0x80d094
call fcn.004308f0
mov ecx, dword [esp + 0x18]
test al, al
jne 0x4541c7
mov eax, dword [esp + 0xa8]
movsd xmm0, qword [esp + 0xa0]
lea esi, [esp + 0x130]
lea edx, [esp + 0x80]
mov dword [esp + 0x88], eax
lea eax, [esp + 0x140]
movsd qword [esp + 0x80], xmm0
push eax
push esi
call fcn.00455fa0
add esp, 8
cmp dword [esp + 0x15c], 0
mov dword [esp + 4], eax
je 0x453fe8
push dword [esp + 0x160]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esp + 0x150], 0
je 0x45137f
push dword [esp + 0x154]
jmp 0x451371
xor esi, esi
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x38]
test esi, esi
mov eax, 0x8a84f4
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 1
mov dword [esp + 0x88], 0
cmovne eax, esi
lea esi, [esp + 0x48]
mov edx, esi
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], ecx
lea ecx, [eax + 0x1c]
movsd xmm0, qword [eax + 0x1c]
movsd xmm1, qword [eax + 0x22]
mov byte [esp + 0x48], 3
mov byte [esp + 0x4c], 3
mov byte [esp + 0x50], 3
mov word [esp + 0x54], 0
movsd qword [esp + 0xa6], xmm1
movsd qword [esp + 0xa0], xmm0
call fcn.00432310
mov ecx, 0x93d1f8
mov edx, str.e_0m
test al, al
mov dword [esp + 0x48], 0x80e984
mov dword [esp + 0x4c], 3
mov dword [esp + 0x58], 0
mov dword [esp + 0x50], edi
lea edi, [esp + 0x80]
mov dword [esp + 0x54], 2
cmovne edx, ecx
xor al, 1
mov ecx, edi
movzx eax, al
mov dword [esp + 0x140], edx
mov edx, 0x80d168
shl eax, 2
mov dword [esp + 0x144], eax
lea eax, [esp + 0xa0]
mov dword [esp + 0xc8], eax
lea eax, [esp + 0x140]
mov dword [esp + 0xcc], 0x41c4a0
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], 0x41c480
push esi
call fcn.00464980
add esp, 4
lea ecx, [esp + 0xbc]
mov edx, edi
push 0
push 0x93d1f8
call fcn.004335c0
add esp, 8
mov ecx, edi
call fcn.00433f20
mov eax, dword [esp + 0x88]
movsd xmm0, qword [esp + 0x80]
lea edx, [esp + 0x100]
mov ecx, ebx
mov dword [esp + 0x50], eax
movsd qword [esp + 0x48], xmm0
lea eax, [esp + 0x94]
push esi
push eax
call fcn.00455fa0
add esp, 8
mov dword [esp + 4], eax
jmp 0x45137f
mov eax, dword [esp + 4]
xor esi, esi
xor ecx, ecx
mov dword [esp + 0x20], ebx
lea edx, [eax + 8]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
jmp 0x453831
mov ecx, 0x80ebc4
call fcn.007c1fe0
mov edx, dword [esp + 0x30]
mov ecx, ebx
push 0x8a8474
call fcn.007c1be0
mov ecx, 0x8a8620
mov edx, 0x63
push 0x80e604
call fcn.007c2000
call fcn.00418cb0
mov ecx, str.a_Display_implementation_returned_an_error_unexpectedly_rustc_25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04library_alloc_src_string.rs
mov edx, 0x37
push 0x93a144
push 0x80d0ac
lea eax, [esp + 0x88]
push eax
call fcn.007c1f60
lea ecx, [esp + 0xc8]
mov edx, 0x80d2c0
jmp 0x454225
mov ecx, 0x8a8620
mov edx, 0x63
push 0x80e614
call fcn.007c2000
mov ecx, 4
mov edx, 4
call fcn.007c1490
lea ecx, [esp + 0xc8]
mov edx, 0x80d2d0
mov dword [esp + 0xc8], str.mid___len
mov dword [esp + 0xcc], 1
mov dword [esp + 0xd8], 0
mov dword [esp + 0xd0], 0x93d1f8
mov dword [esp + 0xd4], 0
call fcn.007c1b50
lea eax, [esp + 0x80]
mov ecx, str.a_Display_implementation_returned_an_error_unexpectedly_rustc_25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04library_alloc_src_string.rs
mov edx, 0x37
push 0x93a144
push 0x80d0ac
push eax
call fcn.007c1f60
mov ecx, 4
mov edx, 0x30
call fcn.007c1490
mov edx, dword [esp + 0x10]
mov ecx, 4
call fcn.007c1490
mov ecx, 0x8a8620
mov edx, 0x63
push 0x80d3c4
call fcn.007c2000
mov ecx, 4
mov edx, ebx
call fcn.007c1490
mov ecx, 4
mov edx, 0x20
call fcn.007c1490
mov edx, dword [esp + 4]
mov ecx, 4
call fcn.007c1490
mov dword [edx], edx
add byte [eax], al
pop esp
add eax, dword [eax]
add byte [ebp + 0x12], dh
add byte [eax], al
jl 0x4542fc
add byte [eax], al
adc dword [edx], 0
add byte [ebp + 0x53], dl
push ebp
push ebx
push edi
push esi
push eax
mov ebx, dword [ecx + 8]
mov eax, dword [ecx + 4]
mov esi, ecx
into
test ebx, ebx
mov dword [esp], eax
je 0x45433b
mov eax, dword [esp]
mov edi, dword [sym.imp.kernel32.dll_HeapFree]
lea ebp, [eax + 4]
jmp 0x454326
add ebp, 0x14
dec ebx
je 0x45433b
cmp dword [ebp - 4], 0
je 0x454320
push dword [ebp]
push 0
push dword [0x94bf18]
call edi
jmp 0x454320
cmp dword [esi], 0
je 0x454351
push dword [esp]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
ret