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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x1f0
call 0x441054
pop eax
mov dword [esp + 0x74], ecx
mov dword [esp + 0x18], edx
mov dword [esp + 0x198], eax
mov eax, dword [edx + 0x14]
mov ecx, dword [eax + 0x34]
test ecx, ecx
je 0x441145
mov edx, dword [eax + 0x30]
xor edi, edi
cmp ecx, 8
mov esi, 0
jb 0x44111b
movdqa xmm2, xmmword [0x56e3c0]
mov esi, ecx
pxor xmm0, xmm0
mov ebx, edx
pxor xmm1, xmm1
and esi, 0xfffffff8
mov edi, esi
nop
movd xmm3, dword [ebx + 0x3c]
movd xmm4, dword [ebx + 0x28]
movd xmm5, dword [ebx + 0x14]
movd xmm6, dword [ebx + 0x8c]
movd xmm7, dword [ebx + 0x64]
punpckldq xmm4, xmm3
movd xmm3, dword [ebx]
punpckldq xmm3, xmm5
movd xmm5, dword [ebx + 0x78]
punpcklqdq xmm3, xmm4
pcmpeqd xmm3, xmm2
psubd xmm0, xmm3
punpckldq xmm5, xmm6
movd xmm6, dword [ebx + 0x50]
add ebx, 0xa0
add edi, 0xfffffff8
punpckldq xmm6, xmm7
punpcklqdq xmm6, xmm5
pcmpeqd xmm6, xmm2
psubd xmm1, xmm6
jne 0x4410a0
paddd xmm1, xmm0
cmp ecx, esi
pshufd xmm0, xmm1, 0xee
paddd xmm0, xmm1
pshufd xmm1, xmm0, 0x55
paddd xmm1, xmm0
movd edi, xmm1
je 0x441147
sub ecx, esi
lea esi, [esi + esi*4]
lea edx, [edx + esi*4]
nop word cs:[eax + eax]
nop dword [eax]
xor ebx, ebx
cmp dword [edx], 0x80000002
sete bl
add edx, 0x14
add edi, ebx
dec ecx
jne 0x441130
jmp 0x441147
xor edi, edi
mov ecx, dword [eax + 0x24]
mov eax, dword [eax + 0x28]
shl eax, 6
lea eax, [eax + eax*4]
nop word cs:[eax + eax]
nop dword [eax]
mov edx, eax
test eax, eax
je 0x44117b
test byte [ecx + 0x139], 0x40
lea ecx, [ecx + 0x140]
lea eax, [edx - 0x140]
je 0x441160
mov eax, dword [esp + 0x18]
mov dword [esp + 0x19c], edx
mov dword [esp + 0x5c], edi
mov dword [esp + 0x1c], 1
mov dword [esp + 0x44], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x24], 0
add eax, 8
mov dword [esp + 0x18c], eax
xor eax, eax
mov dword [esp + 0x50], ecx
mov dword [esp + 0x2c], eax
mov edi, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
cmp edi, dword [eax + 8]
jae 0x444854
mov eax, dword [eax + 4]
mov ecx, edi
inc edi
shl ecx, 4
mov edx, dword [eax + ecx + 4]
mov esi, dword [eax + ecx + 8]
lea ecx, [esp + 0xd0]
mov dword [esp + 8], edx
mov dword [esp + 0x10], esi
push esi
call fcn.0046eab0
add esp, 4
mov eax, dword [esp + 0xd8]
mov ebx, dword [esp + 0xd0]
mov edx, dword [esp + 8]
mov esi, dword [esp + 0xd4]
lea ecx, [esp + 0xd0]
mov dword [esp + 0x20], eax
push dword [esp + 0x10]
call fcn.0047fcd0
add esp, 4
mov ecx, dword [esp + 0xd4]
test ebx, ebx
mov edx, 0
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x7c], esi
mov dword [ebp + 0x10], edi
cmove edx, esi
mov esi, dword [esp + 0xd8]
mov dword [esp + 0xc], edx
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x34], esi
mov ebx, dword [ecx + 0x14]
je 0x441300
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x1c]
mov dword [esp + 8], ebx
lea edx, [eax + 1]
mov al, 1
mov dword [esp + 0x10], edx
cmp edx, ecx
mov dl, 1
jne 0x441761
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x441761
mov edx, dword [ebx + 0x24]
mov esi, ecx
shl esi, 6
lea edi, [esi + esi*4]
lea ebx, [edx + 0x20]
jmp 0x4412cc
cmp esi, dword [esp + 0x5c]
jne 0x441a2f
add ebx, 0x140
add edi, 0xfffffec0
je 0x44175b
cmp dword [ebx + 0x30], 0
jne 0x4412ba
cmp dword [ebx + 0x5c], 0x110000
jne 0x4412ba
test dword [ebx + 0x118], 0x100002
je 0x4412ba
mov esi, dword [ebx]
test esi, esi
je 0x4412b0
mov esi, dword [ebx + 4]
jmp 0x4412b0
cmp dword [ebx + 0x44], 0
mov ecx, dword [esp + 0x5c]
je 0x441274
movdqu xmm0, xmmword [ebx + 0x48]
mov edi, dword [esp + 0x20]
lea esi, [esp + 0xd0]
lea eax, [esp + 0xd4]
mov ecx, esi
pshufd xmm1, xmm0, 0x44
pshufd xmm2, xmm0, 0xee
pxor xmm1, xmmword [0x56e3d0]
pxor xmm2, xmmword [0x56e3e0]
movdqu xmmword [esp + 0xd0], xmm1
movdqu xmmword [esp + 0xe0], xmm2
movdqu xmmword [esp + 0xf0], xmm0
mov dword [eax + 0x30], 0
mov dword [eax + 0x2c], 0
mov dword [eax + 0x38], 0
mov dword [eax + 0x34], 0
push edi
call fcn.0045dac0
add esp, 4
mov ecx, esi
lea edx, [esp + 0x98]
mov byte [esp + 0x98], 0xff
push 1
call fcn.0045dac0
add esp, 4
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0xe8]
mov esi, dword [esp + 0xec]
movdqu xmm0, xmmword [esp + 0xd8]
movdqu xmm3, xmmword [esp + 0xd0]
mov dword [esp + 0x3c], 0
shl eax, 0x18
xor edx, ecx
movdqa xmm5, xmm0
or eax, dword [esp + 0x104]
movd xmm4, edx
movd xmm2, edx
psrlq xmm5, 0x33
xor esi, eax
movd xmm1, esi
punpckldq xmm2, xmm1
punpcklqdq xmm1, xmm4
punpcklqdq xmm2, xmm3
shufps xmm1, xmm0, 0xe2
movaps xmm4, xmm1
paddq xmm2, xmm0
psllq xmm1, 0x10
psllq xmm0, 0xd
pshufd xmm3, xmm2, 0xff
psrlq xmm4, 0x30
movsd xmm0, xmm1
movdqa xmm1, xmm2
movd edx, xmm3
movsd xmm5, xmm4
orpd xmm0, xmm5
movd xmm3, edx
shufps xmm1, xmm3, 0x4e
xorpd xmm0, xmm2
shufps xmm1, xmm2, 0x42
movapd xmm2, xmm0
movapd xmm3, xmm0
psrlq xmm2, 0x2b
psrlq xmm3, 0x2f
paddq xmm1, xmm0
movsd xmm3, xmm2
movdqa xmm2, xmm0
psllq xmm0, 0x11
psllq xmm2, 0x15
movsd xmm0, xmm2
pshufd xmm2, xmm1, 0xff
movd edx, xmm2
pshufd xmm2, xmm1, 0x55
orpd xmm0, xmm3
movd esi, xmm2
xor edx, 0xff
xorpd xmm0, xmm1
xor esi, eax
movd eax, xmm1
movd xmm2, edx
mov edx, edi
xor eax, ecx
movd xmm4, esi
shufpd xmm1, xmm2, 1
mov esi, ebx
mov esi, dword [ebx + 0x3c]
movd xmm3, eax
shufps xmm1, xmm0, 0xe2
punpcklqdq xmm4, xmm3
movaps xmm3, xmm0
shufps xmm3, xmm4, 0x24
movaps xmm4, xmm0
paddq xmm1, xmm3
psrlq xmm4, 0x33
mov dword [esp + 0x10], esi
pshufd xmm2, xmm1, 0xff
movd eax, xmm2
movaps xmm2, xmm0
psrlq xmm2, 0x30
movd xmm3, eax
movsd xmm4, xmm2
movaps xmm2, xmm0
psllq xmm0, 0xd
psllq xmm2, 0x10
movsd xmm0, xmm2
movdqa xmm2, xmm1
orpd xmm0, xmm4
shufps xmm2, xmm3, 0x4e
xorpd xmm0, xmm1
shufps xmm2, xmm1, 0x42
movapd xmm1, xmm0
movapd xmm3, xmm0
paddq xmm2, xmm0
psrlq xmm1, 0x2b
psrlq xmm3, 0x2f
movsd xmm3, xmm1
movdqa xmm1, xmm0
psllq xmm0, 0x11
psllq xmm1, 0x15
movsd xmm0, xmm1
pshufd xmm1, xmm2, 0xff
movd eax, xmm1
orpd xmm0, xmm3
movdqa xmm1, xmm2
movd xmm3, eax
xorpd xmm0, xmm2
shufps xmm1, xmm3, 0x4e
movapd xmm4, xmm0
shufps xmm1, xmm2, 0x42
psrlq xmm4, 0x33
paddq xmm1, xmm0
pshufd xmm2, xmm1, 0xff
movd eax, xmm2
movdqa xmm2, xmm0
psrlq xmm2, 0x30
movd xmm3, eax
movsd xmm4, xmm2
movdqa xmm2, xmm0
psllq xmm0, 0xd
psllq xmm2, 0x10
movsd xmm0, xmm2
movdqa xmm2, xmm1
orpd xmm0, xmm4
shufps xmm2, xmm3, 0x4e
xorpd xmm0, xmm1
shufps xmm2, xmm1, 0x42
movapd xmm1, xmm0
movapd xmm3, xmm0
paddq xmm2, xmm0
psrlq xmm1, 0x2b
psrlq xmm3, 0x2f
movsd xmm3, xmm1
movdqa xmm1, xmm0
psllq xmm0, 0x11
psllq xmm1, 0x15
movsd xmm0, xmm1
pshufd xmm1, xmm2, 0xff
movd eax, xmm1
orpd xmm0, xmm3
movdqa xmm1, xmm2
movd xmm3, eax
xorpd xmm0, xmm2
shufps xmm1, xmm3, 0x4e
movapd xmm3, xmm0
shufps xmm1, xmm2, 0x42
movapd xmm2, xmm0
psrlq xmm3, 0x33
psrlq xmm2, 0x30
paddq xmm1, xmm0
movsd xmm3, xmm2
movdqa xmm2, xmm0
psllq xmm0, 0xd
psllq xmm2, 0x10
movsd xmm0, xmm2
orpd xmm0, xmm3
xorpd xmm0, xmm1
movapd xmm2, xmm0
movapd xmm3, xmm0
movapd xmm4, xmm0
psrlq xmm2, 0x2b
psrlq xmm3, 0x2f
psllq xmm4, 0x11
movsd xmm3, xmm2
movapd xmm2, xmm0
psllq xmm2, 0x15
movsd xmm4, xmm2
orpd xmm4, xmm3
movapd xmm2, xmm4
shufpd xmm2, xmm1, 1
xorpd xmm4, xmm2
paddq xmm2, xmm0
pshufd xmm0, xmm2, 0xee
movd edi, xmm4
movd eax, xmm0
pshufd xmm0, xmm2, 0xff
movd ecx, xmm0
xor edi, ecx
mov ecx, dword [ebx + 0x38]
xor edi, eax
mov eax, edi
shr eax, 0x19
movd xmm0, eax
lea eax, [ecx - 0x10]
mov dword [esp + 0x40], ecx
punpcklbw xmm0, xmm0
mov dword [esp + 8], eax
pshuflw xmm0, xmm0, 0
pshufd xmm1, xmm0, 0
movdqa xmmword [esp + 0x60], xmm1
and edi, esi
movdqu xmm0, xmmword [ecx + edi]
mov ebx, edi
movdqa xmmword [esp + 0x80], xmm0
pcmpeqb xmm0, xmm1
pmovmskb esi, xmm0
nop dword [eax + eax]
test si, si
je 0x441720
mov eax, esi
tzcnt edi, eax
lea esi, [eax - 1]
add edi, ebx
and esi, eax
mov eax, dword [esp + 8]
and edi, dword [esp + 0x10]
mov ecx, edi
shl ecx, 4
sub eax, ecx
cmp edx, dword [eax + 4]
jne 0x4416d0
push edx
push dword [eax]
push dword [esp + 0x14]
call sub.msvcrt.dll_memcmp
movdqa xmm1, xmmword [esp + 0x6c]
mov edx, dword [esp + 0x2c]
add esp, 0xc
test eax, eax
jne 0x4416d0
jmp 0x4438a0
movdqa xmm2, xmmword [esp + 0x80]
pcmpeqd xmm0, xmm0
pcmpeqb xmm2, xmm0
pmovmskb eax, xmm2
test eax, eax
jne 0x441a74
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
mov esi, dword [esp + 0x10]
mov edi, ebx
lea edi, [ebx + eax + 0x10]
add eax, 0x10
mov dword [esp + 0x3c], eax
jmp 0x4416ae
mov ebx, dword [esp + 8]
mov dl, 1
mov ecx, dword [ebx + 0xc8]
test ecx, 0x80000000
jne 0x441779
movzx eax, byte [ebx + 0xd3]
shr al, 7
mov edi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x24]
cmp dword [esp + 0x10], edi
setne ah
xor al, 1
or al, ah
or al, bl
test dl, al
je 0x4417b0
test bl, 1
mov ebx, dword [esp + 0x20]
jne 0x4419cb
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x30]
mov ecx, dword [eax + 0x14]
jmp 0x441b52
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
mov ebx, dword [esp + 0x20]
cmp eax, dword [ecx + 8]
jae 0x4419be
mov ecx, dword [ecx + 4]
test ecx, ecx
je 0x4419be
shl eax, 4
lea ebx, [esp + 0xd0]
mov esi, dword [ecx + eax + 4]
mov edi, dword [ecx + eax + 8]
mov ecx, ebx
mov edx, esi
push edi
call fcn.0046eab0
add esp, 4
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0xd4]
mov edx, 0
test eax, eax
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x70], ecx
cmove edx, ecx
mov ecx, ebx
mov dword [esp + 0x78], edx
mov edx, esi
mov dword [esp + 0x4c], eax
push edi
call fcn.0047fcd0
add esp, 4
mov eax, dword [esp + 0xd0]
mov edi, dword [esp + 0xd4]
mov byte [esp + 8], 1
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 0x14]
mov eax, dword [edx + 0x28]
test eax, eax
je 0x441af7
mov ecx, dword [esp + 0xd8]
mov esi, dword [edx + 0x24]
shl eax, 6
mov dword [esp + 0x80], edi
mov dword [esp + 0x190], ecx
lea ecx, [eax + eax*4]
mov eax, esi
mov edi, ecx
jmp 0x441891
add eax, 0x140
add edi, 0xfffffec0
je 0x441a23
cmp dword [eax + 0x50], 0
jne 0x441880
cmp dword [eax + 0x7c], 0x110000
jne 0x441880
cmp dword [eax + 0x20], 0
je 0x441880
mov ebx, dword [esp + 0x1c]
cmp dword [eax + 0x24], ebx
jne 0x441880
mov edi, dword [edx + 0xc8]
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x188], edi
test edi, 0x10000
mov edi, dword [esp + 0x80]
jne 0x441aa8
mov edx, dword [edx + 0xd0]
test edx, 0x10000
jne 0x441aa8
mov edi, dword [eax + 0x38]
mov eax, dword [eax + 0x3c]
add esi, 0xfffffec0
mov dword [esp + 0x194], edx
mov dword [esp + 0x3c], edi
nop dword [eax]
test ecx, ecx
je 0x448654
mov edx, dword [esi + 0x178]
mov edi, dword [esi + 0x17c]
add esi, 0x140
add ecx, 0xfffffec0
xor edx, dword [esp + 0x3c]
xor edi, eax
or edi, edx
jne 0x441900
test byte [esi + 0x139], 0x10
mov edi, dword [esp + 0x80]
mov ecx, dword [esp + 0x194]
jne 0x441aa8
mov eax, dword [esp + 0x188]
or eax, ecx
test eax, 0x2000000
je 0x44197e
test ebx, ebx
jne 0x44197e
mov edx, dword [esp + 0x78]
lea ecx, [esp + 0xd0]
push dword [esp + 0x4c]
call fcn.00471700
add esp, 4
cmp byte [esp + 0xd0], 0
je 0x441aa8
mov ecx, dword [esp + 0x190]
cmp ecx, 2
jae 0x441a80
test ecx, ecx
mov dword [esp + 0xd0], 0x2d
je 0x441aa8
movzx eax, byte [edi]
cmp byte [esp + 0xd0], al
jne 0x441aa8
cmp al, 0x2d
jne 0x441af7
jmp 0x441aa8
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x30]
jmp 0x441b33
mov al, 1
test ecx, 0x80000000
jne 0x441a0f
mov ebx, dword [esp + 8]
cmp dword [esp + 0x19c], 0
mov dword [esp + 0x80], eax
movzx ecx, byte [ebx + 0xd3]
setne al
shr cl, 7
or cl, al
mov eax, edi
jne 0x441a06
mov eax, dword [esp + 0x18]
mov ebx, dword [eax + 0x14]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x1c], eax
jmp 0x44320b
mov ebx, dword [esp + 8]
mov dword [esp + 0x80], eax
mov dword [esp + 0x1c], edi
jmp 0x44320b
mov edi, dword [esp + 0x80]
jmp 0x441af7
xor edi, edi
mov ebx, 0x110000
nop word cs:[eax + eax]
mov esi, dword [edx + 0x7c]
xor esi, ebx
or esi, dword [edx + 0x50]
cmove edi, edx
add edx, 0x140
dec ecx
jne 0x441a40
mov ebx, dword [esp + 8]
test edi, edi
mov dl, 1
je 0x441761
movzx edx, byte [edi + 0x139]
and dl, 0x40
shr dl, 6
jmp 0x441761
mov eax, dword [esp + 0x18]
mov ebx, dword [eax + 0x14]
jmp 0x441270
movzx eax, word [edi]
cmp eax, 0x2d2d
je 0x4435fb
mov dword [esp + 0xd0], 0x2d
cmp byte [edi], 0x2d
jne 0x441aa8
movzx eax, word [edi]
cmp eax, 0x2d2d
jne 0x441af7
mov ecx, dword [esp + 0x190]
mov eax, dword [esp + 0x70]
test ebx, ebx
lea edx, [esp + 0xd0]
cmove ecx, dword [esp + 0x4c]
cmovne eax, edi
mov dword [esp + 0xd4], eax
xor eax, eax
cmp byte [esp + 0x38], 0
mov dword [esp + 0xd8], ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xd0], ebx
setne al
push eax
call 0x4489b0
add esp, 4
test eax, eax
setne byte [esp + 8]
test dword [esp + 0x60], 0x7fffffff
jne 0x441b12
cmp byte [esp + 8], 0
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x20]
je 0x441b37
jmp 0x441b2f
push edi
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
cmp byte [esp + 8], 0
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x20]
je 0x441b37
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x18]
test byte [esp + 0x24], 1
mov ecx, dword [eax + 0x14]
mov al, 1
mov dword [esp + 0x80], eax
jne 0x441bf7
test byte [ecx + 0xcd], 1
mov dword [esp + 0x30], edx
jne 0x441b80
mov eax, 0x100
test dword [ecx + 0xd4], eax
jne 0x441b80
mov eax, dword [esp + 0x2c]
dec eax
cmp eax, 2
jb 0x441bd5
nop word cs:[eax + eax]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x48]
lea edx, [esp + 0xd0]
test ecx, ecx
cmove eax, dword [esp + 0x7c]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x34]
cmove eax, ebx
mov dword [esp + 0xd8], eax
xor eax, eax
cmp byte [esp + 0x38], 0
mov dword [esp + 0xd0], ecx
mov ecx, dword [esp + 0x18]
setne al
push eax
call 0x4489b0
add esp, 4
mov ebx, dword [esp + 0x20]
test eax, eax
jne 0x445593
cmp dword [esp + 0x34], 2
jne 0x441bfe
mov eax, dword [esp + 0x48]
movzx eax, word [eax]
cmp eax, 0x2d2d
je 0x441c9d
cmp dword [esp + 0x28], 0
jne 0x441c0c
jmp 0x441c2d
mov ebx, ecx
jmp 0x44320b
cmp dword [esp + 0x28], 0
je 0x441c2d
cmp dword [esp + 0x34], 2
jb 0x441c36
mov eax, dword [esp + 0x48]
mov ecx, eax
movzx eax, word [eax]
cmp eax, 0x2d2d
je 0x441d88
mov dword [esp + 0xd0], 0x2d
jmp 0x441c48
cmp ebx, 2
jae 0x441d10
cmp dword [esp + 0x34], 0
mov dword [esp + 0xd0], 0x2d
je 0x441c90
mov eax, dword [esp + 0x48]
movzx eax, byte [eax]
cmp al, byte [esp + 0xd0]
jne 0x441c90
mov edi, dword [esp + 0x34]
mov dword [esp + 0xd0], 0x2d
dec edi
je 0x441c90
mov eax, dword [esp + 0x48]
movzx edx, byte [esp + 0xd0]
lea ecx, [eax + 1]
cmp dl, byte [ecx]
mov dword [esp + 8], ecx
jne 0x441fb2
nop word cs:[eax + eax]
nop
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x30]
jmp 0x4431ec
mov eax, dword [esp + 0x2c]
cmp eax, 1
je 0x441e1d
mov edi, dword [esp + 0x30]
cmp eax, 2
jne 0x4440dc
mov eax, dword [esp + 0x18]
mov edx, 0xfffffec0
mov eax, dword [eax + 0x14]
mov ecx, dword [eax + 0x28]
mov eax, dword [eax + 0x24]
shl ecx, 6
add eax, edx
lea ecx, [ecx + ecx*4]
nop word cs:[eax + eax]
nop dword [eax + eax]
test ecx, ecx
je 0x4485b8
mov edx, dword [eax + 0x178]
mov esi, dword [eax + 0x17c]
add eax, 0x140
add ecx, 0xfffffec0
xor edx, dword [esp + 0x54]
xor esi, dword [esp + 0x58]
or esi, edx
jne 0x441ce0
jmp 0x441e6b
mov eax, dword [esp + 0xc]
movzx eax, word [eax]
cmp eax, 0x2d2d
jne 0x441c36
mov ecx, ebx
add ecx, 0xfffffffe
je 0x441c36
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x18]
xor edi, edi
mov dword [esp + 8], ecx
add eax, 2
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xd0], 0x3d
mov dword [esp + 0xe4], 1
mov dword [esp + 0xe8], 0x3d
mov dword [esp + 0x60], eax
jmp 0x441e8c
mov eax, dword [esp + 0x34]
add eax, 0xfffffffe
mov dword [esp + 8], eax
je 0x441c20
lea eax, [ecx + 2]
xor ebx, ebx
mov dword [esp + 0xd0], 0x3d
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x34]
lea edi, [eax - 3]
xor eax, eax
nop word cs:[eax + eax]
test al, 1
jne 0x44205a
mov ecx, ebx
cmp ebx, edi
ja 0x44205a
mov edx, dword [esp + 8]
cmp ecx, edx
ja 0x4485fc
cmp ecx, edi
mov ebx, ecx
setae al
adc ebx, 0
cmp edx, ecx
je 0x441dc0
mov edx, dword [esp + 0x60]
mov esi, eax
mov al, 0x3d
cmp al, byte [edx + ecx]
mov eax, esi
jne 0x441dc0
mov edx, dword [esp + 8]
lea edi, [ecx + 1]
mov eax, edx
sub eax, edi
mov dword [esp + 0x70], eax
jb 0x44887c
add edi, dword [esp + 0x60]
mov dword [esp + 8], ecx
jmp 0x44205c
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x30]
mov edx, 0xfffffec0
mov eax, dword [eax + 0x14]
mov ecx, dword [eax + 0x28]
mov eax, dword [eax + 0x24]
shl ecx, 6
add eax, edx
lea ecx, [ecx + ecx*4]
nop dword [eax + eax]
test ecx, ecx
je 0x4485b8
mov edx, dword [eax + 0x178]
mov esi, dword [eax + 0x17c]
add eax, 0x140
add ecx, 0xfffffec0
xor edx, dword [esp + 0x54]
xor esi, dword [esp + 0x58]
or esi, edx
jne 0x441e40
test byte [eax + 0x139], 0x10
jne 0x4431e8
jmp 0x4440b2
mov eax, dword [esp + 0x60]
sub ecx, edi
lea eax, [eax + edi]
jb 0x442050
cmp ecx, 8
jae 0x441eb4
test ecx, ecx
je 0x442050
xor ebx, ebx
nop dword [eax + eax]
cmp byte [eax + ebx], 0x3d
je 0x441f72
inc ebx
cmp ecx, ebx
jne 0x441ea0
jmp 0x442050
lea edx, [eax + 3]
and edx, 0xfffffffc
sub edx, eax
je 0x441ee4
cmp edx, ecx
cmovae edx, ecx
test edx, edx
je 0x441ee4
xor ebx, ebx
nop dword [eax]
cmp byte [eax + ebx], 0x3d
je 0x441eef
inc ebx
cmp edx, ebx
jne 0x441ed0
lea esi, [ecx - 8]
mov dword [esp + 0x10], edi
jmp 0x441f00
mov dword [esp + 0x10], edi
lea esi, [ecx - 8]
xor edx, edx
jmp 0x441f04
mov esi, dword [esp + 0x18]
jmp 0x441f72
cmp edx, esi
ja 0x441f3f
movq xmm0, qword [eax + edx]
movdqa xmm1, xmm0
pxor xmm1, xmmword [0x56e3f0]
paddd xmm1, xmmword [0x56e400]
pandn xmm0, xmm1
pand xmm0, xmmword [0x56e410]
movd edi, xmm0
pshufd xmm0, xmm0, 0x55
movd ebx, xmm0
or ebx, edi
jne 0x441f3f
add edx, 8
jmp 0x441f00
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
sub ecx, edx
je 0x442050
add eax, edx
xor ebx, ebx
nop word cs:[eax + eax]
nop dword [eax]
cmp byte [eax + ebx], 0x3d
je 0x441f70
inc ebx
cmp ecx, ebx
jne 0x441f60
jmp 0x442050
add ebx, edx
mov ecx, dword [esp + 8]
add ebx, edi
mov edi, ebx
inc edi
mov dword [esp + 0xdc], edi
je 0x441e7d
mov eax, ecx
sub eax, edi
mov dword [esp + 0x70], eax
jb 0x441e7d
mov edx, dword [esp + 0x60]
mov al, 0x3d
cmp byte [edx + ebx], al
jne 0x441e7d
add edi, dword [esp + 0x60]
xor eax, eax
mov edx, ebx
jmp 0x442097
cmp dword [esp + 0x28], 0
mov dword [esp + 0x40], edi
je 0x4426dc
mov esi, dword [esp + 8]
lea ecx, [esp + 0x98]
mov edx, esi
push edi
call fcn.0046eab0
add esp, 4
cmp dword [esp + 0x98], 0
mov ecx, dword [esp + 0x18]
je 0x442759
mov ebx, dword [esp + 0x9c]
cmp edi, ebx
jbe 0x442002
movzx eax, byte [esi + ebx]
and al, 0xc0
cmp al, 0x80
je 0x44889a
mov eax, edi
sub eax, ebx
mov dword [esp + 0x4c], eax
jb 0x448821
lea ecx, [esp + 0xd0]
mov edx, esi
push ebx
call fcn.0046eab0
add esp, 4
cmp dword [esp + 0xd0], 0
jne 0x448835
mov edx, dword [esp + 0xd4]
mov edi, dword [esp + 0xd8]
mov ecx, dword [esp + 0x18]
add ebx, esi
mov dword [esp + 0x80], ebx
jmp 0x442772
mov edx, dword [esp + 8]
xor edi, edi
xor eax, eax
jmp 0x442097
xor edi, edi
mov edx, dword [esp + 0x60]
mov esi, dword [esp + 8]
lea ecx, [esp + 0xd0]
push esi
call fcn.0046eab0
mov edx, esi
add esp, 4
mov eax, dword [esp + 0xd0]
test eax, eax
jne 0x442093
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0xd8]
mov dword [esp + 0x60], ecx
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x10], edi
mov dword [esp + 0x1a4], esi
mov dword [esp + 8], edx
cmp ecx, 2
je 0x44210e
cmp ecx, 1
jne 0x442171
mov ecx, dword [esp + 0x18]
mov esi, 0xfffffec0
mov ecx, dword [ecx + 0x14]
mov edx, dword [ecx + 0x28]
mov ecx, dword [ecx + 0x24]
shl edx, 6
add ecx, esi
lea edx, [edx + edx*4]
nop word cs:[eax + eax]
nop dword [eax]
test edx, edx
je 0x4485e8
mov esi, dword [ecx + 0x178]
mov edi, dword [ecx + 0x17c]
add ecx, 0x140
add edx, 0xfffffec0
xor esi, dword [esp + 0x54]
xor edi, dword [esp + 0x58]
or edi, esi
jne 0x4420e0
jmp 0x44215c
mov ecx, dword [esi + 0x14]
mov esi, 0xfffffec0
mov edx, dword [ecx + 0x28]
mov ecx, dword [ecx + 0x24]
shl edx, 6
add ecx, esi
lea edx, [edx + edx*4]
nop word cs:[eax + eax]
nop
test edx, edx
je 0x4485e8
mov esi, dword [ecx + 0x178]
mov edi, dword [ecx + 0x17c]
add ecx, 0x140
add edx, 0xfffffec0
xor esi, dword [esp + 0x54]
xor edi, dword [esp + 0x58]
or edi, esi
jne 0x442130
test byte [ecx + 0x139], 0x10
mov edi, dword [esp + 0x30]
mov edx, dword [esp + 8]
jne 0x4431e8
mov ecx, dword [esp + 0x18]
inc dword [ecx + 0x18]
test eax, eax
jne 0x4463bc
test edx, edx
je 0x44874d
mov ebx, dword [ecx + 0x14]
mov eax, dword [ebx + 0x34]
test eax, eax
je 0x4421f4
mov esi, dword [ebx + 0x30]
shl eax, 2
lea edi, [eax + eax*4]
jmp 0x4421a8
add esi, 0x14
add edi, 0xffffffec
je 0x4421f4
mov eax, dword [esi]
mov ecx, 0x80000000
xor eax, ecx
cmp eax, 2
ja 0x4421bb
cmp eax, 1
jne 0x4421a0
cmp dword [esi + 8], edx
jne 0x4421a0
push edx
push dword [esp + 0x64]
push dword [esi + 4]
call sub.msvcrt.dll_memcmp
mov edx, dword [esp + 0x14]
add esp, 0xc
test eax, eax
jne 0x4421a0
mov ecx, dword [esi + 0x10]
mov edx, dword [ebx + 0x28]
cmp ecx, edx
jae 0x447cec
lea edi, [ecx + ecx*4]
shl edi, 6
add edi, dword [ebx + 0x24]
jmp 0x4422cd
mov ecx, dword [ebx + 0xcc]
mov eax, dword [ebx + 0xc8]
test ecx, 0x800
mov dword [esp + 0x78], eax
mov dword [esp + 0x3c], ecx
jne 0x442221
mov eax, 0x800
test dword [ebx + 0xd4], eax
je 0x4424aa
mov eax, dword [ebx + 0x28]
test eax, eax
je 0x4424aa
mov edi, dword [ebx + 0x24]
lea eax, [eax + eax*4]
mov dword [esp + 0x40], ebx
shl eax, 6
add eax, edi
mov dword [esp + 0x4c], eax
jmp 0x442251
cmp esi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x40]
mov edi, esi
je 0x4424aa
mov eax, dword [edi + 0x50]
test eax, eax
je 0x442273
cmp dword [edi + 0x54], edx
jb 0x442273
push edx
push eax
push dword [esp + 0x68]
call sub.msvcrt.dll_memcmp
mov edx, dword [esp + 0x14]
add esp, 0xc
test eax, eax
je 0x4422cd
mov eax, dword [edi + 0xec]
mov ebx, dword [edi + 0xe8]
lea esi, [edi + 0x140]
mov dword [esp + 0x80], edi
shl eax, 2
add ebx, 4
lea edi, [eax + eax*2]
jmp 0x4422a6
add ebx, 0xc
add edi, 0xfffffff4
test edi, edi
je 0x442241
cmp dword [ebx], edx
jb 0x4422a0
push edx
push dword [ebx - 4]
push dword [esp + 0x68]
call sub.msvcrt.dll_memcmp
mov edx, dword [esp + 0x14]
add esp, 0xc
test eax, eax
jne 0x4422a0
mov edi, dword [esp + 0x80]
mov ebx, dword [esp + 0x18]
mov esi, dword [edi + 0x38]
mov dword [esp + 0x80], edi
mov edi, dword [edi + 0x3c]
mov edx, dword [ebx + 0x10]
cmp edx, dword [ebx + 8]
jne 0x4422f5
mov ecx, dword [esp + 0x18c]
call fcn.004375d0
mov edx, dword [ebx + 0x10]
mov eax, dword [ebx + 0xc]
mov dword [eax + edx*8 + 4], edi
mov edi, dword [esp + 0x80]
mov dword [eax + edx*8], esi
inc dword [ebx + 0x10]
mov edx, ebx
test byte [edi + 0x138], 0x20
jne 0x4426f8
mov edi, dword [esp + 0x10]
test edi, edi
jne 0x4470d3
mov ecx, dword [edx + 0x14]
mov eax, dword [ecx + 0x28]
mov ebx, dword [ecx + 0x24]
mov dword [esp + 0x38], ecx
mov ecx, 0xfffffec0
shl eax, 6
add ebx, ecx
lea edx, [eax + eax*4]
mov eax, ebx
mov ecx, edx
mov dword [esp + 0x10], edx
nop word cs:[eax + eax]
test ecx, ecx
je 0x4423f0
mov edx, dword [eax + 0x178]
mov esi, 0xcffbfe5f
mov edi, 0x59636393
add ecx, 0xfffffec0
xor edx, esi
mov esi, dword [eax + 0x17c]
add eax, 0x140
xor esi, edi
or esi, edx
mov edx, dword [esp + 0x10]
jne 0x442350
mov ecx, dword [eax + 0x50]
test ecx, ecx
je 0x4423f0
mov edx, dword [esp + 8]
cmp edx, dword [eax + 0x54]
mov edx, dword [esp + 0x10]
jne 0x4423f0
push dword [esp + 8]
push ecx
push dword [esp + 0x68]
call sub.msvcrt.dll_memcmp
mov edx, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
jne 0x4423f0
mov eax, dword [esp + 0x38]
test dword [eax + 0xc8], 0x100
jne 0x4423f0
mov esi, dword [esp + 0x38]
mov edx, 0x100
mov eax, dword [esi + 0xcc]
mov ecx, dword [esi + 0xd0]
or eax, dword [esi + 0xd4]
and ecx, edx
mov edx, dword [esp + 0x10]
and eax, 0x200
or eax, ecx
je 0x44378e
mov edi, dword [esp + 0x30]
nop word cs:[eax + eax]
nop
test edx, edx
je 0x44400c
mov eax, dword [ebx + 0x178]
mov ecx, 0x4d079478
mov esi, edx
mov edx, 0x30ff0b7c
xor eax, ecx
mov ecx, dword [ebx + 0x17c]
add ebx, 0x140
xor ecx, edx
mov edx, esi
add edx, 0xfffffec0
or ecx, eax
jne 0x442400
mov eax, dword [ebx + 0x50]
mov ecx, dword [esp + 8]
test eax, eax
je 0x44400c
cmp ecx, dword [ebx + 0x54]
jne 0x44400c
push ecx
push eax
push dword [esp + 0x68]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x44400c
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 0xc8]
test ecx, 0x200
jne 0x44400c
mov eax, dword [esp + 0x38]
and ecx, 0x400
mov edx, dword [eax + 0xd0]
mov eax, 0x600
and edx, eax
mov eax, 0xa
or ecx, edx
jne 0x44400c
mov dword [esp + 0xd0], eax
jmp 0x442727
test byte [esp + 0x3c], 0x10
jne 0x4424ea
mov eax, 0x10
test dword [ebx + 0xd4], eax
jne 0x4424ea
mov eax, dword [ebx + 0x12c]
mov edi, dword [esp + 0x30]
test eax, eax
je 0x442c2b
mov ecx, dword [ebx + 0x128]
imul eax, eax, 0x160
add eax, ecx
mov dword [esp + 0x80], eax
jmp 0x44298d
mov eax, dword [ebx + 0x12c]
mov edi, dword [esp + 0x30]
test eax, eax
mov dword [esp + 0x70], eax
je 0x442a51
mov eax, dword [ebx + 0x128]
mov ecx, 4
xor ebx, ebx
xor esi, esi
mov dword [esp + 0x4c], eax
xor eax, eax
jmp 0x442548
mov ebx, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x80]
inc esi
cmp esi, dword [esp + 0x70]
je 0x442742
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x10], ebx
imul ebx, esi, 0x160
mov dword [esp + 0x80], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0x3c], esi
lea eax, [ecx + ebx]
mov dword [esp + 0xa4], eax
mov esi, dword [ecx + ebx + 0x60]
test esi, esi
je 0x4425c0
mov eax, dword [ecx + ebx + 0x64]
mov edi, ecx
cmp eax, edx
jb 0x442630
mov dword [esp + 0x78], eax
push edx
push esi
push dword [esp + 0x68]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
je 0x4425cd
mov edx, dword [esp + 8]
jmp 0x442630
mov ecx, dword [esp + 0x40]
mov ebx, dword [esp + 0x10]
jmp 0x442532
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x40]
cmp eax, edx
jne 0x4425fa
lea ecx, [esp + 0x98]
call fcn.00437350
mov edi, dword [esp + 0x9c]
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x78]
mov dword [edi + eax*8], esi
mov edx, dword [esp + 8]
mov dword [edi + eax*8 + 4], ecx
mov edi, dword [esp + 0x4c]
mov eax, dword [esp + 0xa0]
inc eax
mov dword [esp + 0x80], eax
mov dword [esp + 0xa0], eax
nop word cs:[eax + eax]
nop dword [eax]
mov eax, dword [edi + ebx + 0x108]
mov ecx, dword [edi + ebx + 0x104]
lea eax, [eax + eax*2]
mov dword [esp + 0x10], ecx
lea ecx, [ecx + eax*4]
nop dword [eax + eax]
mov eax, dword [esp + 0x10]
cmp eax, ecx
je 0x442520
mov edi, dword [eax + 4]
lea esi, [eax + 0xc]
mov dword [esp + 0x10], esi
cmp edi, edx
jb 0x442650
mov ebx, dword [eax]
push edx
push ebx
push dword [esp + 0x68]
mov esi, ecx
call sub.msvcrt.dll_memcmp
mov edx, dword [esp + 0x14]
mov ecx, esi
add esp, 0xc
test eax, eax
jne 0x442650
mov eax, dword [esp + 0x80]
cmp eax, dword [esp + 0x98]
je 0x4426bc
mov eax, dword [esp + 0x9c]
mov esi, dword [esp + 0x80]
mov dword [eax + esi*8], ebx
mov dword [eax + esi*8 + 4], edi
inc esi
mov dword [esp + 0x80], esi
mov dword [esp + 0xa0], esi
jmp 0x442650
mov edx, dword [esp + 0x80]
lea ecx, [esp + 0x98]
push 1
call fcn.004377c0
mov edx, dword [esp + 0xc]
mov ecx, esi
add esp, 4
jmp 0x442696
mov eax, dword [esp + 0x18]
cmp ebx, 1
ja 0x442798
mov ecx, dword [esp + 0xc]
je 0x4427a6
jmp 0x4488a9
mov esi, dword [esp + 0x10]
xor eax, eax
lea ecx, [esp + 0xd0]
test esi, esi
setne al
push eax
push dword [ebp + 8]
push edi
push dword [esp + 0x7c]
push esi
call fcn.00449f80
add esp, 0x14
mov eax, dword [esp + 0xd0]
mov edi, dword [esp + 0x30]
mov cl, 1
cmp eax, 5
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x198]
je 0x4431e8
jmp 0x444079
mov dword [esp + 0x10], ebx
cmp eax, 1
mov ebx, 0
jne 0x442a62
jmp 0x4472fc
mov edx, dword [esp + 0x9c]
mov edi, dword [esp + 0xa0]
mov dword [esp + 0x80], 0
mov esi, dword [ecx + 0x14]
lea eax, [edx + edi]
mov dword [esp + 0x10], eax
mov ecx, dword [esi + 0xc8]
mov eax, dword [esi + 0xcc]
test ecx, 0x2000000
mov dword [esp + 0x60], eax
je 0x4427d9
mov ebx, esi
jmp 0x4427e4
mov ecx, dword [esp + 0xc]
cmp byte [ecx + 1], 0xbf
jle 0x4488b9
mov esi, dword [eax + 0x14]
lea edx, [ecx + 1]
lea edi, [ebx - 1]
mov dword [esp + 0x80], 0
lea eax, [edx + edi]
mov dword [esp + 0x10], eax
mov ecx, dword [esi + 0xc8]
test ecx, 0x2000000
jne 0x4427ff
mov eax, dword [esi + 0xcc]
mov dword [esp + 0x60], eax
test byte [esi + 0xd3], 2
mov ebx, esi
je 0x4427ee
cmp dword [esp + 0x80], 0
je 0x4427ff
test ecx, 0x10000
mov dword [esp + 0x3c], edx
je 0x442846
jmp 0x4428ab
mov esi, edx
lea ecx, [esp + 0xd0]
push edi
call fcn.00471700
add esp, 4
cmp byte [esp + 0xd0], 0
je 0x4431e4
mov eax, dword [esp + 0x18]
mov edx, esi
mov eax, dword [eax + 0x14]
mov ecx, dword [eax + 0xc8]
mov ebx, eax
mov eax, dword [eax + 0xcc]
mov dword [esp + 0x60], eax
test ecx, 0x10000
mov dword [esp + 0x3c], edx
jne 0x4428ab
test byte [ebx + 0xd2], 1
jne 0x4428ab
mov eax, dword [esp + 0x2c]
cmp eax, 2
je 0x442af0
cmp eax, 1
jne 0x442b3e
mov eax, dword [ebx + 0x28]
mov ecx, ebx
mov ecx, dword [ebx + 0x24]
mov edx, 0xfffffec0
shl eax, 6
add ecx, edx
lea edx, [eax + eax*4]
test edx, edx
je 0x4486d4
mov eax, dword [ecx + 0x178]
mov esi, dword [ecx + 0x17c]
add ecx, 0x140
add edx, 0xfffffec0
xor eax, dword [esp + 0x54]
xor esi, dword [esp + 0x58]
or esi, eax
jne 0x44287a
jmp 0x442b31
mov edx, dword [esp + 0x3c]
cmp edx, dword [esp + 0x10]
je 0x4431d6
movzx ecx, byte [edx]
test cl, cl
js 0x4428c3
inc edx
jmp 0x442920
movzx eax, byte [edx + 1]
mov edi, ecx
and edi, 0x1f
and eax, 0x3f
cmp cl, 0xdf
jbe 0x44290a
movzx esi, byte [edx + 2]
shl eax, 6
and esi, 0x3f
or esi, eax
cmp cl, 0xf0
jb 0x442916
movzx ecx, byte [edx + 3]
and edi, 7
shl esi, 6
shl edi, 0x12
and ecx, 0x3f
or ecx, esi
or ecx, edi
cmp ecx, 0x110000
je 0x4431d6
add edx, 4
jmp 0x442920
shl edi, 6
add edx, 2
or edi, eax
mov ecx, edi
jmp 0x442920
shl edi, 0xc
add edx, 3
or esi, edi
mov ecx, esi
mov eax, 2
mov esi, ebx
test dword [esp + 0x60], eax
jne 0x442939
test dword [esi + 0xd4], eax
je 0x44880d
mov eax, dword [esi + 0x34]
mov edi, dword [esi + 0x30]
shl eax, 2
lea esi, [eax + eax*4]
nop word cs:[eax + eax]
nop
test esi, esi
je 0x4431e4
mov eax, edi
add esi, 0xffffffec
add edi, 0x14
cmp dword [eax], 0x80000000
jne 0x442950
cmp dword [eax + 4], ecx
jne 0x442950
jmp 0x4428af
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x30]
add ecx, 0x160
cmp ecx, dword [esp + 0x80]
je 0x442c2b
mov eax, dword [ecx + 0x60]
mov dword [esp + 0x10], ecx
test eax, eax
je 0x442a0b
cmp edx, dword [ecx + 0x64]
jne 0x4429b7
push edx
push eax
push dword [esp + 0x68]
call sub.msvcrt.dll_memcmp
mov edx, dword [esp + 0x14]
add esp, 0xc
test eax, eax
je 0x4463a7
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x11c]
mov eax, dword [eax + 0x120]
shl eax, 2
add esi, 4
lea edi, [eax + eax*2]
jmp 0x4429e6
add esi, 0xc
add edi, 0xfffffff4
test edi, edi
je 0x442972
cmp edx, dword [esi]
jne 0x4429e0
push edx
push dword [esi - 4]
push dword [esp + 0x68]
call sub.msvcrt.dll_memcmp
mov edx, dword [esp + 0x14]
add esp, 0xc
test eax, eax
jne 0x4429e0
jmp 0x4463a7
mov eax, dword [ecx + 0x120]
mov esi, dword [ecx + 0x11c]
shl eax, 2
add esi, 4
lea edi, [eax + eax*2]
jmp 0x442a28
add esi, 0xc
add edi, 0xfffffff4
test edi, edi
je 0x442972
cmp edx, dword [esi]
jne 0x442a22
push edx
push dword [esi - 4]
push dword [esp + 0x68]
call sub.msvcrt.dll_memcmp
mov edx, dword [esp + 0x14]
add esp, 0xc
test eax, eax
jne 0x442a22
jmp 0x4463a7
mov ecx, 4
xor eax, eax
mov dword [esp + 0x10], 0
xor ebx, ebx
shl eax, 3
mov dword [esp + 0x80], eax
jmp 0x442a77
mov edi, dword [esp + 0x30]
add ebx, 8
cmp eax, ebx
je 0x442aaa
cmp dword [ecx + ebx + 4], edx
jne 0x442a70
mov edi, dword [ecx + ebx]
push edx
push dword [esp + 0x64]
push edi
mov esi, ecx
call sub.msvcrt.dll_memcmp
mov edx, dword [esp + 0x14]
mov ecx, esi
add esp, 0xc
test eax, eax
mov eax, dword [esp + 0x80]
jne 0x442a70
jmp 0x447301
cmp dword [esp + 0x10], 0
je 0x442ac3
push ecx
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov edx, dword [esp + 8]
mov eax, dword [esp + 0x1a4]
mov ebx, dword [eax + 0x14]
mov eax, dword [ebx + 0xc8]
test eax, 0x10000
jne 0x4431e8
test byte [ebx + 0xd2], 1
jne 0x4431e8
jmp 0x447cf6
mov eax, dword [ebx + 0x28]
mov ecx, ebx
mov ecx, dword [ebx + 0x24]
mov edx, 0xfffffec0
shl eax, 6
add ecx, edx
lea edx, [eax + eax*4]
test edx, edx
je 0x4486d4
mov eax, dword [ecx + 0x178]
mov esi, dword [ecx + 0x17c]
add ecx, 0x140
add edx, 0xfffffec0
xor eax, dword [esp + 0x54]
xor esi, dword [esp + 0x58]
or esi, eax
jne 0x442b05
test byte [ecx + 0x139], 0x10
jne 0x4431e4
mov eax, ebx
mov eax, dword [ebx + 0x34]
mov ecx, dword [ebx + 0x30]
shl eax, 2
add ecx, 0xffffffec
lea edx, [eax + eax*4]
test edx, edx
je 0x442b9d
mov eax, ecx
add edx, 0xffffffec
add ecx, 0x14
cmp dword [eax + 0x14], 0x80000002
jne 0x442b4f
mov esi, dword [esp + 0x1c]
cmp dword [eax + 0x18], esi
jne 0x442b4f
mov ecx, dword [ecx + 0x10]
mov edx, dword [ebx + 0x28]
cmp ecx, edx
jae 0x447cec
mov eax, dword [ebx + 0x24]
lea ecx, [ecx + ecx*4]
shl ecx, 6
mov eax, dword [eax + ecx + 0x138]
mov ecx, 0x5000
and eax, ecx
cmp eax, 0x1000
je 0x4431e4
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x3c]
xor ebx, ebx
mov dword [esp + 0x98], 8
mov eax, dword [ecx + 0x1c]
mov dword [ecx + 0x1c], 0
jmp 0x442bc9
lea ecx, [edi + 1]
mov edx, ecx
sub edx, edi
mov edi, ecx
add ebx, edx
sub eax, 1
jb 0x442c3f
cmp edi, dword [esp + 0x10]
je 0x442c4c
movzx ecx, byte [edi]
test cl, cl
jns 0x442bbe
cmp cl, 0xe0
jb 0x442c21
cmp cl, 0xf0
jb 0x442c26
movzx esi, byte [edi + 1]
movzx edx, byte [edi + 2]
and ecx, 7
mov dword [esp + 0x3c], 0
shl ecx, 0x12
and edx, 0x3f
and esi, 0x3f
shl esi, 0xc
shl edx, 6
or edx, esi
movzx esi, byte [edi + 3]
and esi, 0x3f
or esi, edx
or esi, ecx
lea ecx, [edi + 4]
cmp esi, 0x110000
jne 0x442bc1
jmp 0x442c56
lea ecx, [edi + 2]
jmp 0x442bc1
lea ecx, [edi + 3]
jmp 0x442bc1
mov eax, dword [esp + 0x78]
test eax, 0x10000
jne 0x4431e8
jmp 0x442ade
mov eax, dword [esp + 0x80]
mov dword [esp + 0x3c], eax
jmp 0x442c54
mov dword [esp + 0x3c], 0
mov ecx, edi
mov dword [esp + 0x80], 8
cmp ecx, dword [esp + 0x10]
je 0x4436ac
movzx eax, byte [ecx]
test al, al
js 0x442c77
lea edi, [ecx + 1]
jmp 0x442cd3
movzx edi, byte [ecx + 1]
mov edx, eax
and edx, 0x1f
and edi, 0x3f
cmp al, 0xdf
jbe 0x442cbb
movzx esi, byte [ecx + 2]
shl edi, 6
and esi, 0x3f
or esi, edi
cmp al, 0xf0
jb 0x442cc9
movzx eax, byte [ecx + 3]
and edx, 7
shl esi, 6
shl edx, 0x12
and eax, 0x3f
or eax, esi
or eax, edx
cmp eax, 0x110000
je 0x4436ac
lea edi, [ecx + 4]
jmp 0x442cd3
shl edx, 6
lea eax, [ecx + 2]
or edx, edi
mov edi, eax
mov eax, edx
jmp 0x442cd3
shl edx, 0xc
lea edi, [ecx + 3]
or esi, edx
mov eax, esi
mov esi, dword [esp + 0x18]
mov edx, edi
mov dword [esp + 0x60], edi
mov dword [esp + 0x144], eax
sub edx, ecx
add ebx, edx
inc dword [esi + 0x18]
mov edi, dword [esi + 0x14]
mov edx, dword [edi + 0x34]
mov ecx, dword [edi + 0x30]
shl edx, 2
add ecx, 0xffffffec
lea edx, [edx + edx*4]
nop dword [eax]
test edx, edx
je 0x4430b3
mov esi, ecx
add edx, 0xffffffec
add ecx, 0x14
cmp dword [esi + 0x14], 0x80000000
jne 0x442d00
cmp dword [esi + 0x18], eax
jne 0x442d00
mov ecx, dword [ecx + 0x10]
mov edx, dword [edi + 0x28]
mov dword [esp + 0x70], ebx
cmp ecx, edx
jae 0x447cec
mov esi, dword [esp + 0x18]
mov edi, dword [edi + 0x24]
lea ebx, [ecx + ecx*4]
shl ebx, 6
mov edx, dword [esi + 0x10]
mov eax, dword [edi + ebx + 0x38]
mov ecx, dword [edi + ebx + 0x3c]
cmp edx, dword [esi + 8]
mov dword [esp + 0x38], eax
jne 0x442d68
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x18c]
call fcn.004375d0
mov ecx, dword [esp + 0x78]
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 0xc]
mov dword [eax + edx*8 + 4], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + edx*8], ecx
inc dword [esi + 0x10]
lea eax, [edi + ebx]
test byte [edi + ebx + 0x138], 0x20
mov dword [esp + 0x38], eax
jne 0x442f35
lea eax, [edi + ebx + 0x38]
mov ecx, dword [esi + 0x14]
mov dword [esp + 0x190], eax
mov eax, dword [esp + 0x144]
mov ebx, dword [ecx + 0x24]
mov dword [esp + 0x188], ecx
mov dword [esp + 0x194], eax
mov eax, dword [ecx + 0x28]
mov ecx, 0xfffffec0
add ebx, ecx
shl eax, 6
mov esi, ebx
lea eax, [eax + eax*4]
mov dword [esp + 0x78], eax
test eax, eax
je 0x442e4a
mov edi, dword [esi + 0x178]
mov ecx, 0xcffbfe5f
mov edx, 0x59636393
add eax, 0xfffffec0
xor edi, ecx
mov ecx, dword [esi + 0x17c]
add esi, 0x140
xor ecx, edx
or ecx, edi
jne 0x442dca
mov eax, dword [esi + 0x7c]
cmp eax, 0x110000
je 0x442e4a
cmp eax, dword [esp + 0x194]
jne 0x442e4a
mov eax, dword [esp + 0x188]
test dword [eax + 0xc8], 0x100
jne 0x442e4a
mov edx, dword [esp + 0x188]
mov esi, 0x100
mov eax, dword [edx + 0xcc]
mov ecx, dword [edx + 0xd0]
or eax, dword [edx + 0xd4]
and ecx, esi
and eax, 0x200
or eax, ecx
je 0x44387e
mov esi, dword [esp + 0x78]
test esi, esi
je 0x442ec4
mov eax, dword [ebx + 0x178]
mov edi, dword [ebx + 0x17c]
mov ecx, 0x4d079478
mov edx, 0x30ff0b7c
add ebx, 0x140
add esi, 0xfffffec0
xor eax, ecx
xor edi, edx
or edi, eax
jne 0x442e4e
mov eax, dword [ebx + 0x7c]
cmp eax, 0x110000
je 0x442ec4
cmp eax, dword [esp + 0x194]
jne 0x442ec4
mov eax, dword [esp + 0x188]
mov eax, dword [eax + 0xc8]
test eax, 0x200
jne 0x442ec4
mov ecx, dword [esp + 0x188]
mov edx, 0x600
and eax, 0x400
mov ecx, dword [ecx + 0xd0]
and ecx, edx
or eax, ecx
je 0x44388c
mov edi, dword [esp + 0x18]
mov ebx, dword [ebp + 8]
mov ecx, edi
mov edx, ebx
push dword [esp + 0x38]
call fcn.0044a390
add esp, 4
mov eax, dword [esp + 0x190]
mov ecx, ebx
mov edx, dword [eax]
push 2
push dword [edi + 0x18]
push dword [eax + 4]
call fcn.0045fea0
add esp, 0xc
mov ecx, dword [esp + 0x80]
mov ebx, dword [esp + 0x70]
mov edi, dword [esp + 0x60]
lea eax, [ecx - 6]
cmp eax, 2
lea eax, [esp + 0x9c]
jb 0x44307b
cmp ecx, 4
je 0x443031
test ecx, ecx
lea eax, [esp + 0x9c]
je 0x44307b
jmp 0x443090
mov edx, dword [esp + 0x60]
cmp edx, dword [esp + 0x10]
je 0x442f7d
movzx eax, byte [edx]
test al, al
jns 0x442f8d
cmp al, 0xe0
jb 0x442f8d
cmp al, 0xf0
jb 0x442f8d
movzx esi, byte [edx + 1]
movzx ecx, byte [edx + 2]
movzx edx, byte [edx + 3]
and eax, 7
shl eax, 0x12
and esi, 0x3f
and ecx, 0x3f
and edx, 0x3f
shl esi, 0xc
shl ecx, 6
or ecx, esi
or edx, ecx
or edx, eax
cmp edx, 0x110000
jne 0x442f8d
mov ebx, dword [esp + 0x3c]
mov eax, dword [esp + 0x4c]
test ebx, ebx
jne 0x442fb8
xor edi, edi
jmp 0x442fd4
mov edx, dword [esp + 0x40]
mov edi, dword [esp + 0x70]
mov ecx, dword [esp + 8]
cmp edx, edi
jbe 0x442fab
movzx eax, byte [ecx + edi]
and al, 0xc0
cmp al, 0x80
je 0x448925
mov eax, edx
sub eax, edi
jb 0x448919
lea ebx, [ecx + edi]
test eax, eax
mov edi, ebx
cmove edi, eax
je 0x442fd4
cmp byte [ebx], 0x3d
lea ecx, [ebx + 1]
mov edx, 0
lea esi, [eax - 1]
cmovne ecx, edx
jmp 0x442fdf
mov esi, dword [esp + 0x1bc]
xor eax, eax
xor ecx, ecx
mov edx, dword [esp + 0x18]
xor ebx, ebx
test ecx, ecx
mov dword [esp + 0x1bc], esi
setne bl
cmovne edi, ecx
cmovne eax, esi
lea ecx, [esp + 0xd0]
push ebx
push dword [ebp + 8]
push dword [esp + 0x40]
push eax
push edi
call fcn.00449f80
add esp, 0x14
cmp dword [esp + 0xd0], 3
jne 0x443815
mov ecx, dword [esp + 0x60]
mov ebx, dword [esp + 0x70]
mov al, 1
mov dword [esp + 0x38], eax
jmp 0x442c61
cmp dword [esp + 0x9c], 0
je 0x44304f
push dword [esp + 0xa0]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0xa8], 0
lea eax, [esp + 0xb4]
je 0x44307b
push dword [esp + 0xac]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
lea eax, [esp + 0xb4]
cmp dword [eax], 0
je 0x443090
push dword [eax + 4]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov al, 1
mov dword [esp + 0x98], 2
mov dword [esp + 0x80], 2
mov ecx, edi
mov dword [esp + 0x38], eax
jmp 0x442c61
mov ecx, dword [edi + 0x128]
imul edx, dword [edi + 0x12c], 0x160
add edx, ecx
mov edi, dword [esp + 0x30]
cmp ecx, edx
je 0x443112
mov esi, dword [ecx + 0xf0]
cmp esi, 0x110000
je 0x4430e3
cmp esi, eax
je 0x443182
mov edi, dword [ecx + 0x114]
mov ebx, dword [ecx + 0x110]
lea esi, [ecx + 0x160]
shl edi, 3
test edi, edi
je 0x443108
add edi, 0xfffffff8
cmp eax, dword [ebx]
lea ebx, [ebx + 8]
jne 0x4430f8
jmp 0x443182
mov ecx, esi
mov edi, dword [esp + 0x30]
cmp ecx, edx
jne 0x4430cd
lea ecx, [esp + 0x120]
lea eax, [esp + 0x144]
mov dword [esp + 0xd0], 0x571184
mov dword [esp + 0xd4], 1
mov dword [esp + 0xe0], 0
lea edx, [esp + 0xd0]
mov dword [esp + 0xd8], ecx
lea ecx, [esp + 0x154]
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], fcn.004702c0
mov dword [esp + 0xdc], 1
call fcn.0044aff0
mov eax, 7
jmp 0x4435c9
mov esi, dword [ecx + 0xfc]
mov edi, dword [ecx + 0xf8]
test esi, esi
je 0x44356a
js 0x4485b3
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x4431be
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x445a23
mov dword [0x5920d8], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ebx, eax
test eax, eax
jne 0x44356f
jmp 0x445a23
cmp dword [esp + 0x80], 0
je 0x44284f
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
xor eax, 1
or eax, dword [esp + 0x44]
mov eax, dword [esp + 0x18]
mov ebx, dword [eax + 0x14]
je 0x443e54
mov dword [esp + 0x80], 0
mov ecx, dword [ebx + 0x34]
mov eax, dword [ebx + 0x30]
shl ecx, 2
add eax, 0xffffffec
lea ecx, [ecx + ecx*4]
nop word [eax + eax]
test ecx, ecx
je 0x44411e
mov edx, eax
add ecx, 0xffffffec
add eax, 0x14
cmp dword [edx + 0x14], 0x80000002
jne 0x443220
mov edi, dword [esp + 0x1c]
cmp dword [edx + 0x18], edi
jne 0x443220
mov ecx, dword [eax + 0x10]
mov edx, dword [ebx + 0x28]
cmp ecx, edx
jae 0x447cec
mov edi, dword [ebx + 0x24]
mov edx, ebx
lea ebx, [ecx + ecx*4]
mov ecx, dword [esp + 0x80]
shl ebx, 6
test byte [edi + ebx + 0x139], 0x40
sete al
or cl, al
je 0x445328
test byte [edx + 0xc9], 0x10
mov al, 1
jne 0x44328c
movzx eax, byte [edx + 0xd1]
and al, 0x10
shr al, 4
mov ecx, dword [esp + 0x1c]
mov esi, 1
cmp ecx, dword [esp + 0x5c]
movzx ecx, byte [esp + 0x24]
mov edx, ecx
cmove edx, esi
mov esi, dword [esp + 0x18]
test al, al
mov eax, dword [edi + ebx + 0x38]
cmove edx, ecx
mov dword [esp + 0x24], edx
mov edx, dword [esi + 0x10]
mov dword [esp + 0x10], eax
mov eax, dword [edi + ebx + 0x3c]
cmp edx, dword [esi + 8]
mov dword [esp + 8], eax
jne 0x4432d7
mov ecx, dword [esp + 0x18c]
call fcn.004375d0
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 0xc]
mov ecx, dword [esp + 8]
mov dword [eax + edx*8 + 4], ecx
mov ecx, dword [esp + 0x10]
mov dword [eax + edx*8], ecx
inc dword [esi + 0x10]
mov ecx, esi
mov esi, dword [ebp + 8]
lea eax, [edi + ebx]
lea edi, [edi + ebx + 0x138]
mov dword [esp + 0x7c], eax
mov edx, esi
push eax
call fcn.0044a390
add esp, 4
mov eax, dword [edi - 0x100]
mov dword [esp + 0x80], edi
mov edi, dword [edi - 0xfc]
mov edx, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x60], edi
push edi
mov dword [esp + 0x10], eax
push eax
push dword [esi + 0xc]
push dword [esi + 8]
call fcn.00462b80
add esp, 0x10
mov edi, dword [esi + 0x20]
mov ecx, dword [esi + 0x14]
mov ebx, edi
mov dword [esp + 0x10], ecx
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x20], edi
and ebx, eax
shr eax, 0x19
movd xmm0, eax
mov eax, dword [esi + 0x1c]
xor esi, esi
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
mov dword [esp + 8], ecx
pshufd xmm0, xmm0, 0
movdqu xmm1, xmmword [eax + ebx]
movdqa xmm2, xmm0
mov dword [esp + 0x28], eax
pcmpeqb xmm2, xmm1
pmovmskb edx, xmm2
test dx, dx
jne 0x4433c2
nop word [eax + eax]
pcmpeqd xmm2, xmm2
pcmpeqb xmm1, xmm2
pmovmskb ecx, xmm1
test ecx, ecx
jne 0x443420
lea ebx, [esi + ebx + 0x10]
movdqa xmm2, xmm0
add esi, 0x10
and ebx, edi
movdqu xmm1, xmmword [eax + ebx]
pcmpeqb xmm2, xmm1
pmovmskb edx, xmm2
test edx, edx
je 0x443390
tzcnt ecx, edx
add ecx, ebx
and ecx, edi
mov edi, eax
shl ecx, 2
sub edi, ecx
mov ecx, dword [edi - 4]
cmp dword [esp + 8], ecx
jbe 0x44692f
mov eax, dword [esp + 0x10]
lea edi, [edx - 1]
imul ecx, ecx, 0x38
and edi, edx
mov edx, dword [eax + ecx + 0x2c]
mov eax, dword [eax + ecx + 0x28]
xor edx, dword [esp + 0x60]
xor eax, dword [esp + 0xc]
or eax, edx
mov edx, edi
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x20]
jne 0x443382
mov eax, dword [esp + 0x10]
cmp dword [eax + ecx + 0x1c], 0
setne al
jmp 0x443422
xor eax, eax
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
and cl, 1
movzx eax, al
movzx esi, cl
lea ecx, [esp + 0xd0]
push esi
push eax
push 2
push dword [ebp + 8]
push dword [esp + 0x44]
mov esi, dword [esp + 0x5c]
push esi
push dword [esp + 0x94]
call fcn.0044b0a0
add esp, 0x1c
mov ecx, dword [esp + 0xd0]
lea eax, [ecx - 6]
cmp eax, 2
lea eax, [esp + 0xd4]
jb 0x4434d0
cmp ecx, 4
je 0x443481
test ecx, ecx
lea eax, [esp + 0xd4]
je 0x4434d0
jmp 0x4434e5
cmp dword [esp + 0xd4], 0
je 0x44349f
push dword [esp + 0xd8]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0xe0], 0
lea eax, [esp + 0xec]
je 0x4434d0
push dword [esp + 0xe4]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
lea eax, [esp + 0xec]
nop dword [eax + eax]
cmp dword [eax], 0
je 0x4434e5
push dword [eax + 4]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov ecx, dword [esp + 0x80]
test dword [ecx], 0x100002
je 0x44352e
mov eax, dword [ecx - 0x100]
mov dword [esp + 0x44], 0
mov dword [esp + 0x54], eax
mov eax, dword [ecx - 0xfc]
mov dword [esp + 0x58], eax
mov eax, 2
test dword [esp + 0x1a0], 0x7fffffff
mov dl, 1
mov dword [esp + 0x38], edx
je 0x4411ba
jmp 0x443553
inc dword [esp + 0x1c]
xor eax, eax
mov dword [esp + 0x44], 0
test dword [esp + 0x1a0], 0x7fffffff
mov dl, 1
mov dword [esp + 0x38], edx
je 0x4411ba
push esi
push 0
push dword [0x5920d8]
mov esi, eax
call sub.KERNEL32.dll_HeapFree
mov eax, esi
jmp 0x4411ba
mov ebx, 1
push esi
push edi
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x18]
cmp dword [eax], 0
jne 0x443593
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x18]
mov dword [ecx], 1
mov dword [ecx + 4], eax
cmp dword [esp + 0x3c], 0
mov edi, dword [esp + 0x30]
jne 0x4435b2
mov eax, dword [esp + 0x60]
cmp dword [esp + 0x10], eax
jne 0x4435b2
mov eax, dword [esp + 0x18]
mov dword [eax], 0
xor eax, eax
mov dword [esp + 0x154], esi
mov dword [esp + 0x158], ebx
mov dword [esp + 0x15c], esi
mov dword [esp + 0x150], eax
mov ecx, dword [esp + 0x80]
lea eax, [ecx - 6]
cmp eax, 2
lea eax, [esp + 0x9c]
jb 0x443661
cmp ecx, 4
je 0x443617
test ecx, ecx
lea eax, [esp + 0x9c]
je 0x443661
jmp 0x443691
cmp ecx, 2
jne 0x441af7
movzx eax, word [edi]
cmp eax, 0x2d2d
jne 0x441af7
jmp 0x441a8e
cmp dword [esp + 0x9c], 0
je 0x443635
push dword [esp + 0xa0]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0xa8], 0
lea eax, [esp + 0xb4]
je 0x443661
push dword [esp + 0xac]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
lea eax, [esp + 0xb4]
cmp dword [eax], 0
je 0x443691
push dword [eax + 4]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x50]
mov eax, dword [eax*4 + 0x448980]
add eax, dword [esp + 0x198]
jmp eax
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x50]
mov eax, dword [eax*4 + 0x448980]
add eax, dword [esp + 0x198]
jmp eax
mov edx, dword [esp + 0x3c]
test edx, edx
je 0x44379c
lea edi, [esp + 0x120]
mov ecx, edi
push dword [esp + 0x4c]
call fcn.0042a170
add esp, 4
lea eax, [esp + 0x178]
lea ecx, [esp + 0x130]
lea edx, [esp + 0xd0]
mov dword [esp + 0x178], edi
mov dword [esp + 0xd0], 0x571184
mov dword [esp + 0xd4], 1
mov dword [esp + 0xe0], 0
mov dword [esp + 0x17c], 0x454a40
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], 1
call fcn.0042a3a0
mov eax, dword [esp + 0x120]
cmp eax, 0x80000000
je 0x443760
test eax, eax
je 0x443760
push dword [esp + 0x124]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x98]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x138]
movq xmm0, qword [esp + 0x130]
lea ecx, [esp + 0x154]
mov dword [ecx + 8], eax
movq qword [ecx], xmm0
mov dword [esp + 0x150], 7
jmp 0x443875
mov edi, dword [esp + 0x30]
mov eax, 9
jmp 0x44249e
movsd xmm2, qword [esp + 0xb0]
movsd xmm1, qword [esp + 0xa8]
movq xmm0, qword [esp + 0xb8]
mov edi, dword [esp + 0x30]
mov ecx, dword [esp + 0x50]
movsd qword [esp + 0x168], xmm2
movq xmm2, qword [esp + 0x98]
movsd qword [esp + 0x160], xmm1
movq xmm1, qword [esp + 0xa0]
movq qword [esp + 0x170], xmm0
movq qword [esp + 0x150], xmm2
movq qword [esp + 0x158], xmm1
mov eax, dword [esp + 0x150]
mov eax, dword [eax*4 + 0x448980]
add eax, dword [esp + 0x198]
jmp eax
movsd xmm2, qword [esp + 0xe8]
movsd xmm1, qword [esp + 0xe0]
movq xmm0, qword [esp + 0xf0]
movsd qword [esp + 0x168], xmm2
movsd qword [esp + 0x160], xmm1
movq xmm2, qword [esp + 0xd0]
movq xmm1, qword [esp + 0xd8]
movq qword [esp + 0x170], xmm0
movq qword [esp + 0x158], xmm1
movq qword [esp + 0x150], xmm2
mov al, 1
mov dword [esp + 0x38], eax
mov edi, dword [esp + 0x30]
jmp 0x4435d0
mov eax, 9
mov dword [esp + 0x150], eax
jmp 0x44386f
mov eax, 0xa
mov dword [esp + 0x150], eax
jmp 0x44386f
mov esi, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
mov edx, dword [esi + 8]
cmp edx, ecx
jb 0x448668
mov esi, dword [esp + 0x40]
neg edi
mov dword [esp + 0x3c], edx
shl edi, 4
mov eax, dword [esi + edi - 8]
mov ebx, dword [esi + edi - 4]
mov edi, ecx
mov dword [esp + 0x34], edi
mov dword [esp + 0x10], eax
lea eax, [eax + ebx*8]
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 0xc]
mov dword [eax + 8], ecx
mov ecx, edx
mov esi, dword [eax + 4]
sub ecx, edi
mov dword [esp + 0x70], ecx
jne 0x4439fa
mov eax, dword [eax]
mov edx, edi
sub eax, edi
cmp eax, ebx
jb 0x443eef
mov edi, dword [esp + 0x10]
test ebx, ebx
je 0x443a86
mov eax, edx
shl eax, 4
lea eax, [esi + eax + 0xd]
xor esi, esi
mov dword [esp + 0x80], eax
jmp 0x443999
push ecx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ebx, eax
test eax, eax
je 0x4485cc
lea eax, [edi + esi]
mov edi, dword [esp + 8]
mov dword [esp + 0x20], eax
push edi
push dword [esp + 0x64]
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0xc]
mov dword [ecx + esi*2 - 0xd], edi
mov dword [ecx + esi*2 - 9], ebx
mov dword [ecx + esi*2 - 5], edi
mov byte [ecx + esi*2 - 1], 0
mov edi, dword [esp + 0x10]
inc edx
movzx eax, word [esp + 0xd0]
mov word [ecx + esi*2], ax
movzx eax, byte [esp + 0xd2]
mov byte [ecx + esi*2 + 2], al
mov ecx, dword [esp + 0x20]
add esi, 8
add ecx, 8
cmp ecx, dword [esp + 0x28]
je 0x443a86
mov ecx, dword [edi + esi + 4]
mov eax, dword [edi + esi]
mov dword [esp + 0xc], edx
test ecx, ecx
mov dword [esp + 8], ecx
mov dword [esp + 0x60], eax
je 0x4439f0
js 0x4485b3
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x443920
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4485cc
mov dword [0x5920d8], eax
mov ecx, dword [esp + 8]
jmp 0x443920
mov ebx, 1
jmp 0x443933
lea eax, [ebx*8]
test ebx, ebx
mov dword [esp + 0xc], eax
je 0x443aa7
mov eax, dword [ebp + 0xc]
mov edi, ebx
mov dword [esp + 8], edi
mov eax, dword [eax]
sub eax, dword [esp + 0x3c]
cmp eax, ebx
mov ebx, dword [esp + 0x34]
mov edx, ebx
jb 0x444051
add edi, ebx
mov eax, ebx
shl ecx, 4
mov ebx, edi
shl eax, 4
shl ebx, 4
add eax, esi
add ebx, esi
push ecx
push eax
mov dword [esp + 0x68], ebx
push ebx
mov ebx, edx
call sub.msvcrt.dll_memmove
mov edx, ebx
add esp, 0xc
cmp ebx, edi
jne 0x443d3f
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x4c], edx
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0xc]
cmp dword [esp + 0x28], edi
jne 0x443ac3
mov edx, ecx
mov ecx, dword [ebp + 0xc]
cmp dword [esp + 0x3c], edx
je 0x443fb8
jmp 0x443f7d
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0x2c]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x4c], edx
cmp dword [esp + 0x3c], edx
je 0x443fb8
jmp 0x443f7d
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x2c]
mov edx, ecx
mov dword [esp + 0x4c], ecx
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0xc]
cmp dword [esp + 0x28], edi
je 0x443a72
cmp esi, 0x3ffffff8
ja 0x4485b3
add esi, esi
js 0x4485b3
mov dword [esp + 0x40], edx
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x443afd
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x448672
mov dword [0x5920d8], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x448672
lea esi, [eax + 0xd]
mov dword [esp + 0x78], eax
add eax, 0x10
xor edx, edx
mov ecx, 0x10
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], eax
jmp 0x443bc5
mov dword [0x5920d8], eax
push dword [esp + 0xc]
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov edi, eax
test eax, eax
je 0x4485da
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 0xc]
lea eax, [eax + ecx*8]
mov dword [esp + 0x7c], eax
push ebx
push dword [esp + 0x84]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov dword [esi - 0xd], ebx
mov dword [esi - 9], edi
mov dword [esi - 5], ebx
mov byte [esi - 1], 0
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x7c]
mov ebx, dword [esp + 0x60]
mov edx, dword [esp + 8]
movzx eax, word [esp + 0xd0]
add ecx, 0x10
add edi, 8
inc edx
mov word [esi], ax
mov dword [esp + 8], ecx
lea ecx, [ebx + 0x10]
movzx eax, byte [esp + 0xd2]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 8]
mov byte [esi + 2], al
add esi, 0x10
cmp edi, dword [esp + 0x28]
mov edi, dword [esp + 0x10]
je 0x443c2a
mov ebx, dword [edi + edx*8]
mov edi, dword [edi + edx*8 + 4]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x20], ecx
mov dword [esp + 8], edx
test edi, edi
mov dword [esp + 0x80], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 0x60], eax
je 0x443c20
js 0x4485b3
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x443b35
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
jne 0x443b30
jmp 0x4485da
mov edi, 1
jmp 0x443b4b
mov esi, dword [esp + 0x78]
mov ecx, edx
shl ecx, 4
add ecx, esi
test edx, edx
je 0x443e2a
mov esi, dword [ebp + 0xc]
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x70]
mov edi, dword [esp + 0x4c]
mov ebx, edx
mov eax, dword [esi]
lea edx, [ecx + edi]
sub eax, edx
cmp eax, ebx
jb 0x4440c1
add ebx, edi
mov eax, esi
shl edi, 4
mov esi, ebx
mov dword [esp + 8], ebx
mov ebx, dword [eax + 4]
mov eax, ecx
mov edx, esi
shl eax, 4
shl edx, 4
add edi, ebx
add edx, ebx
push eax
push edi
mov dword [esp + 0x88], edx
push edx
call sub.msvcrt.dll_memmove
add esp, 0xc
cmp dword [esp + 0x40], esi
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x20]
je 0x443f14
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x78]
mov eax, ecx
inc ecx
shl eax, 4
mov dword [esp + 0x40], ecx
mov ecx, edx
add ebx, eax
add ecx, 0x10
nop dword [eax + eax]
test edi, edi
je 0x443f0c
mov esi, ecx
mov ecx, dword [edx]
mov eax, edi
lea edi, [edx + 0x10]
cmp ecx, 0x80000000
je 0x443f12
mov dword [esp + 0xc], edi
mov edi, dword [edx + 0xc]
mov dword [esp + 0xd8], edi
mov edi, eax
movsd xmm0, qword [edx + 4]
mov edx, dword [esp + 0x40]
add edi, 0xfffffff0
movsd qword [esp + 0xd0], xmm0
mov dword [ebx], ecx
movq xmm0, qword [esp + 0xd0]
movq qword [ebx + 4], xmm0
mov ecx, dword [esp + 0xd8]
mov dword [ebx + 0xc], ecx
mov ecx, dword [ebp + 0xc]
add ebx, 0x10
mov dword [ecx + 8], edx
inc edx
cmp ebx, dword [esp + 0x80]
lea ecx, [esi + 0x10]
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0xc]
jne 0x443cc0
jmp 0x443f14
mov dword [esp + 0x4c], edi
mov edi, dword [esp + 8]
mov eax, dword [esp + 0x2c]
mov ecx, dword [ebp + 0xc]
shl edx, 4
add esi, edx
shl edi, 3
jmp 0x443dc8
push ebx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ecx, dword [esp + 0xc]
mov edi, eax
test eax, eax
je 0x44544f
add dword [esp + 0x10], 8
push ebx
push ecx
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov dword [esi], ebx
mov dword [esi + 4], edi
mov dword [esi + 8], ebx
mov byte [esi + 0xc], 0
mov ecx, dword [ebp + 0xc]
mov edi, dword [esp + 8]
movzx eax, word [esp + 0xd0]
add edi, 0xfffffff8
mov word [esi + 0xd], ax
movzx eax, byte [esp + 0xd2]
mov byte [esi + 0xf], al
add esi, 0x10
mov eax, dword [esp + 0x2c]
mov edx, dword [ecx + 8]
inc edx
cmp esi, dword [esp + 0x60]
mov dword [ecx + 8], edx
je 0x443e37
test edi, edi
je 0x443f73
mov eax, dword [esp + 0x10]
mov dword [esp + 8], edi
mov ebx, dword [eax + 4]
mov ecx, dword [eax]
test ebx, ebx
je 0x443e20
js 0x4485b3
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
mov dword [esp + 0xc], ecx
test eax, eax
jne 0x443d60
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x44544f
mov dword [0x5920d8], eax
jmp 0x443d60
mov edi, 1
jmp 0x443d77
mov eax, dword [esp + 0x4c]
mov dword [esp + 8], eax
jmp 0x443f20
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x34]
sub esi, edi
cmp dword [esp + 0x28], edi
jne 0x443ac3
jmp 0x443a72
mov ecx, dword [ebx + 0x28]
mov eax, dword [ebx + 0x24]
mov edx, 0xfffffec0
shl ecx, 6
add eax, edx
lea ecx, [ecx + ecx*4]
nop word [eax + eax]
test ecx, ecx
je 0x44862e
mov edx, dword [eax + 0x178]
mov esi, dword [eax + 0x17c]
add eax, 0x140
add ecx, 0xfffffec0
xor edx, dword [esp + 0x54]
xor esi, dword [esp + 0x58]
or esi, edx
jne 0x443e70
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0xd0]
push 0
push 1
push 2
push dword [ebp + 8]
push dword [esp + 0x44]
push dword [esp + 0x5c]
push eax
call fcn.0044b0a0
add esp, 0x1c
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x44], 0
cmp eax, 1
je 0x443feb
mov ecx, dword [esp + 0x50]
cmp eax, 2
mov eax, 0
je 0x443ffe
jmp 0x4488c8
mov edi, dword [ebp + 0xc]
mov ecx, edi
push ebx
call fcn.004b7c80
add esp, 4
mov esi, dword [edi + 4]
mov edx, dword [edi + 8]
mov edi, dword [esp + 0x10]
jmp 0x443908
mov esi, dword [esp + 0x7c]
jmp 0x443f14
mov esi, edi
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x60]
mov ecx, dword [esp + 0x7c]
cmp ecx, esi
je 0x443f4d
sub ebx, esi
add esi, 4
shr ebx, 4
jmp 0x443f36
add esi, 0x10
dec ebx
je 0x443f4d
cmp dword [esi - 4], 0
je 0x443f30
push dword [esi]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x443f30
cmp dword [esp + 0x28], edi
je 0x443f64
push dword [esp + 0x78]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 8]
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
cmp dword [esp + 0x3c], edx
je 0x443fb8
mov edi, ecx
mov esi, dword [ecx + 8]
mov ecx, dword [esp + 0x4c]
cmp ecx, esi
je 0x443fb1
mov eax, dword [edi + 4]
shl ecx, 4
add ecx, eax
mov edx, ecx
mov ecx, esi
shl ecx, 4
add ecx, eax
mov eax, dword [esp + 0x70]
shl eax, 4
push eax
push edx
push ecx
call sub.msvcrt.dll_memmove
mov eax, dword [esp + 0x38]
add esp, 0xc
add esi, dword [esp + 0x70]
mov dword [edi + 8], esi
mov ecx, dword [esp + 0x50]
test dword [esp + 0x1a0], 0x7fffffff
je 0x4411b6
push dword [esp + 0x48]
push 0
push dword [0x5920d8]
mov esi, eax
mov edi, ecx
call sub.KERNEL32.dll_HeapFree
mov ecx, edi
mov eax, esi
jmp 0x4411b6
mov edi, dword [esp + 0xd8]
mov ecx, dword [esp + 0xdc]
mov eax, 1
mov dword [esp + 0x30], edi
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], ecx
jmp 0x443fbc
mov edi, dword [esp + 0x18]
mov esi, dword [ebp + 8]
mov ebx, dword [esp + 0x80]
mov ecx, edi
mov edx, esi
push ebx
call fcn.0044a390
add esp, 4
mov edx, dword [ebx + 0x38]
mov ecx, esi
push 2
push dword [edi + 0x18]
push dword [ebx + 0x3c]
call fcn.0045fea0
add esp, 0xc
mov cl, 1
xor eax, eax
mov dword [esp + 0x44], 0
mov dword [esp + 0x38], ecx
jmp 0x443fb8
mov edi, dword [ebp + 0xc]
mov edx, dword [esp + 0x3c]
mov ecx, edi
push dword [esp + 8]
call fcn.004b7c80
mov ecx, dword [esp + 0x74]
add esp, 4
mov esi, dword [edi + 4]
mov edx, dword [edi + 8]
mov edi, dword [esp + 8]
jmp 0x443a2a
mov eax, dword [eax*4 + 0x448954]
add eax, ecx
jmp eax
mov al, 1
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x2c]
jmp 0x443fb8
mov ecx, esi
push ebx
call fcn.004b7c80
mov ecx, dword [esp + 0x74]
add esp, 4
mov eax, dword [esi + 8]
mov dword [esp + 0x40], eax
jmp 0x443c5d
mov cl, 1
mov dword [esp + 0x24], ecx
jmp 0x443fb8
test byte [ebx + 0xc9], 0x40
jne 0x444213
test byte [ebx + 0xd1], 0x40
jne 0x444213
cmp byte [esp + 0x80], 0
mov ecx, dword [esp + 0x20]
je 0x4442b8
xor eax, eax
cmp byte [esp + 0x38], 0
mov edx, dword [esp + 0x28]
mov edi, dword [esp + 0x7c]
setne al
test edx, edx
cmovne edi, dword [esp + 0x48]
cmovne ecx, dword [esp + 0x34]
mov dword [esp + 0xd4], edi
mov dword [esp + 0xd8], ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xd0], edx
lea edx, [esp + 0xd0]
push eax
call 0x4489b0
add esp, 4
test eax, eax
je 0x4442b8
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x48]
lea ecx, [esp + 0x130]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x1c], eax
push dword [esp + 0x34]
call fcn.0042a170
add esp, 4
mov ebx, dword [esp + 0x138]
mov edi, dword [esp + 0x134]
test ebx, ebx
je 0x44539c
js 0x4485b3
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
mov esi, dword [esp + 0x18]
test eax, eax
jne 0x4441fd
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x44544f
mov dword [0x5920d8], eax
push ebx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
jne 0x4453a5
jmp 0x44544f
cmp dword [esp + 0x28], 0
mov edx, dword [esp + 0x20]
je 0x444263
lea edi, [esp + 0xd0]
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], 0
lea edx, [esp + 0x98]
mov ecx, edi
push 0
push str.PathTryFromIntErrornumber_of_bones_should_fit_in_i32vmesh_src_v3mc.rs
call fcn.004652d0
add esp, 8
mov ecx, dword [esp + 0x74]
mov edx, ebx
push edi
call fcn.00450b70
add esp, 4
jmp 0x446269
test edx, edx
je 0x444325
mov esi, dword [esp + 0x18]
js 0x4485b3
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x444297
call sub.KERNEL32.dll_GetProcessHeap
mov edx, dword [esp + 0x20]
test eax, eax
je 0x4442ae
mov dword [0x5920d8], eax
push edx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov edx, dword [esp + 0x20]
mov edi, eax
test eax, eax
jne 0x44432e
mov ecx, 1
call fcn.00429f60
mov edx, dword [esp + 0x48]
lea ecx, [esp + 0x144]
push dword [esp + 0x34]
call fcn.0042a170
add esp, 4
mov ebx, dword [esp + 0x14c]
mov esi, dword [esp + 0x148]
test ebx, ebx
je 0x444869
js 0x4485b3
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x44430d
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x44544f
mov dword [0x5920d8], eax
push ebx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov edi, eax
test eax, eax
jne 0x44486e
jmp 0x44544f
mov esi, dword [esp + 0x18]
mov edi, 1
push edx
push dword [esp + 0x10]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
call fcn.004b3550
test eax, eax
je 0x448704
movdqu xmm0, xmmword [eax]
mov bl, 1
movd edx, xmm0
pshufd xmm1, xmm0, 0x55
add edx, 1
movd ecx, xmm1
adc ecx, 0
mov dword [eax], edx
mov dword [eax + 4], ecx
movdqu xmmword [esp + 0x98], xmm0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 8
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0x5812f0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc8], 0
mov eax, dword [esi + 0x14]
test byte [eax + 0xc9], 0x80
jne 0x4443de
movzx ebx, byte [eax + 0xd1]
shr bl, 7
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x24], edi
mov edi, dword [ebp + 0x10]
mov edx, dword [eax + 8]
mov ecx, edi
cmp edi, edx
mov edi, dword [esp + 0x20]
ja 0x448725
mov eax, dword [eax + 4]
mov dword [esp + 0x30], 0x1c9d3adb
mov dword [esp + 0x34], 0x639f298e
mov dword [ebp + 0x10], edx
je 0x444679
shl edx, 4
shl ecx, 4
mov byte [esp + 0x5c], bl
add edx, eax
add ecx, eax
mov dword [esp + 0x7c], edx
nop word [eax + eax]
mov edx, dword [ecx + 4]
mov edi, dword [ecx + 8]
test bl, bl
jne 0x44446c
mov ebx, edi
mov edi, ecx
lea ecx, [esp + 0xd0]
mov esi, edx
push ebx
call fcn.0046eab0
mov ecx, edi
mov edi, ebx
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
mov edx, esi
add esp, 4
cmp dword [esp + 0xd0], 0
jne 0x4452b2
test edi, edi
mov dword [esp + 0x28], ecx
je 0x4444c0
js 0x4485b3
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
mov ebx, edx
test eax, eax
jne 0x44449e
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x445390
mov dword [0x5920d8], eax
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov esi, eax
test eax, eax
mov edx, ebx
jne 0x4444c5
jmp 0x445390
mov esi, 1
push edi
push edx
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov dword [esp + 0xd0], edi
mov dword [esp + 0xd4], esi
mov dword [esp + 0xd8], edi
mov byte [esp + 0xdc], 0
lea ecx, [esp + 0x98]
mov edx, 0x639f298e
push 0
push 2
lea eax, [esp + 0xd8]
push eax
mov eax, 0x1c9d3adb
push eax
call fcn.0045f800
add esp, 0x10
cmp dword [esp + 0xc0], 0
je 0x4472e8
mov edx, dword [esp + 0x9c]
add dword [esp + 0x28], 0x10
mov ecx, dword [esp + 0x98]
mov eax, 0x1c9d3adb
push eax
mov eax, 0x639f298e
push eax
push dword [esp + 0xac]
push dword [esp + 0xac]
call fcn.00462b80
pcmpeqd xmm3, xmm3
add esp, 0x10
mov edi, dword [esp + 0xb8]
mov ecx, dword [esp + 0xac]
xor esi, esi
mov ebx, edi
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0xc], edi
and ebx, eax
shr eax, 0x19
movd xmm0, eax
mov eax, dword [esp + 0xb4]
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
mov dword [esp + 0x1c], ecx
pshufd xmm0, xmm0, 0
movdqu xmm1, xmmword [eax + ebx]
movdqa xmm2, xmm0
mov dword [esp + 0x60], eax
pcmpeqb xmm2, xmm1
pmovmskb edx, xmm2
nop word cs:[eax + eax]
nop dword [eax]
test dx, dx
jne 0x4445fe
nop word cs:[eax + eax]
nop
pcmpeqb xmm1, xmm3
pmovmskb ecx, xmm1
test ecx, ecx
jne 0x4472e8
lea ebx, [esi + ebx + 0x10]
movdqa xmm2, xmm0
add esi, 0x10
and ebx, edi
movdqu xmm1, xmmword [eax + ebx]
pcmpeqb xmm2, xmm1
pmovmskb edx, xmm2
test edx, edx
je 0x4445d0
tzcnt ecx, edx
add ecx, ebx
and ecx, edi
mov edi, eax
shl ecx, 2
sub edi, ecx
mov ecx, dword [edi - 4]
cmp dword [esp + 0x1c], ecx
jbe 0x445312
lea edi, [edx - 1]
imul ecx, ecx, 0x38
mov eax, 0x1c9d3adb
and edi, edx
mov dword [esp + 0x10], edi
mov edi, dword [esp + 8]
mov edx, dword [edi + ecx + 0x2c]
xor edx, eax
mov eax, dword [edi + ecx + 0x28]
mov edi, 0x639f298e
xor eax, edi
mov edi, dword [esp + 0xc]
or eax, edx
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x10]
jne 0x4445c0
movzx ebx, byte [esp + 0x5c]
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x7c]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x20]
mov byte [eax + ecx + 0x21], bl
mov ecx, dword [esp + 0x28]
cmp ecx, edx
jne 0x444430
test edi, edi
je 0x4446ec
mov ecx, edi
mov edi, dword [esp + 0x24]
xor esi, esi
mov eax, 0x811c9dc5
nop word [eax + eax]
mov dword [esp + 0x10], ecx
movzx ecx, byte [edi]
imul esi, esi, 0x1b3
inc edi
xor ecx, eax
mov eax, 0x100
mov ebx, ecx
imul ebx, eax
mov eax, ecx
mov ecx, 0x1b3
mul ecx
mov ecx, dword [esp + 0x10]
add edx, ebx
add esi, edx
dec ecx
jne 0x444690
xor eax, 0xff
mov edi, 0x100
mov ecx, 0x1b3
imul edi, eax
mul ecx
imul ecx, esi, 0x1b3
mov esi, dword [esp + 0x18]
add edx, edi
mov edi, dword [esp + 0x20]
mov dword [esp + 0x34], eax
add ecx, edx
mov dword [esp + 0x30], ecx
mov eax, dword [esp + 0x24]
movsd xmm1, qword [esp + 0xa0]
mov dword [esp + 0x110], edi
movsd xmm2, qword [esp + 0xb0]
movq xmm0, qword [esp + 0x98]
mov ecx, dword [esp + 0x30]
mov ebx, dword [ebp + 8]
lea edx, [esp + 0xd0]
mov dword [esp + 0x114], eax
mov dword [esp + 0x118], edi
movsd qword [esp + 0xe0], xmm1
movsd xmm1, qword [esp + 0xa8]
movsd qword [esp + 0xf0], xmm2
movq xmm2, qword [esp + 0xc0]
mov eax, dword [esp + 0x34]
movq qword [esp + 0xd8], xmm0
movsd qword [esp + 0xe8], xmm1
movsd xmm1, qword [esp + 0xb8]
movq qword [esp + 0x100], xmm2
movsd qword [esp + 0xf8], xmm1
movq xmm1, qword [esp + 0xc8]
movq qword [esp + 0x108], xmm1
mov dword [esp + 0xd4], ecx
mov ecx, ebx
mov dword [esp + 0xd0], eax
call fcn.0045f4e0
movzx eax, byte [esp + 0x80]
mov ecx, esi
mov edx, ebx
push eax
call fcn.0044b680
add esp, 4
mov esi, dword [esi + 0x14]
lea edi, [esp + 0xd0]
mov ecx, edi
mov edx, esi
call fcn.00435bd0
mov ecx, dword [esp + 0x74]
mov dword [esp + 0xdc], esi
mov edx, edi
push ebx
push dword [esp + 0x5c]
push dword [esp + 0x5c]
push dword [esp + 0x50]
push dword [esp + 0x3c]
call fcn.00454b50
add esp, 0x14
mov esi, dword [esp + 0xd8]
test esi, esi
je 0x44482d
mov edi, dword [esp + 0xd4]
add edi, 0xc
jmp 0x444816
add edi, 0x18
dec esi
je 0x44482d
cmp dword [edi - 4], 0
je 0x444810
push dword [edi]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x444810
cmp dword [esp + 0xd0], 0
je 0x446269
push dword [esp + 0xd4]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x446269
inc edi
mov eax, 0xffffffff
cmovne eax, edi
mov dword [ebp + 0x10], eax
mov eax, dword [esp + 0x24]
jmp 0x4473d1
mov edi, 1
push ebx
push esi
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x18]
mov dword [esp + 0x40], edi
lea edx, [esp + 0x98]
mov eax, dword [eax + 0x14]
mov ecx, dword [eax + 0x128]
imul eax, dword [eax + 0x12c], 0x160
mov dword [esp + 0x98], 2
mov dword [esp + 0xac], 2
mov dword [esp + 0x1a4], edi
mov dword [esp + 0x1a8], ebx
add eax, ecx
mov dword [esp + 0xc0], ecx
lea ecx, [esp + 0xd0]
mov dword [esp + 0xc4], eax
lea eax, [esp + 0x1a4]
mov dword [esp + 0xc8], eax
lea eax, [esp + 0xcc]
push eax
call fcn.004369c0
add esp, 4
mov edi, dword [esp + 0xd8]
cmp edi, 0x80000000
jne 0x44491e
mov esi, dword [esp + 0x48]
xor edi, edi
mov dword [esp + 0x10], 4
mov dword [esp + 8], 0
jmp 0x4456d3
movsd xmm0, qword [esp + 0xd0]
movsd xmm1, qword [esp + 0xdc]
mov eax, dword [esp + 0xe4]
movsd qword [esp + 0x10], xmm0
movsd qword [esp + 0x130], xmm1
mov dword [esp + 0x138], eax
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x44496f
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4487ae
mov dword [0x5920d8], eax
push 0x60
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4487ae
movsd xmm0, qword [esp + 0x10]
mov esi, eax
mov dword [esp + 0x18c], ebx
mov dword [esp + 0x24], 1
mov dword [esp + 0x38], 0
movsd qword [eax], xmm0
mov dword [eax + 8], edi
movsd xmm0, qword [esp + 0x130]
movsd qword [eax + 0xc], xmm0
mov eax, dword [esp + 0x138]
mov dword [esi + 0x14], eax
mov dword [esp + 0x178], 4
mov dword [esp + 0x17c], esi
mov dword [esp + 0x180], 1
movsd xmm1, qword [esp + 0xb8]
movsd xmm2, qword [esp + 0xb0]
mov eax, dword [esp + 0xc8]
movsd xmm0, qword [esp + 0xc0]
movsd qword [esp + 0xf0], xmm1
movsd xmm1, qword [esp + 0xa8]
movsd qword [esp + 0xe8], xmm2
movsd xmm2, qword [esp + 0x98]
mov dword [esp + 0x100], eax
movsd qword [esp + 0xf8], xmm0
movsd qword [esp + 0xe0], xmm1
movsd xmm1, qword [esp + 0xa0]
movsd qword [esp + 0xd0], xmm2
movsd qword [esp + 0xd8], xmm1
jmp 0x444a96
lea eax, [edi + edi*2]
dec dword [esp + 0x38]
inc edi
movq qword [esi + eax*8], xmm1
mov dword [esi + eax*8 + 8], ebx
mov dword [esp + 0x24], edi
movq xmm0, qword [esp + 0x120]
movq qword [esi + eax*8 + 0xc], xmm0
mov ecx, dword [esp + 0x128]
mov dword [esi + eax*8 + 0x14], ecx
mov dword [esp + 0x180], edi
lea eax, [esp + 0x104]
lea ecx, [esp + 0x150]
lea edx, [esp + 0xd0]
push eax
call fcn.004369c0
add esp, 4
mov ebx, dword [esp + 0x158]
cmp ebx, 0x80000000
je 0x444b21
mov edi, dword [esp + 0x24]
lea ecx, [esp + 0x15c]
movq xmm1, qword [esp + 0x150]
mov eax, dword [ecx + 8]
movsd xmm0, qword [ecx]
cmp edi, dword [esp + 0x178]
mov dword [esp + 0x128], eax
movsd qword [esp + 0x120], xmm0
jne 0x444a60
lea ecx, [esp + 0x178]
mov edx, edi
movq qword [esp + 0x10], xmm1
call fcn.00437a40
movq xmm1, qword [esp + 0x10]
mov esi, dword [esp + 0x17c]
jmp 0x444a60
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x17c]
cmp edi, 0x15
mov dword [esp + 0x19c], eax
mov dword [esp + 0x2c], ecx
jae 0x444b6d
cmp edi, 1
jbe 0x445212
mov esi, dword [esp + 0x2c]
mov edx, edi
mov ecx, esi
push 1
call fcn.00440510
add esp, 4
lea eax, [edi + edi*2]
lea eax, [esi + eax*8]
mov dword [esp + 0x1c], eax
jmp 0x445228
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x444b8f
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4487e5
mov dword [0x5920d8], eax
lea ecx, [edi*4]
and ecx, 0xfffffff8
lea ecx, [ecx + ecx*2]
push ecx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
mov dword [esp + 0x80], eax
je 0x4487e5
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x444bd6
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4487f9
mov dword [0x5920d8], eax
push pe_nt_image_headers32
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4487f9
mov esi, eax
mov eax, dword [esp + 0x2c]
xor edx, edx
mov dword [esp + 0x3c], 0x10
lea ecx, [eax + 0x30]
add eax, 0xffffffe8
mov dword [esp + 0x30], eax
xor eax, eax
mov dword [esp + 0x50], ecx
jmp 0x444c21
mov edx, 1
mov eax, dword [esp + 0x44]
cmp eax, edi
jae 0x4451f0
mov ecx, eax
mov eax, edi
mov dword [esp + 0x28], edx
mov dword [esp + 0xc], esi
sub eax, ecx
mov dword [esp + 0x10], ecx
lea edx, [ecx + ecx*2]
mov ecx, dword [esp + 0x2c]
cmp eax, 2
lea ecx, [ecx + edx*8]
jae 0x444d30
mov dword [esp + 8], eax
mov eax, dword [esp + 0x10]
mov esi, edi
mov edx, esi
sub esi, eax
jb 0x448606
cmp edx, edi
ja 0x448606
mov dword [esp + 0x44], edx
jae 0x444c9c
cmp dword [esp + 8], 0xa
jae 0x444c9c
mov eax, dword [esp + 0x10]
lea esi, [eax + 0xa]
cmp esi, edi
cmovae esi, edi
mov dword [esp + 0x44], esi
sub esi, eax
jb 0x448642
mov eax, dword [esp + 8]
mov edx, esi
cmp eax, 1
adc eax, 0
push eax
call fcn.00440510
add esp, 4
mov edx, dword [esp + 0x28]
cmp edx, dword [esp + 0x3c]
jne 0x444d60
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x444cd0
mov ebx, edx
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x44861a
mov edx, ebx
mov dword [0x5920d8], eax
mov ecx, edx
shl ecx, 4
push ecx
push 0
push eax
mov ebx, edx
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x44861a
mov ecx, eax
lea eax, [ebx + ebx]
mov dword [esp + 0x3c], eax
lea eax, [ebx*8]
push eax
mov ebx, dword [esp + 0x10]
push ebx
push ecx
mov dword [esp + 0x14], ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
push ebx
mov ebx, dword [esp + 0x2c]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 8]
mov edx, ebx
jmp 0x444d64
movsd xmm0, qword [ecx]
movsd xmm1, qword [ecx + 0x18]
ucomisd xmm0, xmm1
ja 0x445050
cmp eax, 2
jne 0x445069
mov eax, dword [esp + 0x10]
mov dword [esp + 8], 2
lea esi, [eax + 2]
jmp 0x444c50
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [eax + edx*8], esi
mov esi, eax
mov dword [esp + 0xc], eax
mov dword [eax + edx*8 + 4], ecx
inc edx
cmp edx, 2
jae 0x444de0
jmp 0x444c15
mov eax, ebx
mov ebx, dword [esp + 0x28]
sub esi, edi
lea ecx, [ebx - 1]
mov dword [esp + 0x10], ecx
push esi
push edi
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x5c]
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x58]
add eax, dword [esp + 0x20]
mov dword [esi + ecx*8 + 8], eax
mov eax, dword [esp + 0x54]
mov dword [esi + ecx*8 + 0xc], eax
not ecx
lea eax, [edx + 8]
add ecx, ebx
shl ecx, 3
push ecx
push eax
push edx
call sub.msvcrt.dll_memmove
add esp, 0xc
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x24]
cmp edx, 1
jbe 0x444c10
mov eax, dword [esi + edx*8 - 8]
mov ecx, dword [esi + edx*8 - 4]
add ecx, eax
cmp ecx, edi
je 0x444e30
mov ebx, dword [esi + edx*8 - 0x10]
cmp ebx, eax
jbe 0x444e30
cmp edx, 2
jbe 0x4451d8
lea ecx, [edx - 3]
mov dword [esp + 0x60], ecx
mov ecx, dword [esi + edx*8 - 0x18]
lea esi, [ebx + eax]
cmp ecx, esi
jbe 0x444e44
cmp edx, 3
jbe 0x4451e2
mov esi, dword [esp + 0xc]
add ebx, ecx
cmp dword [esi + edx*8 - 0x20], ebx
jbe 0x444e44
jmp 0x444c15
cmp edx, 3
jb 0x444e4c
mov esi, dword [esp + 0xc]
lea ecx, [edx - 3]
mov dword [esp + 0x60], ecx
mov ecx, dword [esi + edx*8 - 0x18]
mov esi, dword [esp + 0x60]
cmp ecx, eax
jb 0x444e4f
lea esi, [edx - 2]
cmp edx, esi
jbe 0x44856b
lea eax, [esi + 1]
mov dword [esp + 0x28], edx
cmp edx, eax
jbe 0x44855d
mov ebx, edi
mov edi, dword [esp + 0xc]
mov eax, dword [edi + esi*8 + 8]
mov edx, dword [edi + esi*8 + 0xc]
mov ecx, dword [edi + esi*8 + 4]
add edx, eax
mov edi, edx
sub edi, ecx
mov dword [esp + 0x1c], edi
jb 0x448545
cmp edx, ebx
mov dword [esp + 0x5c], eax
ja 0x44854f
mov eax, dword [esp + 0xc]
mov edi, esi
mov dword [esp + 0x54], ecx
mov dword [esp + 0x60], edi
mov esi, dword [eax + esi*8]
lea eax, [ecx + ecx*2]
mov ecx, dword [esp + 0x2c]
lea ecx, [ecx + eax*8]
lea eax, [esi + esi*2]
mov dword [esp + 0x20], esi
lea ebx, [ecx + eax*8]
lea eax, [edx + edx*2]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0xc]
sub edx, esi
cmp edx, esi
lea eax, [eax + edi*8]
mov dword [esp + 0x58], eax
jae 0x444f90
lea eax, [edx*8]
mov dword [esp + 8], edx
lea esi, [eax + eax*2]
push esi
push ebx
mov edi, dword [esp + 0x88]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
add esi, edi
cmp dword [esp + 0x20], 0
jle 0x444d80
cmp dword [esp + 8], 0
jle 0x444d80
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x7c]
lea eax, [eax + ecx*8]
movsd xmm0, qword [ebx - 0x18]
movsd xmm1, qword [esi - 0x18]
xor ecx, ecx
xor edx, edx
ucomisd xmm0, xmm1
setbe cl
seta dl
neg ecx
neg edx
ucomisd xmm0, xmm1
lea ecx, [ecx + ecx*2]
lea edx, [edx + edx*2]
lea esi, [esi + ecx*8]
lea ebx, [ebx + edx*8]
mov ecx, esi
cmova ecx, ebx
cmp ebx, dword [esp + 0x10]
movsd xmm0, qword [ecx + 0x10]
movsd qword [eax + 0x10], xmm0
movsd xmm0, qword [ecx]
movsd xmm1, qword [ecx + 8]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
jbe 0x444d80
add eax, 0xffffffe8
cmp esi, edi
ja 0x444f20
jmp 0x444d80
lea eax, [esi*8]
lea esi, [eax + eax*2]
push esi
push ecx
mov edi, dword [esp + 0x88]
push edi
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x2c]
add esp, 0xc
add esi, edi
test eax, eax
jle 0x445040
cmp dword [esp + 0x1c], eax
jle 0x445040
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x80]
mov dword [esp + 8], esi
lea eax, [ecx + eax*8]
mov dword [esp + 0x1c], eax
nop
movsd xmm0, qword [edi]
xor ecx, ecx
xor edx, edx
mov eax, edi
mov esi, dword [esp + 0x10]
ucomisd xmm0, qword [ebx]
cmova eax, ebx
setbe cl
movsd xmm0, qword [eax + 0x10]
movsd qword [esi + 0x10], xmm0
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
lea eax, [ecx + ecx*2]
seta cl
lea edi, [edi + eax*8]
movsd qword [esi + 8], xmm1
movsd qword [esi], xmm0
add esi, 0x18
mov dword [esp + 0x10], esi
mov esi, dword [esp + 8]
cmp edi, esi
jae 0x445047
mov dl, cl
lea eax, [edx + edx*2]
lea ebx, [ebx + eax*8]
cmp ebx, dword [esp + 0x1c]
jb 0x444fe0
jmp 0x445047
mov edi, dword [esp + 0x80]
mov eax, dword [esp + 0x10]
jmp 0x444d82
cmp eax, 2
jne 0x4450ad
mov eax, dword [esp + 0x10]
mov dword [esp + 8], 2
lea esi, [eax + 2]
jmp 0x445108
mov edi, dword [esp + 0x50]
mov dword [esp + 8], eax
mov esi, dword [esp + 0x38]
mov eax, dword [esp + 0x10]
movapd xmm2, xmm1
lea edi, [edi + edx*8]
add esi, eax
mov edx, 2
nop word [eax + eax]
movapd xmm3, xmm2
movsd xmm2, qword [edi]
ucomisd xmm3, xmm2
ja 0x4450ef
lea ebx, [esi + edx + 1]
inc edx
add edi, 0x18
cmp ebx, 1
jne 0x445090
jmp 0x4450eb
mov edi, dword [esp + 0x50]
mov dword [esp + 8], eax
mov esi, dword [esp + 0x38]
mov eax, dword [esp + 0x10]
movapd xmm2, xmm1
lea edi, [edi + edx*8]
add esi, eax
mov edx, 2
nop dword [eax + eax]
movapd xmm3, xmm2
movsd xmm2, qword [edi]
ucomisd xmm3, xmm2
jbe 0x4450ef
lea ebx, [esi + edx + 1]
inc edx
add edi, 0x18
cmp ebx, 1
jne 0x4450d0
mov edx, dword [esp + 8]
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x24]
ucomisd xmm0, xmm1
mov dword [esp + 8], edx
lea esi, [edx + eax]
jbe 0x444c50
cmp eax, esi
ja 0x4486e8
cmp esi, edi
ja 0x4486f6
mov ebx, dword [esp + 8]
cmp ebx, 2
jae 0x44512a
mov eax, dword [esp + 0x10]
jmp 0x444c50
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x30]
mov dword [esp + 0x44], esi
mov edx, ebx
shr edx, 1
lea esi, [eax + ebx]
lea esi, [esi + esi*2]
lea esi, [edi + esi*8]
mov edi, ecx
nop word cs:[eax + eax]
nop
movsd xmm0, qword [edi + 0x10]
movsd qword [esp + 0xe0], xmm0
movsd xmm0, qword [edi]
movsd xmm1, qword [edi + 8]
movsd qword [esp + 0xd8], xmm1
movsd qword [esp + 0xd0], xmm0
movsd xmm0, qword [esi + 0x10]
movsd qword [edi + 0x10], xmm0
movsd xmm0, qword [esi]
movsd xmm1, qword [esi + 8]
movsd qword [edi + 8], xmm1
movsd qword [edi], xmm0
add edi, 0x18
movsd xmm0, qword [esp + 0xe0]
movsd qword [esi + 0x10], xmm0
movsd xmm0, qword [esp + 0xd0]
movsd xmm1, qword [esp + 0xd8]
movsd qword [esi + 8], xmm1
movsd qword [esi], xmm0
add esi, 0xffffffe8
dec edx
jne 0x445150
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x44]
mov eax, dword [esp + 0x10]
jmp 0x444c50
mov edx, 2
jmp 0x444c15
mov esi, dword [esp + 0xc]
mov edx, 3
jmp 0x444c15
push esi
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
push dword [esp + 0x80]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov ebx, dword [esp + 0x2c]
lea eax, [edi + edi*2]
test edi, edi
lea eax, [ebx + eax*8]
mov dword [esp + 0x1c], eax
je 0x44565e
lea eax, [edi*4]
lea esi, [eax + eax*2]
test esi, esi
js 0x4485b3
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x44525c
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x448672
mov dword [0x5920d8], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x448672
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x10], eax
add eax, 4
mov dword [esp + 8], 0
mov ecx, dword [ebx + 8]
cmp ecx, 0x80000000
je 0x445320
mov edx, dword [ebx + 0xc]
mov esi, dword [ebx + 0x10]
add ebx, 0x18
mov dword [eax - 4], ecx
inc dword [esp + 8]
mov dword [eax + 4], esi
mov dword [eax], edx
add eax, 0xc
cmp ebx, dword [esp + 0x1c]
jne 0x445280
jmp 0x4456ad
mov esi, dword [eax + 0x14]
lea edi, [esp + 0xd0]
lea edx, [esp + 0x150]
mov ecx, edi
mov dword [esp + 0x150], esi
mov dword [esp + 0x154], 0
push 0
push str.PathTryFromIntErrornumber_of_bones_should_fit_in_i32vmesh_src_v3mc.rs
call fcn.004652d0
add esp, 8
mov ecx, dword [esp + 0x74]
mov edx, esi
push edi
call fcn.00450b70
add esp, 4
lea ecx, [esp + 0x98]
call fcn.00434e80
test ebx, ebx
je 0x446269
push dword [esp + 0x24]
jmp 0x444842
mov edx, dword [esp + 0x1c]
push 0x581154
call fcn.004699c0
add ebx, 0x18
jmp 0x44566e
mov dword [esp + 8], edx
mov edx, dword [esp + 0x48]
lea ecx, [esp + 0x150]
push dword [esp + 0x34]
call fcn.0042a170
add esp, 4
mov edi, dword [esp + 0x158]
mov esi, dword [esp + 0x154]
test edi, edi
je 0x4462aa
js 0x4485b3
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x44537d
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x445390
mov dword [0x5920d8], eax
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ebx, eax
test eax, eax
jne 0x4462af
mov ecx, 1
mov edx, edi
call fcn.00429f60
mov esi, dword [esp + 0x18]
mov eax, 1
push ebx
push edi
mov dword [esp + 0x18], eax
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x14]
lea ecx, [esp + 0x120]
lea edx, [esp + 0x178]
mov dword [esp + 0x178], eax
mov dword [esp + 0x17c], 0
push 0
push str.PathTryFromIntErrornumber_of_bones_should_fit_in_i32vmesh_src_v3mc.rs
call fcn.004652d0
add esp, 8
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x445408
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x44873e
mov dword [0x5920d8], eax
push 0xc
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
mov dword [esp + 8], eax
je 0x44873e
test ebx, ebx
je 0x44545b
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x445440
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x44544f
mov dword [0x5920d8], eax
push ebx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov esi, eax
test eax, eax
jne 0x445460
mov ecx, 1
mov edx, ebx
call fcn.00429f60
mov esi, 1
push ebx
push dword [esp + 0x14]
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 8]
mov dword [esp + 0xc], ebx
mov dword [eax], ebx
mov dword [eax + 4], esi
mov dword [eax + 8], ebx
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x4454a0
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x44872f
mov dword [0x5920d8], eax
push 0x30
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x44872f
mov edx, dword [esp + 0x1c]
mov dword [eax], 0
mov dword [eax + 4], 4
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0x80000001
mov dword [eax + 0x1c], 0
mov byte [eax + 0x2d], 0
mov byte [eax + 0x2f], 1
mov ebx, eax
mov al, 1
mov dword [esp + 0x60], edi
test byte [edx + 0xc8], 0x40
jne 0x4454fd
movzx eax, byte [edx + 0xd0]
shr al, 6
and al, 1
mov byte [ebx + 0x2c], al
mov ecx, dword [edx + 0xc8]
mov edi, dword [edx + 0xcc]
mov esi, dword [edx + 0xd4]
mov eax, dword [edx + 0xd0]
mov dword [esp + 0x20], ecx
mov edx, edi
push esi
mov dword [esp + 0x2c], eax
push eax
call fcn.004350b0
add esp, 8
or edi, esi
mov byte [ebx + 0x2e], al
test edi, 0x200
jne 0x44554f
mov eax, 0x570ee9
mov ecx, 6
lea edi, [esp + 0xd0]
jmp 0x4460fe
mov ecx, dword [esp + 0x1c]
xor eax, eax
lea edi, [esp + 0xd0]
cmp dword [ecx + 0x12c], 0
je 0x4460fe
test dword [esp + 0x20], 0x8000000
mov ecx, 4
jne 0x4460fe
xor edx, edx
test dword [esp + 0x28], 0x8000000
mov eax, str.help
cmovne eax, edx
jmp 0x4460fe
mov edi, eax
test edx, edx
mov dword [esp + 8], edx
je 0x44634a
mov esi, dword [esp + 0x18]
cmp edx, 4
jne 0x446351
cmp dword [edi], 0x706c6568
jne 0x446359
mov ecx, dword [esi + 0x14]
mov eax, dword [ecx + 0xc8]
test eax, 0x100
jne 0x446359
mov edx, 0x8000100
and eax, 0x8000000
and edx, dword [ecx + 0xd0]
or eax, edx
jne 0x446359
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
lea eax, [ebp + 0x10]
push eax
call fcn.00469490
add esp, 4
mov ecx, esi
mov esi, edx
mov edx, dword [ecx + 0x14]
lea ecx, [esp + 0xd0]
push esi
push eax
call 0x448e70
add esp, 8
mov eax, dword [esp + 0xd0]
cmp eax, 0xb
jne 0x447d2b
mov eax, dword [esp + 0xe4]
movq xmm0, qword [esp + 0xd4]
movq xmm1, qword [esp + 0xdc]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x160], eax
movq qword [esp + 0x158], xmm1
movq qword [esp + 0x150], xmm0
jmp 0x44625d
mov dword [esp + 8], 0
mov dword [esp + 0x10], 4
mov ecx, dword [esp + 0x1c]
mov edx, 0xaaaaaaab
mov eax, ecx
sub eax, ebx
mul edx
cmp ecx, ebx
je 0x4456ad
mov esi, edx
add ebx, 0xc
shr esi, 4
jmp 0x445696
add ebx, 0x18
dec esi
je 0x4456ad
cmp dword [ebx - 4], 0
je 0x445690
push dword [ebx]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x445690
mov esi, dword [esp + 0x48]
cmp dword [esp + 0x19c], 0
mov ebx, dword [esp + 0x18c]
je 0x4456d3
push dword [esp + 0x2c]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
test ebx, ebx
je 0x4456e8
push dword [esp + 0x40]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x144]
cmp eax, 0x80000000
je 0x44570e
test eax, eax
je 0x44570e
push dword [esp + 0x148]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 8]
mov dword [esp + 0x24], edi
test eax, eax
je 0x445a2f
cmp eax, 0xaaaaaab
jae 0x4485b3
lea eax, [eax*4]
lea esi, [eax + eax*2]
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x445755
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x448672
mov dword [0x5920d8], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
mov dword [esp + 0x1c], eax
je 0x448672
mov edi, dword [esp + 8]
mov esi, dword [esp + 0x1c]
xor ebx, ebx
nop word cs:[eax + eax]
nop
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x120]
lea ecx, [esp + 0x150]
mov dword [esp + 0xd0], 0x56ff98
mov dword [esp + 0xd4], 2
mov dword [esp + 0xe0], 0
mov dword [esp + 0x150], edx
mov dword [esp + 0xd8], ecx
lea ecx, [esp + 0x98]
lea edx, [esp + 0xd0]
mov dword [esp + 0x154], 0x44ca10
mov dword [esp + 0xdc], 1
add eax, ebx
mov dword [esp + 0x120], eax
call fcn.0042a3a0
mov eax, dword [esp + 0xa0]
mov dword [esi + ebx + 8], eax
movq xmm0, qword [esp + 0x98]
movq qword [esi + ebx], xmm0
add ebx, 0xc
dec edi
jne 0x445780
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x48]
lea ecx, [esp + 0x1cc]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x60], eax
push dword [esp + 0x34]
call fcn.0042a170
add esp, 4
mov esi, dword [esp + 0x1d4]
mov edi, dword [esp + 0x1d0]
mov ebx, 1
mov dword [esp + 0xc], 1
test esi, esi
je 0x445892
js 0x4485b3
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x44587f
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x445a23
mov dword [0x5920d8], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ebx, eax
test eax, eax
je 0x445a23
push esi
push edi
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x1c0], esi
mov dword [esp + 0x1c4], ebx
mov dword [esp + 0x1c8], esi
lea ecx, [esp + 0x1d8]
push 4
push str._or_D
push dword [esp + 0x10]
call fcn.004532b0
add esp, 0xc
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x14]
cmp dword [eax + 0x148], 0x80000000
lea ecx, [eax + 0x150]
lea edx, [eax + 0xfc]
lea esi, [eax + 0x14c]
lea eax, [eax + 0xf8]
cmove ecx, edx
cmovne eax, esi
mov esi, dword [ecx]
mov ebx, dword [eax]
test esi, esi
je 0x445944
js 0x4485b3
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x44592f
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x445a23
mov dword [0x5920d8], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
mov dword [esp + 0xc], eax
je 0x445a23
push esi
push ebx
mov edi, dword [esp + 0x14]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1b0], esi
mov dword [esp + 0x1b4], edi
mov dword [esp + 0x1b8], esi
lea ecx, [esp + 0x1a4]
lea edx, [esp + 0x1e4]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x1e4], eax
mov dword [esp + 0x1e8], 0
push 0
push str.PathTryFromIntErrornumber_of_bones_should_fit_in_i32vmesh_src_v3mc.rs
call fcn.004652d0
add esp, 8
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x4459c0
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x44873e
mov dword [0x5920d8], eax
push 0xc
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
mov dword [esp + 0xc], eax
je 0x44873e
mov esi, dword [esp + 0x1c8]
mov edi, dword [esp + 0x1c4]
test esi, esi
je 0x445b3f
js 0x4485b3
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x445a10
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x445a23
mov dword [0x5920d8], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ebx, eax
test eax, eax
jne 0x445b44
mov ecx, 1
mov edx, esi
call fcn.00429f60
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 0x14]
cmp dword [edx + 0x28], 0
mov dword [esp + 8], edx
je 0x445a67
test byte [edx + 0xcc], 0x10
jne 0x445a5a
mov eax, 0x10
test dword [edx + 0xd4], eax
je 0x445ce0
cmp dword [edx + 0x12c], 0
je 0x445ce0
lea ecx, [esp + 0x98]
mov edx, esi
push dword [esp + 0x34]
call fcn.0042a170
add esp, 4
mov edi, dword [esp + 0xa0]
mov eax, dword [esp + 0x9c]
mov ecx, edi
mov dword [esp + 0x1c], eax
call fcn.00437110
mov ebx, eax
mov esi, edx
push edi
push dword [esp + 0x20]
push edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x18]
mov dword [esp + 0x120], ebx
mov dword [esp + 0x124], esi
lea esi, [esp + 0xd0]
mov dword [esp + 0x128], edi
lea edx, [esp + 0x130]
mov ecx, esi
mov eax, dword [eax + 0x14]
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], 0
push 0
push str.PathTryFromIntErrornumber_of_bones_should_fit_in_i32vmesh_src_v3mc.rs
call fcn.004652d0
add esp, 8
mov edx, dword [esp + 8]
lea ecx, [esp + 0x150]
push esi
lea eax, [esp + 0x124]
push eax
call fcn.004508d0
add esp, 8
mov eax, dword [esp + 0x98]
cmp eax, 0x80000000
je 0x445b36
test eax, eax
je 0x445b36
push dword [esp + 0x9c]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov edi, dword [esp + 0x24]
jmp 0x4460ed
mov ebx, 1
push esi
push edi
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0xc]
lea ecx, [esp + 0x1b0]
lea edx, [esp + 0x1c0]
mov dword [eax], esi
mov dword [eax + 4], ebx
mov dword [eax + 8], esi
mov dword [esp + 0x98], ecx
lea ecx, [esp + 0x98]
mov dword [esp + 0x9c], 0x4325d0
mov dword [esp + 0xa0], edx
mov dword [esp + 0xd0], 0x570ad0
mov dword [esp + 0xd4], 2
mov dword [esp + 0xe0], 0
lea edx, [esp + 0xd0]
mov dword [esp + 0xa4], 0x4325d0
mov dword [esp + 0xd8], ecx
lea ecx, [esp + 0x144]
mov dword [esp + 0xdc], 2
call fcn.0042a3a0
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x445bfc
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x44872f
mov dword [0x5920d8], eax
push 0x30
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x44872f
mov edx, dword [esp + 0x60]
mov dword [eax], 0
mov dword [eax + 4], 4
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0x80000001
mov dword [eax + 0x1c], 0
mov byte [eax + 0x2d], 0
mov byte [eax + 0x2f], 2
mov ebx, eax
mov al, 1
test byte [edx + 0xc8], 0x40
jne 0x445c55
movzx eax, byte [edx + 0xd0]
shr al, 6
and al, 1
mov byte [ebx + 0x2c], al
mov ecx, dword [edx + 0xc8]
mov esi, dword [edx + 0xcc]
mov edi, dword [edx + 0xd4]
mov eax, dword [edx + 0xd0]
mov dword [esp + 0x20], ecx
mov edx, esi
push edi
mov dword [esp + 0x2c], eax
push eax
call fcn.004350b0
add esp, 8
or esi, edi
mov byte [ebx + 0x2e], al
test esi, 0x200
jne 0x445ca7
mov eax, 0x570ee9
mov ecx, 6
lea esi, [esp + 0xd0]
jmp 0x445de6
mov eax, dword [esp + 0x60]
lea esi, [esp + 0xd0]
cmp dword [eax + 0x12c], 0
je 0x445de4
mov eax, dword [esp + 0x20]
xor ecx, ecx
or eax, dword [esp + 0x28]
test eax, 0x8000000
mov eax, str.help
cmovne eax, ecx
mov ecx, 4
jmp 0x445de6
lea ecx, [esp + 0x120]
mov edx, esi
push dword [esp + 0x34]
call fcn.0042a170
add esp, 4
mov edi, dword [esp + 0x128]
mov eax, dword [esp + 0x124]
mov ecx, edi
mov dword [esp + 0x1c], eax
call fcn.00437110
mov esi, eax
mov ebx, edx
push edi
push dword [esp + 0x20]
push edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x18]
mov dword [esp + 0x130], esi
lea esi, [esp + 0x98]
mov dword [esp + 0x134], ebx
mov dword [esp + 0x138], edi
mov dword [esp + 0xd0], 0x80000000
lea edx, [esp + 0x178]
mov ecx, esi
mov eax, dword [eax + 0x14]
mov dword [esp + 0x178], eax
mov dword [esp + 0x17c], 0
push 0
push str.PathTryFromIntErrornumber_of_bones_should_fit_in_i32vmesh_src_v3mc.rs
call fcn.004652d0
add esp, 8
mov edx, dword [esp + 8]
lea ecx, [esp + 0x150]
push esi
lea eax, [esp + 0xd4]
push eax
lea eax, [esp + 0x138]
push eax
call fcn.00451440
add esp, 0xc
mov esi, dword [esp + 0x10]
xor edx, edx
mov ecx, esi
call fcn.004e5560
cmp dword [esp + 0x24], 0
je 0x445dbe
push esi
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x120]
cmp eax, 0x80000000
je 0x446240
test eax, eax
je 0x446240
push dword [esp + 0x124]
jmp 0x446233
xor eax, eax
mov dword [ebx + 0x24], eax
mov eax, dword [esp + 0xc]
mov dword [ebx + 0x28], ecx
mov dword [esp + 0x98], 1
lea ecx, [esp + 0x150]
lea edx, [esp + 0x98]
movsd xmm0, qword [esp + 0x1c0]
mov dword [esp + 0x9c], eax
movzx eax, word [esp + 0xd0]
mov dword [esp + 0xa0], 1
mov dword [esp + 0xa4], ebx
mov byte [esp + 0xa8], 2
mov word [esp + 0xa9], ax
movzx eax, byte [esp + 0xd2]
movsd qword [esp + 0xd3], xmm0
mov byte [esp + 0xab], al
mov eax, dword [esp + 0x1c8]
mov dword [esp + 0xdb], eax
mov eax, dword [esp + 0x1e0]
movsd xmm0, qword [esp + 0xd0]
movsd qword [esp + 0x178], xmm0
movsd xmm0, qword [esp + 0xd7]
mov dword [esp + 0xdb], eax
mov eax, dword [esp + 0x14c]
movsd qword [esp + 0x17f], xmm0
movsd xmm0, qword [esp + 0x1d8]
movsd xmm3, qword [esp + 0x178]
movsd qword [esp + 0xd3], xmm0
movsd xmm0, qword [esp + 0xd0]
movsd qword [esp + 0x130], xmm0
movsd xmm0, qword [esp + 0xd7]
mov dword [esp + 0xdb], eax
mov eax, dword [esp + 0x1ac]
movsd qword [esp + 0x137], xmm0
movsd xmm0, qword [esp + 0x144]
movsd xmm2, qword [esp + 0x130]
movsd qword [esp + 0xd3], xmm0
movsd xmm0, qword [esp + 0xd0]
movsd qword [esp + 0x120], xmm0
movsd xmm0, qword [esp + 0xd7]
mov dword [esp + 0xdb], eax
movsd qword [esp + 0x127], xmm0
movsd xmm0, qword [esp + 0x1a4]
movsd qword [esp + 0xd3], xmm0
movsd xmm0, qword [esp + 0xd0]
movsd xmm1, qword [esp + 0xd7]
mov byte [esp + 0xd0], 0
mov byte [esp + 0xd4], 2
movsd qword [esp + 0x150], xmm0
movsd qword [esp + 0x157], xmm1
movsd xmm1, qword [esp + 0x17f]
movsd qword [esp + 0xdc], xmm1
movsd xmm1, qword [esp + 0x137]
movsd qword [esp + 0xd5], xmm3
mov byte [esp + 0xe4], 0xb
mov byte [esp + 0xe8], 2
movsd xmm3, qword [esp + 0x120]
movsd qword [esp + 0xf0], xmm1
movsd xmm1, qword [esp + 0x127]
movsd qword [esp + 0xe9], xmm2
mov byte [esp + 0xf8], 0xa
mov byte [esp + 0xfc], 2
movsd xmm2, qword [esp + 0x150]
movsd qword [esp + 0x104], xmm1
movsd xmm1, qword [esp + 0x157]
movsd qword [esp + 0xfd], xmm3
mov byte [esp + 0x10c], 0xf
mov byte [esp + 0x110], 2
movsd qword [esp + 0x118], xmm1
movsd qword [esp + 0x111], xmm2
push esi
call fcn.00450860
add esp, 4
cmp dword [esp + 0x1b0], 0
je 0x446050
push dword [esp + 0x1b4]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x1cc]
mov ebx, dword [esp + 0x1c]
cmp eax, 0x80000000
je 0x44607a
test eax, eax
je 0x44607a
push dword [esp + 0x1d0]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov edi, dword [esp + 8]
mov esi, ebx
add esi, 4
jmp 0x446096
add esi, 0xc
dec edi
je 0x4460ad
cmp dword [esi - 4], 0
je 0x446090
push dword [esi]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x446090
push ebx
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov ebx, dword [esp + 8]
mov edi, dword [esp + 0x24]
test ebx, ebx
je 0x4460ed
mov ecx, dword [esp + 0x10]
lea esi, [ecx + 4]
jmp 0x4460d6
add esi, 0xc
dec ebx
je 0x4460ed
cmp dword [esi - 4], 0
je 0x4460d0
push dword [esi]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x4460d0
test edi, edi
je 0x446240
push dword [esp + 0x10]
jmp 0x446233
mov dword [ebx + 0x24], eax
mov eax, dword [esp + 8]
mov dword [ebx + 0x28], ecx
mov dword [esp + 0x98], 1
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x128]
movsd xmm0, qword [esp + 0x120]
mov esi, dword [esp + 0x130]
mov dword [esp + 0x9c], eax
movzx eax, word [esp + 0xd0]
mov dword [esp + 0xa0], 1
mov dword [esp + 0xa4], ebx
mov byte [esp + 0xa8], 1
mov word [esp + 0xa9], ax
mov ah, byte [esp + 0xd2]
mov dword [esp + 0xdb], ecx
movsd qword [esp + 0xd3], xmm0
mov ecx, dword [esp + 0xc]
movsd xmm0, qword [esp + 0xd0]
movsd xmm1, qword [esp + 0xd7]
mov byte [esp + 0xd0], 1
mov byte [esp + 0xd4], 2
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xdc], edx
mov dword [esp + 0xe0], ecx
mov byte [esp + 0xe4], 0xe
mov word [esp + 0xe8], 0x101
mov byte [esp + 0xf8], 0xf
mov byte [esp + 0xab], ah
mov byte [esp + 0xfc], 2
lea ecx, [esp + 0x150]
lea edx, [esp + 0x98]
movsd qword [esp + 0x150], xmm0
movsd qword [esp + 0x157], xmm1
movsd xmm1, qword [esp + 0x157]
movsd xmm0, qword [esp + 0x150]
movsd qword [esp + 0x104], xmm1
movsd qword [esp + 0xfd], xmm0
push edi
call fcn.0044ff50
add esp, 4
test esi, 0x7fffffff
je 0x446240
push dword [esp + 0x60]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x74]
movq xmm0, qword [esp + 0x150]
movq xmm1, qword [esp + 0x158]
mov dword [ecx + 0x10], eax
movq qword [ecx + 8], xmm1
movq qword [ecx], xmm0
test dword [esp + 0x1a0], 0x7fffffff
je 0x44747b
mov dword [esp + 8], 0x80000000
push dword [esp + 0x48]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
test dword [esp + 8], 0x7fffffff
je 0x44747b
push dword [esp + 0x10]
jmp 0x44746e
mov ebx, 1
push edi
push esi
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x18]
mov dword [esp + 0x120], edi
mov dword [esp + 0x124], ebx
mov dword [esp + 0x128], edi
lea edi, [esp + 0x98]
mov dword [esp + 0xd0], 0x80000000
lea edx, [esp + 0x130]
mov ecx, edi
mov eax, dword [eax + 0x14]
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], 0
push 0
push str.PathTryFromIntErrornumber_of_bones_should_fit_in_i32vmesh_src_v3mc.rs
call fcn.004652d0
add esp, 8
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 8]
push edi
lea eax, [esp + 0xd4]
push eax
lea eax, [esp + 0x128]
push eax
call fcn.00451440
add esp, 0xc
test dword [esp + 0x150], 0x7fffffff
je 0x446269
push esi
jmp 0x444842
mov eax, 1
jmp 0x44638f
test edx, edx
js 0x4485b3
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x44637b
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4485cc
mov dword [0x5920d8], eax
push dword [esp + 8]
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4485cc
mov esi, dword [esp + 8]
push esi
push edi
mov dword [esp + 0x18], eax
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x4473a6
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0xf8]
mov edx, dword [eax + 0xfc]
jmp 0x44731a
mov eax, edx
mov edx, dword [esp + 0x60]
lea edi, [esp + 0x98]
mov ecx, edi
push eax
call fcn.0042a170
add esp, 4
lea ecx, [esp + 0xd4]
mov edx, edi
call fcn.00454980
mov dword [esp + 0xd0], 7
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 0x10]
mov edx, dword [eax + 8]
cmp esi, edx
ja 0x4488ff
mov ecx, dword [esp + 0xd4]
mov edi, dword [eax + 4]
mov dword [ebp + 0x10], edx
mov dword [esp + 0x4c], esi
mov dword [esp + 0x70], edx
mov dword [esp + 0x198], ecx
mov ecx, dword [esp + 0xd8]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0xdc]
mov dword [esp + 8], ecx
jne 0x446445
mov esi, dword [esp + 0x18]
xor edi, edi
mov dword [esp + 0x44], 4
jmp 0x4464ea
mov ebx, edx
shl esi, 4
shl ebx, 4
add ebx, edi
sub ebx, edi
sub ebx, esi
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
mov ecx, ebx
shr ecx, 1
mov dword [esp + 0x10], ecx
test eax, eax
jne 0x446481
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x44890b
mov dword [0x5920d8], eax
mov ecx, dword [esp + 0x10]
push ecx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
mov dword [esp + 0x44], eax
je 0x44890b
lea esi, [esi + edi + 8]
shr ebx, 4
xor edi, edi
mov edx, dword [esi - 4]
lea ecx, [esp + 0x98]
push dword [esi]
call fcn.0046eab0
add esp, 4
cmp dword [esp + 0x98], 0
jne 0x4487bd
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x44]
add esi, 0x10
mov dword [edx + edi*8], eax
mov dword [edx + edi*8 + 4], ecx
inc edi
cmp ebx, edi
jne 0x44649f
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0x40]
lea edx, [esp + 0x130]
mov dword [esp + 0x1cc], eax
mov eax, dword [esi + 0x14]
mov dword [esp + 0x1d0], ecx
mov ecx, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
lea eax, [eax + eax*4]
mov dword [esp + 0x130], ecx
lea eax, [ecx + eax*4]
lea ecx, [esp + 0x98]
mov dword [esp + 0x134], eax
call fcn.00436e60
mov ebx, dword [esp + 0x98]
mov dword [esp + 0x1c], edi
cmp ebx, 0x80000000
jne 0x446556
mov edx, 4
mov dword [esp + 0x190], 0
xor edi, edi
jmp 0x446686
mov eax, dword [esp + 0xa0]
mov esi, dword [esp + 0x9c]
mov dword [esp + 0x10], eax
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x44658a
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x44872f
mov dword [0x5920d8], eax
push 0x30
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x44872f
mov ecx, dword [esp + 0x10]
mov dword [eax], ebx
mov dword [eax + 4], esi
mov edi, 1
mov ebx, 0x10
mov dword [esp + 0x10], eax
mov dword [eax + 8], ecx
mov dword [esp + 0x150], 4
mov dword [esp + 0x154], eax
mov dword [esp + 0x158], 1
movq xmm0, qword [esp + 0x130]
movq qword [esp + 0x120], xmm0
jmp 0x446601
inc edi
mov dword [eax + ebx - 4], esi
mov dword [eax + ebx], ecx
mov dword [eax + ebx + 4], edx
mov dword [esp + 0x10], eax
add ebx, 0xc
mov dword [esp + 0x158], edi
lea ecx, [esp + 0x98]
lea edx, [esp + 0x120]
call fcn.00436e60
mov esi, dword [esp + 0x98]
cmp esi, 0x80000000
je 0x44666d
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0xa0]
cmp edi, dword [esp + 0x150]
mov eax, dword [esp + 0x10]
jne 0x4465e7
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], edx
lea ecx, [esp + 0x150]
mov edx, edi
push 1
call fcn.004b7be0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
add esp, 4
mov eax, dword [esp + 0x154]
jmp 0x4465e7
mov eax, dword [esp + 0x150]
mov edx, dword [esp + 0x154]
mov esi, dword [esp + 0x18]
mov dword [esp + 0x190], eax
mov eax, dword [esi + 0x14]
mov dword [esp + 0x78], edi
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x18c], edx
mov ebx, dword [eax + 0x128]
mov esi, dword [eax + 0x12c]
mov eax, dword [esp + 0x44]
mov dword [esp + 0x144], edx
mov dword [esp + 0x1d8], ecx
mov dword [esp + 0x1a4], ecx
lea ecx, [esp + 0x98]
mov dword [esp + 0x1b0], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x1b4], eax
lea eax, [edi + edi*2]
mov edi, dword [esp + 8]
lea eax, [edx + eax*4]
lea edx, [esp + 0x144]
mov dword [esp + 0x148], eax
lea eax, [esp + 0x1a4]
mov dword [esp + 0x14c], eax
lea eax, [esp + 0x150]
mov dword [esp + 0x1dc], edi
mov dword [esp + 0x1a8], edi
push eax
call fcn.00436c50
add esp, 4
mov edi, dword [esp + 0xa0]
cmp edi, 0x80000000
jne 0x44673e
mov dword [esp + 0x28], 4
mov dword [esp + 0x24], 0
jmp 0x447542
movsd xmm0, qword [esp + 0x98]
movsd xmm1, qword [esp + 0xa4]
mov eax, dword [esp + 0xac]
mov dword [esp + 0x188], esi
movsd qword [esp + 0x10], xmm0
movsd qword [esp + 0x130], xmm1
mov dword [esp + 0x138], eax
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x446796
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4487ae
mov dword [0x5920d8], eax
push 0x60
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4487ae
movsd xmm0, qword [esp + 0x10]
mov esi, eax
mov dword [esp + 0x50], ebx
mov dword [esp + 0x24], 1
mov dword [esp + 0x38], 0
movsd qword [eax], xmm0
mov dword [eax + 8], edi
movsd xmm0, qword [esp + 0x130]
movsd qword [eax + 0xc], xmm0
mov eax, dword [esp + 0x138]
mov dword [esi + 0x14], eax
mov dword [esp + 0x178], 4
mov dword [esp + 0x17c], esi
mov dword [esp + 0x180], 1
mov eax, dword [esp + 0x14c]
movsd xmm0, qword [esp + 0x144]
mov dword [esp + 0x128], eax
movsd qword [esp + 0x120], xmm0
jmp 0x446858
lea eax, [edi + edi*2]
dec dword [esp + 0x38]
inc edi
movq qword [esi + eax*8], xmm1
mov dword [esi + eax*8 + 8], ebx
mov dword [esp + 0x24], edi
movq xmm0, qword [esp + 0x150]
movq qword [esi + eax*8 + 0xc], xmm0
mov ecx, dword [esp + 0x158]
mov dword [esi + eax*8 + 0x14], ecx
mov dword [esp + 0x180], edi
lea eax, [esp + 0x12c]
lea ecx, [esp + 0x98]
lea edx, [esp + 0x120]
push eax
call fcn.00436c50
add esp, 4
mov ebx, dword [esp + 0xa0]
cmp ebx, 0x80000000
je 0x4468e3
mov edi, dword [esp + 0x24]
lea ecx, [esp + 0xa4]
movq xmm1, qword [esp + 0x98]
mov eax, dword [ecx + 8]
movsd xmm0, qword [ecx]
cmp edi, dword [esp + 0x178]
mov dword [esp + 0x158], eax
movsd qword [esp + 0x150], xmm0
jne 0x446822
lea ecx, [esp + 0x178]
mov edx, edi
movq qword [esp + 0x10], xmm1
call fcn.00437a40
movq xmm1, qword [esp + 0x10]
mov esi, dword [esp + 0x17c]
jmp 0x446822
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x17c]
cmp edi, 0x15
mov dword [esp + 0x194], eax
mov dword [esp + 0x2c], ecx
jae 0x44693d
cmp edi, 1
jbe 0x446fa6
mov esi, dword [esp + 0x2c]
mov edx, edi
mov ecx, esi
push 1
call fcn.00440510
add esp, 4
lea eax, [edi + edi*2]
lea eax, [esi + eax*8]
mov dword [esp + 0x10], eax
jmp 0x446fbc
mov edx, dword [esp + 8]
push 0x581154
call fcn.004699c0
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x44695f
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4487e5
mov dword [0x5920d8], eax
lea ecx, [edi*4]
and ecx, 0xfffffff8
lea ecx, [ecx + ecx*2]
push ecx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
mov dword [esp + 0x80], eax
je 0x4487e5
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x4469a6
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4487f9
mov dword [0x5920d8], eax
push pe_nt_image_headers32
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4487f9
mov esi, eax
mov eax, dword [esp + 0x2c]
xor edx, edx
mov dword [esp + 0x3c], 0x10
lea ecx, [eax + 0x30]
add eax, 0xffffffe8
mov dword [esp + 0x34], eax
xor eax, eax
mov dword [esp + 0x19c], ecx
jmp 0x4469f1
mov edx, 1
mov eax, dword [esp + 0x30]
cmp eax, edi
jae 0x446f84
mov ecx, eax
mov eax, edi
mov dword [esp + 0x28], edx
mov dword [esp + 0xc], esi
sub eax, ecx
mov dword [esp + 0x10], ecx
lea edx, [ecx + ecx*2]
mov ecx, dword [esp + 0x2c]
cmp eax, 2
lea ecx, [ecx + edx*8]
jae 0x446a21
mov dword [esp + 8], eax
mov eax, dword [esp + 0x10]
mov esi, edi
jmp 0x446bb4
movsd xmm0, qword [ecx]
movsd xmm1, qword [ecx + 0x18]
ucomisd xmm0, xmm1
ja 0x446a49
cmp eax, 2
jne 0x446a62
mov eax, dword [esp + 0x10]
mov dword [esp + 8], 2
lea esi, [eax + 2]
jmp 0x446bb4
cmp eax, 2
jne 0x446aa0
mov eax, dword [esp + 0x10]
mov dword [esp + 8], 2
lea esi, [eax + 2]
jmp 0x446af9
mov edi, dword [esp + 0x19c]
mov dword [esp + 8], eax
mov esi, dword [esp + 0x38]
mov eax, dword [esp + 0x10]
movapd xmm2, xmm1
lea edi, [edi + edx*8]
add esi, eax
mov edx, 2
movapd xmm3, xmm2
movsd xmm2, qword [edi]
ucomisd xmm3, xmm2
ja 0x446ae0
lea ebx, [esi + edx + 1]
inc edx
add edi, 0x18
cmp ebx, 1
jne 0x446a83
jmp 0x446adc
mov edi, dword [esp + 0x19c]
mov dword [esp + 8], eax
mov esi, dword [esp + 0x38]
mov eax, dword [esp + 0x10]
movapd xmm2, xmm1
lea edi, [edi + edx*8]
add esi, eax
mov edx, 2
movapd xmm3, xmm2
movsd xmm2, qword [edi]
ucomisd xmm3, xmm2
jbe 0x446ae0
lea ebx, [esi + edx + 1]
inc edx
add edi, 0x18
cmp ebx, 1
jne 0x446ac1
mov edx, dword [esp + 8]
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x24]
ucomisd xmm0, xmm1
mov dword [esp + 8], edx
lea esi, [edx + eax]
jbe 0x446bb4
cmp eax, esi
ja 0x4486e8
cmp esi, edi
ja 0x4486f6
mov ebx, dword [esp + 8]
cmp ebx, 2
jb 0x446bb0
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x30], esi
mov edx, ebx
shr edx, 1
lea esi, [eax + ebx]
lea esi, [esi + esi*2]
lea esi, [edi + esi*8]
mov edi, ecx
movsd xmm0, qword [edi + 0x10]
movsd qword [esp + 0xa8], xmm0
movsd xmm0, qword [edi]
movsd xmm1, qword [edi + 8]
movsd qword [esp + 0xa0], xmm1
movsd qword [esp + 0x98], xmm0
movsd xmm0, qword [esi + 0x10]
movsd qword [edi + 0x10], xmm0
movsd xmm0, qword [esi]
movsd xmm1, qword [esi + 8]
movsd qword [edi + 8], xmm1
movsd qword [edi], xmm0
add edi, 0x18
movsd xmm0, qword [esp + 0xa8]
movsd qword [esi + 0x10], xmm0
movsd xmm0, qword [esp + 0x98]
movsd xmm1, qword [esp + 0xa0]
movsd qword [esi + 8], xmm1
movsd qword [esi], xmm0
add esi, 0xffffffe8
dec edx
jne 0x446b31
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x30]
mov eax, dword [esp + 0x10]
mov edx, esi
sub esi, eax
jb 0x448606
cmp edx, edi
ja 0x448606
mov dword [esp + 0x30], edx
jae 0x446c00
cmp dword [esp + 8], 0xa
jae 0x446c00
mov eax, dword [esp + 0x10]
lea esi, [eax + 0xa]
cmp esi, edi
cmovae esi, edi
mov dword [esp + 0x30], esi
sub esi, eax
jb 0x448888
mov eax, dword [esp + 8]
mov edx, esi
cmp eax, 1
adc eax, 0
push eax
call fcn.00440510
add esp, 4
mov edx, dword [esp + 0x28]
cmp edx, dword [esp + 0x3c]
jne 0x446c85
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x446c30
mov ebx, edx
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x44861a
mov edx, ebx
mov dword [0x5920d8], eax
mov ecx, edx
shl ecx, 4
push ecx
push 0
push eax
mov ebx, edx
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x44861a
mov ecx, eax
lea eax, [ebx + ebx]
mov dword [esp + 0x3c], eax
lea eax, [ebx*8]
push eax
mov ebx, dword [esp + 0x10]
push ebx
push ecx
mov dword [esp + 0x14], ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
push ebx
mov ebx, dword [esp + 0x2c]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 8]
mov edx, ebx
jmp 0x446c89
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [eax + edx*8], esi
mov esi, eax
mov dword [esp + 0xc], eax
mov dword [eax + edx*8 + 4], ecx
inc edx
cmp edx, 2
jae 0x446d05
jmp 0x4469e5
mov eax, ebx
mov ebx, dword [esp + 0x28]
sub esi, edi
lea ecx, [ebx - 1]
mov dword [esp + 0x10], ecx
push esi
push edi
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x5c]
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x58]
add eax, dword [esp + 0x20]
mov dword [esi + ecx*8 + 8], eax
mov eax, dword [esp + 0x54]
mov dword [esi + ecx*8 + 0xc], eax
not ecx
lea eax, [edx + 8]
add ecx, ebx
shl ecx, 3
push ecx
push eax
push edx
call sub.msvcrt.dll_memmove
add esp, 0xc
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x24]
cmp edx, 1
jbe 0x4469e0
mov eax, dword [esi + edx*8 - 8]
mov ecx, dword [esi + edx*8 - 4]
add ecx, eax
cmp ecx, edi
je 0x446d50
mov ebx, dword [esi + edx*8 - 0x10]
cmp ebx, eax
jbe 0x446d50
cmp edx, 2
jbe 0x446f6c
lea ecx, [edx - 3]
mov dword [esp + 0x60], ecx
mov ecx, dword [esi + edx*8 - 0x18]
lea esi, [ebx + eax]
cmp ecx, esi
jbe 0x446d64
cmp edx, 3
jbe 0x446f76
mov esi, dword [esp + 0xc]
add ebx, ecx
cmp dword [esi + edx*8 - 0x20], ebx
jbe 0x446d64
jmp 0x4469e5
cmp edx, 3
jb 0x446d6c
mov esi, dword [esp + 0xc]
lea ecx, [edx - 3]
mov dword [esp + 0x60], ecx
mov ecx, dword [esi + edx*8 - 0x18]
mov esi, dword [esp + 0x60]
cmp ecx, eax
jb 0x446d6f
lea esi, [edx - 2]
cmp edx, esi
jbe 0x44867e
lea eax, [esi + 1]
mov dword [esp + 0x28], edx
cmp edx, eax
jbe 0x44868c
mov ebx, edi
mov edi, dword [esp + 0xc]
mov eax, dword [edi + esi*8 + 8]
mov edx, dword [edi + esi*8 + 0xc]
mov ecx, dword [edi + esi*8 + 4]
add edx, eax
mov edi, edx
sub edi, ecx
mov dword [esp + 0x1c], edi
jb 0x448545
cmp edx, ebx
mov dword [esp + 0x5c], eax
ja 0x44854f
mov eax, dword [esp + 0xc]
mov edi, esi
mov dword [esp + 0x54], ecx
mov dword [esp + 0x60], edi
mov esi, dword [eax + esi*8]
lea eax, [ecx + ecx*2]
mov ecx, dword [esp + 0x2c]
lea ecx, [ecx + eax*8]
lea eax, [esi + esi*2]
mov dword [esp + 0x20], esi
lea ebx, [ecx + eax*8]
lea eax, [edx + edx*2]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0xc]
sub edx, esi
cmp edx, esi
lea eax, [eax + edi*8]
mov dword [esp + 0x58], eax
jae 0x446ea3
lea eax, [edx*8]
mov dword [esp + 8], edx
lea esi, [eax + eax*2]
push esi
push ebx
mov edi, dword [esp + 0x88]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
add esi, edi
cmp dword [esp + 0x20], 0
jle 0x446ca5
cmp dword [esp + 8], 0
jle 0x446ca5
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x7c]
lea eax, [eax + ecx*8]
movsd xmm0, qword [ebx - 0x18]
movsd xmm1, qword [esi - 0x18]
xor ecx, ecx
xor edx, edx
ucomisd xmm0, xmm1
setbe cl
seta dl
neg ecx
neg edx
ucomisd xmm0, xmm1
lea ecx, [ecx + ecx*2]
lea edx, [edx + edx*2]
lea esi, [esi + ecx*8]
lea ebx, [ebx + edx*8]
mov ecx, esi
cmova ecx, ebx
cmp ebx, dword [esp + 0x10]
movsd xmm0, qword [ecx + 0x10]
movsd qword [eax + 0x10], xmm0
movsd xmm0, qword [ecx]
movsd xmm1, qword [ecx + 8]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
jbe 0x446ca5
add eax, 0xffffffe8
cmp esi, edi
ja 0x446e40
jmp 0x446ca5
lea eax, [esi*8]
lea esi, [eax + eax*2]
push esi
push ecx
mov edi, dword [esp + 0x88]
push edi
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x2c]
add esp, 0xc
add esi, edi
test eax, eax
jle 0x446f5c
cmp dword [esp + 0x1c], eax
jle 0x446f5c
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x80]
mov dword [esp + 8], esi
lea eax, [ecx + eax*8]
mov dword [esp + 0x1c], eax
nop word cs:[eax + eax]
nop dword [eax + eax]
movsd xmm0, qword [edi]
xor ecx, ecx
xor edx, edx
mov eax, edi
mov esi, dword [esp + 0x10]
ucomisd xmm0, qword [ebx]
cmova eax, ebx
setbe cl
movsd xmm0, qword [eax + 0x10]
movsd qword [esi + 0x10], xmm0
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
lea eax, [ecx + ecx*2]
seta cl
lea edi, [edi + eax*8]
movsd qword [esi + 8], xmm1
movsd qword [esi], xmm0
add esi, 0x18
mov dword [esp + 0x10], esi
mov esi, dword [esp + 8]
cmp edi, esi
jae 0x446f63
mov dl, cl
lea eax, [edx + edx*2]
lea ebx, [ebx + eax*8]
cmp ebx, dword [esp + 0x1c]
jb 0x446f00
jmp 0x446f63
mov edi, dword [esp + 0x80]
mov eax, dword [esp + 0x10]
jmp 0x446ca7
mov edx, 2
jmp 0x4469e5
mov esi, dword [esp + 0xc]
mov edx, 3
jmp 0x4469e5
push esi
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
push dword [esp + 0x80]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov ebx, dword [esp + 0x2c]
lea eax, [edi + edi*2]
test edi, edi
lea eax, [ebx + eax*8]
mov dword [esp + 0x10], eax
je 0x447483
mov eax, dword [esp + 0x24]
lea eax, [eax*4]
lea esi, [eax + eax*2]
test esi, esi
js 0x4485b3
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x446ff4
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x448672
mov dword [0x5920d8], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x448672
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
add eax, 4
xor edi, edi
mov ecx, dword [ebx + 8]
cmp ecx, 0x80000000
je 0x4470c7
mov edx, dword [ebx + 0xc]
mov esi, dword [ebx + 0x10]
add ebx, 0x18
mov dword [eax - 4], ecx
inc edi
mov dword [eax + 4], esi
mov dword [eax], edx
add eax, 0xc
cmp ebx, dword [esp + 0x10]
jne 0x447012
mov dword [esp + 0x60], edi
jmp 0x4474d1
add ebx, 0x18
mov dword [esp + 0x60], edi
jmp 0x447493
mov edx, dword [edx + 0x14]
lea esi, [esp + 0x144]
mov ecx, esi
call fcn.00435bd0
mov ecx, dword [ebp + 8]
lea edx, [esp + 0x150]
mov eax, dword [ecx + 0x14]
imul ecx, dword [ecx + 0x18], 0x38
add ecx, eax
mov dword [esp + 0x150], eax
lea eax, [esp + 0x1a4]
mov dword [esp + 0x154], ecx
lea ecx, [esp + 0x178]
mov dword [esp + 0x158], eax
mov dword [esp + 0x15c], esi
call fcn.0042ee90
lea esi, [esp + 0x98]
mov edx, edi
mov ecx, esi
push dword [esp + 0x70]
call fcn.0042a170
add esp, 4
lea ecx, [esp + 0x130]
mov edx, esi
call fcn.00454980
mov ecx, dword [esp + 0x80]
lea edx, [esp + 0x98]
lea eax, [esp + 0x120]
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 1
mov dword [esp + 0xb4], 0
mov dword [esp + 0xa8], 0x20
mov byte [esp + 0xb8], 3
mov dword [esp + 0x98], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0x128], 0
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], 0x570348
call fcn.00453c90
test al, al
jne 0x448932
mov eax, dword [esp + 0x128]
movq xmm0, qword [esp + 0x120]
movq xmm2, qword [esp + 0x130]
lea ecx, [esp + 0xd4]
movq xmm1, qword [esp + 0x178]
mov edx, dword [esp + 0x14c]
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x138]
movq qword [esp + 0xec], xmm0
movq qword [ecx], xmm2
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x180]
mov ecx, dword [esp + 0x148]
movq qword [esp + 0xe0], xmm1
mov dword [esp + 0xe8], eax
mov dword [esp + 0xd0], 4
call fcn.0042e0b0
cmp dword [esp + 0x144], 0
je 0x44726e
push dword [esp + 0x148]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0xe4]
mov eax, dword [esp + 0xe8]
mov ebx, dword [esp + 0xe0]
lea edx, [esp + 0x150]
mov esi, dword [ecx + 0x14]
lea ecx, [esp + 0x98]
mov dword [esp + 0x150], esi
mov dword [esp + 0x154], 0
push eax
push edi
call fcn.004653e0
add esp, 8
mov ecx, dword [esp + 0x74]
lea eax, [esp + 0x98]
mov edx, esi
push eax
lea eax, [esp + 0xf0]
push eax
lea eax, [esp + 0xdc]
push eax
call fcn.00450da0
add esp, 0xc
test ebx, ebx
je 0x446269
push edi
jmp 0x444842
mov ecx, str.just_inserted
mov edx, 0xd
push 0x570548
call fcn.0046f130
mov edi, dword [ecx]
mov edx, dword [ecx + 4]
cmp dword [esp + 0x10], 0
je 0x44731a
push ecx
push 0
push dword [0x5920d8]
mov esi, edx
call sub.KERNEL32.dll_HeapFree
mov edx, esi
test edx, edx
je 0x447362
js 0x4485b3
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x44734a
mov esi, edx
call sub.KERNEL32.dll_GetProcessHeap
mov edx, esi
test eax, eax
je 0x4442ae
mov dword [0x5920d8], eax
push edx
push 0
push eax
mov esi, edx
call sub.KERNEL32.dll_HeapAlloc
mov edx, esi
mov ebx, eax
test eax, eax
jne 0x447367
jmp 0x4442ae
mov ebx, 1
push edx
push edi
push ebx
mov esi, edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov dword [esp + 0xd4], esi
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], esi
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd8]
mov esi, dword [esp + 0xdc]
mov dword [esp + 8], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x28], 0
test dword [esp + 0x1a0], 0x7fffffff
mov eax, dword [esp + 0x24]
jne 0x447e4a
cmp dword [esp + 8], 0x80000000
jne 0x447e6d
mov esi, dword [esp + 0x18]
mov ebx, dword [ebp + 8]
and al, 1
movzx eax, al
mov ecx, esi
mov edx, ebx
push eax
call fcn.0044b680
add esp, 4
mov esi, dword [esi + 0x14]
lea edi, [esp + 0xd0]
mov ecx, edi
mov edx, esi
call fcn.00435bd0
mov ecx, dword [esp + 0x74]
mov dword [esp + 0xdc], esi
mov edx, edi
push ebx
push dword [esp + 0x5c]
push dword [esp + 0x5c]
push dword [esp + 0x50]
push dword [esp + 0x3c]
call fcn.00454b50
add esp, 0x14
mov esi, dword [esp + 0xd8]
test esi, esi
je 0x44745d
mov edi, dword [esp + 0xd4]
add edi, 0xc
jmp 0x447446
add edi, 0x18
dec esi
je 0x44745d
cmp dword [edi - 4], 0
je 0x447440
push dword [edi]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x447440
cmp dword [esp + 0xd0], 0
je 0x44747b
push dword [esp + 0xd4]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0x60], 0
mov dword [esp + 0x28], 4
mov edi, dword [esp + 0x10]
mov ecx, 0xaaaaaaab
mov eax, edi
sub eax, ebx
mul ecx
cmp edi, ebx
je 0x4474d1
mov edi, dword [esp + 0x24]
mov esi, edx
add ebx, 0xc
shr esi, 4
jmp 0x4474ba
add ebx, 0x18
dec esi
je 0x4474d5
cmp dword [ebx - 4], 0
je 0x4474b4
push dword [ebx]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x4474b4
mov edi, dword [esp + 0x24]
cmp dword [esp + 0x194], 0
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0x188]
je 0x4474fb
push dword [esp + 0x2c]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x60]
test eax, eax
je 0x447542
mov ecx, dword [esp + 0x28]
dec eax
mov dword [esp + 0x60], eax
lea eax, [eax + eax*2]
mov edx, dword [ecx + eax*4]
cmp edx, 0x80000000
mov dword [esp + 0x20], edx
je 0x44754a
lea eax, [ecx + eax*4]
mov dword [esp + 0x24], edi
mov dword [esp + 0x58], 0x80000000
mov ebx, ecx
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x5c], edx
mov dword [esp + 0x54], eax
jmp 0x4478d1
mov dword [esp + 0x60], 0
test esi, esi
je 0x447886
imul eax, esi, 0x160
add eax, ebx
mov dword [esp + 0x1c], eax
jmp 0x44756e
mov ebx, dword [esp + 0x50]
cmp ebx, dword [esp + 0x1c]
je 0x447886
lea eax, [ebx + 0x160]
mov ecx, ebx
mov edi, ebx
mov dword [esp + 0x50], eax
call fcn.004325f0
mov edx, dword [ebx + 0xf8]
mov ecx, dword [ebx + 0x34]
mov eax, dword [ebx + 0x30]
mov dword [esp + 8], edx
mov edx, dword [ebx + 0xfc]
lea ecx, [ecx + ecx*4]
mov dword [esp + 0x130], eax
lea ecx, [eax + ecx*4]
lea eax, [esp + 0x1a4]
mov dword [esp + 0x134], ecx
lea ecx, [esp + 0x178]
mov dword [esp + 0x138], eax
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x1d8]
mov dword [esp + 0x1a4], edx
mov edx, dword [esp + 0x1dc]
mov dword [esp + 0x1a8], edx
lea edx, [esp + 0x130]
call fcn.0042e8b0
mov esi, dword [esp + 0x17c]
mov ebx, dword [esp + 0x180]
mov ecx, esi
mov edx, ebx
call fcn.004407d0
mov eax, dword [esp + 0x178]
lea ecx, [ebx + ebx*2]
mov dword [esp + 0x120], esi
lea edx, [esp + 0x120]
lea ecx, [esi + ecx*8]
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], esi
mov dword [esp + 0x12c], ecx
lea ecx, [esp + 0x144]
call fcn.0042adf0
mov esi, dword [esp + 0x14c]
test esi, esi
je 0x44768d
mov ebx, dword [esp + 0x148]
dec esi
mov dword [esp + 0x14c], esi
lea eax, [esi + esi*2]
mov ecx, dword [ebx + eax*4]
cmp ecx, 0x80000000
jne 0x4476b4
test esi, esi
je 0x44768d
add ebx, 4
jmp 0x447676
add ebx, 0xc
dec esi
je 0x44768d
cmp dword [ebx - 4], 0
je 0x447670
push dword [ebx]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x447670
cmp dword [esp + 0x144], 0
je 0x447560
push dword [esp + 0x148]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x447560
lea eax, [ebx + eax*4]
mov dword [esp + 0xc], ecx
test esi, esi
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x5c], eax
je 0x4476f9
add ebx, 4
jmp 0x4476d8
add ebx, 0xc
dec esi
je 0x4476ef
cmp dword [ebx - 4], 0
je 0x4476d2
push dword [ebx]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x4476d2
cmp dword [esp + 0x144], 0
je 0x44770d
push dword [esp + 0x148]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov ebx, dword [esp + 0x1b4]
mov eax, dword [esp + 0x10]
test ebx, ebx
je 0x447750
mov edi, dword [esp + 0x1b0]
shl ebx, 3
xor esi, esi
jmp 0x447730
inc esi
add ebx, 0xfffffff8
je 0x447750
cmp dword [edi + esi*8 + 4], eax
jne 0x44772a
push eax
push dword [esp + 0xc]
push dword [edi + esi*8]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
mov eax, dword [esp + 0x10]
jne 0x44772a
jmp 0x447775
cmp dword [esp + 0xc], 0
mov ebx, dword [esp + 0x50]
je 0x447564
push dword [esp + 0x20]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x447564
test eax, eax
je 0x4477c1
mov edi, dword [esp + 0x24]
js 0x4485b3
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x4477a1
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4477b3
mov dword [0x5920d8], eax
push dword [esp + 0x10]
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ebx, eax
test eax, eax
jne 0x4477ca
mov edx, dword [esp + 0x10]
mov ecx, 1
call fcn.00429f60
mov edi, dword [esp + 0x24]
mov ebx, 1
mov dword [esp + 0x24], edi
mov edi, dword [esp + 0x10]
push edi
push dword [esp + 0xc]
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x5c]
lea ecx, [esp + 0x150]
lea edx, [esp + 0x120]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0xac], edi
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], edi
mov dword [esp + 0x9c], esi
mov dword [esp + 0x98], esi
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x124], eax
lea eax, [esp + 0x1d8]
mov dword [esp + 0x128], eax
lea eax, [esp + 0x1b0]
mov dword [esp + 0x12c], eax
lea eax, [esp + 0x98]
push eax
call fcn.004364a0
add esp, 4
mov eax, dword [esp + 0x158]
cmp eax, 0x80000000
mov dword [esp + 0x20], eax
jne 0x447890
mov dword [esp + 0x20], 0x80000000
jmp 0x4478cd
mov edx, dword [esp + 0x160]
mov ecx, dword [esp + 0x164]
mov eax, dword [esp + 0x15c]
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], ecx
mov edx, dword [esp + 0x168]
mov ecx, dword [esp + 0x16c]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x148], ecx
mov dword [esp + 0x144], edx
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x60]
test eax, eax
je 0x4478fd
mov edi, eax
lea esi, [ebx + 4]
jmp 0x4478e6
add esi, 0xc
dec edi
je 0x4478fd
cmp dword [esi - 4], 0
je 0x4478e0
push dword [esi]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x4478e0
cmp dword [esp + 0x24], 0
je 0x447912
push ebx
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x20], 0x80000000
mov esi, dword [esp + 0x18]
je 0x447948
mov ecx, dword [esi + 0x14]
mov edx, dword [esp + 0x5c]
add ecx, 0x20
push dword [esp + 0x54]
call fcn.00451820
add esp, 4
test eax, eax
je 0x447948
mov edx, dword [ebp + 8]
mov ecx, esi
push eax
call fcn.0044a390
add esp, 4
mov edx, dword [esi + 0x14]
lea ecx, [esp + 0x130]
call fcn.00435bd0
mov eax, dword [ebp + 8]
mov ecx, dword [esi + 0x14]
mov edx, dword [eax + 0x14]
imul eax, dword [eax + 0x18], 0x38
mov dword [esp + 8], ecx
add eax, edx
mov dword [esp + 0x1c], eax
cmp edx, dword [esp + 0x1c]
je 0x447dc6
lea eax, [edx + 0x38]
mov edi, dword [edx + 0x28]
mov esi, dword [edx + 0x2c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 8]
mov ebx, dword [eax + 0x28]
mov edx, dword [eax + 0x24]
mov eax, 0xfffffec0
shl ebx, 6
add edx, eax
lea ebx, [ebx + ebx*4]
test ebx, ebx
je 0x4479cd
mov ecx, dword [edx + 0x178]
mov eax, dword [edx + 0x17c]
add edx, 0x140
add ebx, 0xfffffec0
xor ecx, edi
xor eax, esi
or eax, ecx
jne 0x44799c
test byte [edx + 0x138], 0x10
mov edx, dword [esp + 0x10]
jne 0x44796e
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x4479ef
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4488f0
mov dword [0x5920d8], eax
push 0x20
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4488f0
mov dword [eax], edi
mov edi, 1
mov dword [eax + 4], esi
mov dword [esp + 0x98], 4
mov dword [esp + 0x60], eax
mov dword [esp + 0x9c], eax
jmp 0x447a44
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 0x60]
cmp edi, dword [esp + 0x98]
je 0x447ac6
mov dword [eax + edi*8], esi
mov dword [eax + edi*8 + 4], ebx
mov dword [esp + 0x60], eax
inc edi
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov dword [esp + 0xc], edi
mov dword [esp + 0xa0], edi
mov eax, dword [eax + 0x14]
mov dword [esp + 8], eax
cmp edx, dword [esp + 0x1c]
je 0x447ae5
lea eax, [edx + 0x38]
mov esi, dword [edx + 0x28]
mov ebx, dword [edx + 0x2c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 8]
mov edi, dword [eax + 0x28]
mov edx, dword [eax + 0x24]
mov eax, 0xfffffec0
shl edi, 6
add edx, eax
lea edi, [edi + edi*4]
nop dword [eax]
test edi, edi
je 0x447a23
mov ecx, dword [edx + 0x178]
mov eax, dword [edx + 0x17c]
add edx, 0x140
add edi, 0xfffffec0
xor ecx, esi
xor eax, ebx
or eax, ecx
jne 0x447a90
test byte [edx + 0x138], 0x10
mov edx, dword [esp + 0x10]
jne 0x447a5e
jmp 0x447a23
lea ecx, [esp + 0x98]
mov edx, edi
push 1
call fcn.004379a0
add esp, 4
mov eax, dword [esp + 0x9c]
jmp 0x447a38
mov eax, dword [esp + 0x9c]
cmp dword [esp + 0x98], 0
mov dword [esp + 0x10], eax
sete byte [esp + 8]
mov edi, dword [esp + 0x18]
lea ecx, [esp + 0x1cc]
lea ebx, [esp + 0x120]
lea esi, [esp + 0x150]
lea edx, [esp + 0x98]
mov dword [esp + 0x98], 0x57117c
mov dword [esp + 0x9c], 1
mov dword [esp + 0xa8], 0
mov dword [esp + 0x150], ecx
mov ecx, ebx
mov dword [esp + 0xa0], esi
mov dword [esp + 0x154], 0x461c20
mov dword [esp + 0xa4], 1
mov eax, dword [edi + 0x14]
mov dword [esp + 0x1c], eax
call fcn.0042a3a0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x54]
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0xa0], edx
mov edx, dword [esp + 0x148]
mov dword [esp + 0xa4], ecx
mov ecx, dword [esp + 0x144]
mov dword [esp + 0xac], edx
mov edx, dword [edi + 0x14]
mov dword [esp + 0xa8], ecx
lea ecx, [esp + 0x130]
mov dword [esp + 0x178], edx
lea edx, [esp + 0x178]
mov dword [esp + 0x17c], ecx
mov ecx, esi
push dword [esp + 0xc]
mov edi, dword [esp + 0x14]
push edi
call fcn.004652d0
add esp, 8
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x1c]
push esi
lea eax, [esp + 0x9c]
push eax
push ebx
call fcn.00451440
add esp, 0xc
cmp byte [esp + 8], 0
jne 0x447c19
push edi
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov esi, dword [esp + 0x138]
mov ebx, dword [esp + 0x70]
test esi, esi
je 0x447c51
mov edi, dword [esp + 0x134]
add edi, 0xc
jmp 0x447c3a
add edi, 0x18
dec esi
je 0x447c51
cmp dword [edi - 4], 0
je 0x447c34
push dword [edi]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x447c34
cmp dword [esp + 0x130], 0
je 0x447c6f
push dword [esp + 0x134]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov edi, dword [esp + 0x78]
test edi, edi
je 0x447ca0
mov eax, dword [esp + 0x18c]
lea esi, [eax + 4]
jmp 0x447c89
add esi, 0xc
dec edi
je 0x447ca0
cmp dword [esi - 4], 0
je 0x447c83
push dword [esi]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x447c83
cmp dword [esp + 0x190], 0
je 0x447cbe
push dword [esp + 0x18c]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
cmp ebx, dword [esp + 0x4c]
je 0x447cd5
push dword [esp + 0x44]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x198], 0
je 0x446269
push dword [esp + 0x40]
jmp 0x444842
push 0x570ff0
call fcn.004699c0
mov ecx, edx
mov esi, edx
call fcn.00437110
mov edi, eax
mov ebx, edx
push esi
push dword [esp + 0x64]
push edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov dword [esp + 0xd4], edi
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], esi
jmp 0x4463e2
mov ecx, dword [esp + 0xe4]
movq xmm2, qword [esp + 0xe8]
movsd xmm3, qword [esp + 0xf0]
movq xmm0, qword [esp + 0xd4]
movq xmm1, qword [esp + 0xdc]
mov dword [esp + 0x160], ecx
movq qword [esp + 0xb0], xmm2
movsd qword [esp + 0xb8], xmm3
mov dword [esp + 0xac], ecx
lea ecx, [esp + 0x98]
movq qword [esp + 0x158], xmm1
movq qword [esp + 0x150], xmm0
movq qword [esp + 0x9c], xmm0
movq qword [esp + 0xa4], xmm1
mov dword [esp + 0x98], eax
call fcn.00449ef0
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x44637b
jmp 0x446369
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 8
mov byte [esp + 8], 1
jmp 0x447afd
push dword [esp + 0x48]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x24]
cmp dword [esp + 8], 0x80000000
je 0x4473d1
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x14]
mov ebx, dword [eax + 0x128]
imul eax, dword [eax + 0x12c], 0x160
add eax, ebx
mov dword [esp + 0x20], eax
jmp 0x447e94
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x20]
cmp ebx, eax
je 0x4487d1
mov edi, dword [ebx + 0xfc]
cmp esi, edi
mov dword [esp + 0x1c], edi
jne 0x447eca
mov eax, dword [ebx + 0xf8]
mov dword [esp + 0xc], eax
push esi
push eax
push dword [esp + 0x18]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
mov eax, dword [esp + 0xc]
je 0x447f20
lea eax, [ebx + 0x160]
mov edi, dword [ebx + 0x104]
mov dword [esp + 0x60], ebx
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 0x108]
add edi, 4
shl eax, 2
lea ebx, [eax + eax*2]
jmp 0x447ef6
add edi, 0xc
add ebx, 0xfffffff4
test ebx, ebx
je 0x447e8c
cmp esi, dword [edi]
jne 0x447ef0
push esi
push dword [edi - 4]
push dword [esp + 0x18]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x447ef0
mov eax, dword [esp + 0x60]
mov edi, dword [esp + 0x1c]
mov eax, dword [eax + 0xf8]
mov ebx, eax
mov esi, edi
test edi, edi
je 0x447f66
mov edi, dword [esp + 0x18]
js 0x4485b3
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x447f54
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x445a23
mov dword [0x5920d8], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
jne 0x447f6f
jmp 0x445a23
mov edi, dword [esp + 0x18]
mov eax, 1
push esi
push ebx
mov dword [esp + 0x50], eax
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [edi + 0x14]
mov al, 1
test byte [ecx + 0xcd], 0x10
jne 0x447f9a
mov eax, 0x1000
test dword [ecx + 0xd4], eax
setne al
mov esi, dword [ebp + 0x10]
mov edx, dword [esp + 0x48]
mov byte [esp + 0x60], al
push dword [esp + 0x1c]
call fcn.004350d0
add esp, 4
test eax, eax
je 0x4483cd
mov ebx, eax
call fcn.004b3550
test eax, eax
je 0x448704
movdqu xmm0, xmmword [eax]
movd edx, xmm0
pshufd xmm1, xmm0, 0x55
add edx, 1
movd ecx, xmm1
adc ecx, 0
cmp byte [esp + 0x28], 0
mov dword [eax], edx
mov dword [eax + 4], ecx
movdqu xmmword [esp + 0x98], xmm0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 8
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0x5812f0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 8
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0xec], 0
je 0x4480b4
mov eax, dword [esp + 0x18]
movq xmm0, qword [eax]
movq xmm1, qword [eax + 0x18]
movq qword [esp + 0xd0], xmm0
movq qword [esp + 0xe8], xmm1
lea ecx, [esp + 0x150]
lea edx, [esp + 0xd0]
push esi
push dword [ebp + 0xc]
lea eax, [esp + 0xa0]
push eax
call fcn.00441040
add esp, 0xc
mov esi, dword [esp + 0x150]
cmp esi, 0x80000000
je 0x448284
mov dword [esp + 0x5c], ebx
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x15c]
mov ebx, dword [esp + 0x158]
cmp byte [esp + 0x60], 0
mov dword [esp + 0x28], esi
mov dword [esp + 0x20], eax
mov dword [esp + 0xc], ecx
je 0x448169
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 4]
mov edx, dword [edx + 8]
call fcn.0042dcd0
mov ecx, dword [esp + 0xc]
cmp dword [ecx], 0
je 0x448145
push dword [ecx + 4]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0xc]
cmp eax, 0x80000001
je 0x4481fb
cmp eax, 0x80000000
jne 0x4481c8
cmp dword [ecx + 0x10], 0
je 0x4481fb
lea eax, [ecx + 0x14]
jmp 0x4481e8
mov esi, dword [esp + 0x160]
cmp dword [esp + 0xd8], 0
je 0x44818e
push dword [esp + 0xdc]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
lea ecx, [esp + 0x98]
call fcn.00434e80
cmp dword [esp + 0x1c], 0
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0xc]
mov edx, dword [esp + 0x28]
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], esi
mov dword [eax], edx
jne 0x446282
jmp 0x446293
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x10]
mov edx, dword [edx + 0x14]
call fcn.0042dd90
mov ecx, dword [esp + 0xc]
cmp dword [ecx + 0xc], 0
je 0x4481fb
lea eax, [ecx + 0x10]
push dword [eax]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov ecx, dword [esp + 0xc]
mov esi, dword [ecx + 0x1c]
test esi, esi
je 0x448230
mov edi, dword [ecx + 0x20]
push esi
call dword [edi]
mov ecx, dword [esp + 0x10]
add esp, 4
cmp dword [edi + 4], 0
je 0x448230
cmp dword [edi + 8], 9
jb 0x44821e
mov esi, dword [esi - 4]
push esi
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov ecx, dword [esp + 0xc]
push ecx
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
test ebx, ebx
je 0x448268
mov eax, dword [esp + 0x20]
lea esi, [eax + 4]
jmp 0x448251
add esi, 0xc
dec ebx
je 0x448268
cmp dword [esi - 4], 0
je 0x44824b
push dword [esi]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x44824b
cmp dword [esp + 0x28], 0
mov ebx, dword [esp + 0x5c]
je 0x448284
push dword [esp + 0x20]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0xd8], 0
je 0x4482a2
push dword [esp + 0xdc]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [ebx + 0xfc]
mov ecx, dword [ebx + 0xf8]
mov edi, dword [ebx + 0x58]
mov edx, dword [ebx + 0x5c]
mov esi, eax
test eax, eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0xc], edi
mov dword [esp + 0x60], edx
je 0x448302
js 0x4485b3
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x4482ee
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x445a23
mov dword [0x5920d8], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ebx, eax
test eax, eax
jne 0x448307
jmp 0x445a23
mov ebx, 1
push esi
push dword [esp + 0x24]
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
movsd xmm1, qword [esp + 0xa0]
movsd xmm2, qword [esp + 0xb0]
movq xmm0, qword [esp + 0x98]
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x60]
lea edx, [esp + 0xd0]
movsd qword [esp + 0xe0], xmm1
movsd xmm1, qword [esp + 0xa8]
movsd qword [esp + 0xf0], xmm2
movq xmm2, qword [esp + 0xc0]
movq qword [esp + 0xd8], xmm0
movsd qword [esp + 0xe8], xmm1
movsd xmm1, qword [esp + 0xb8]
movq qword [esp + 0x100], xmm2
movsd qword [esp + 0xf8], xmm1
movq xmm1, qword [esp + 0xc8]
movq qword [esp + 0x108], xmm1
mov dword [esp + 0xd0], ecx
mov ecx, dword [ebp + 8]
mov dword [esp + 0xd4], eax
mov dword [esp + 0x110], esi
mov dword [esp + 0x114], ebx
mov dword [esp + 0x118], esi
call fcn.0045f4e0
cmp dword [esp + 0x1c], 0
je 0x4483e5
push dword [esp + 0x48]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x18]
mov edi, dword [ebp + 8]
and al, 1
mov ecx, esi
mov edx, edi
movzx eax, al
push eax
call fcn.0044b680
add esp, 4
mov ebx, dword [esi + 0x14]
lea esi, [esp + 0xd0]
mov ecx, esi
mov edx, ebx
call fcn.00435bd0
mov ecx, dword [esp + 0x74]
mov dword [esp + 0xdc], ebx
mov edx, esi
push edi
push dword [esp + 0x5c]
push dword [esp + 0x5c]
push dword [esp + 0x50]
push dword [esp + 0x3c]
call fcn.00454b50
add esp, 0x14
test dword [esp + 8], 0x7fffffff
je 0x447423
push dword [esp + 0x10]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x447423
push 0x580fa4
call fcn.0046e9f0
mov ecx, edx
mov edx, ebx
push 0x580fa4
call fcn.0046a750
lea ecx, [esp + 0xd0]
mov edx, 0x580f94
jmp 0x448577
lea ecx, [esp + 0xd0]
mov edx, 0x580f84
mov dword [esp + 0xd0], str.Index_out_of_bounds
mov dword [esp + 0xd4], 1
mov dword [esp + 0xe0], 0
mov dword [esp + 0xd8], str.PathTryFromIntErrornumber_of_bones_should_fit_in_i32vmesh_src_v3mc.rs
mov dword [esp + 0xdc], 0
call fcn.00469660
call fcn.00429f20
mov ecx, 0x571625
mov edx, 0x63
push 0x570508
call fcn.0046f130
mov edx, dword [esp + 8]
mov ecx, 1
call fcn.00429f60
mov edx, dword [esp + 0xc]
mov ecx, 1
call fcn.00429f60
mov ecx, 0x571625
mov edx, 0x63
push 0x57058c
call fcn.0046f130
push 0x57b0b8
call fcn.00469960
mov ecx, str.assertion_failed:_end___start__end___len_
mov edx, 0x2c
push 0x581010
call fcn.0046b100
mov ecx, str.called__Option::unwrap____on_a__None__value_home_rafalh_.cargo_registry_src_index.crates.io_6f17d22bba15001f_serde_json_1.0.81_src_read.rs
mov edx, 0x2b
push 0x580fd4
call fcn.0046b100
mov ecx, 0x571625
mov edx, 0x63
push 0x570518
call fcn.0046f130
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x44]
push 0x581020
call fcn.0046e9f0
mov ecx, 0x571625
mov edx, 0x63
push 0x57057c
call fcn.0046f130
push 0x57ce00
call fcn.0046a750
mov ecx, 4
mov edx, esi
call fcn.00429f60
lea ecx, [esp + 0x98]
mov edx, 0x580f84
jmp 0x448698
lea ecx, [esp + 0x98]
mov edx, 0x580f94
mov dword [esp + 0x98], str.Index_out_of_bounds
mov dword [esp + 0x9c], 1
mov dword [esp + 0xa8], 0
mov dword [esp + 0xa0], str.PathTryFromIntErrornumber_of_bones_should_fit_in_i32vmesh_src_v3mc.rs
mov dword [esp + 0xa4], 0
call fcn.00469660
mov ecx, 0x571625
mov edx, 0x63
push 0x57059c
call fcn.0046f130
mov ecx, eax
mov edx, esi
push 0x580f74
call fcn.0046e9f0
mov ecx, esi
mov edx, edi
push 0x580f74
call fcn.0046a750
lea eax, [esp + 0x1b0]
mov ecx, str.cannot_access_a_Thread_Local_Storage_value_during_or_after_destructionlibrary_std_src_threadlocal.rs
mov edx, 0x46
push 0x571568
push 0x57132c
push eax
call fcn.0046f0c0
push 0x571860
call fcn.00469960
mov ecx, 4
mov edx, 0x30
call fcn.00429f60
mov ecx, 4
mov edx, 0xc
call fcn.00429f60
lea eax, [esp + 0x150]
lea ecx, [esp + 0x98]
mov edx, 0x5704e8
mov dword [esp + str._to_long__always_has_the_flag_specified], 0x5704e0
mov dword [esp + 0x98], 0x580d94
mov dword [esp + 0x9c], 1
mov dword [esp + 0xa8], 0
mov dword [esp + 0x154], 0x461c20
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], 1
call fcn.00469660
mov ecx, 8
mov edx, 0x60
call fcn.00429f60
mov ecx, str.unexpected_invalid_UTF_8_code_point_home_rafalh_.cargo_registry_src_index.crates.io_6f17d22bba15001f_clap_3.1.18_src_parse_matches_arg_matches.rs
mov edx, 0x23
push 0x56ff88
call fcn.0046f130
mov ecx, 0x571625
mov edx, 0x63
push 0x570558
call fcn.0046f130
mov ecx, str.called__Option::unwrap____on_a__None__value_home_rafalh_.cargo_registry_src_index.crates.io_6f17d22bba15001f_serde_json_1.0.81_src_read.rs
mov edx, 0x2b
push 0x580fb4
call fcn.0046b100
mov ecx, str.called__Option::unwrap____on_a__None__value_home_rafalh_.cargo_registry_src_index.crates.io_6f17d22bba15001f_serde_json_1.0.81_src_read.rs
mov edx, 0x2b
push 0x580fc4
call fcn.0046b100
mov ecx, 0x57038d
mov edx, 0x45
push 0x570434
call fcn.0045ded0
mov ecx, str.assertion_failed:_mid___self.len__
mov edx, 0x23
push 0x5717e4
call fcn.0046b100
movsd xmm0, qword [esp + 0xd4]
lea eax, [esp + 0x150]
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
movsd qword [esp + 0x150], xmm0
push 0x571894
push 0x5717f4
push eax
call fcn.0046f0c0
mov ecx, 0x5811c4
mov edx, 0x28
push 0x5704a8
call fcn.0046b100
mov ecx, edi
push 0x5718a4
call fcn.00469960
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x30]
push 0x581020
call fcn.0046e9f0
mov ecx, esi
mov edx, edi
push 0x5717d4
push ebx
call fcn.0047f3e0
xor edx, edx
push 0x571874
push 0
push 1
call fcn.0046fc30
mov edx, ebx
push 0x571874
push ebx
push 1
call fcn.0046fc30
mov ecx, 0x5811c4
mov edx, 0x28
push 0x570528
call fcn.0046b100
mov ecx, 0x5811c4
mov edx, 0x28
push 0x5704f8
call fcn.0046b100
mov ecx, 8
mov edx, 0x20
call fcn.00429f60
mov ecx, esi
push 0x571860
call fcn.00469960
mov edx, dword [esp + 0x10]
mov ecx, 4
call fcn.00429f60
mov ecx, edi
push 0x571884
call fcn.00469960
push 0x571884
push edi
call fcn.0047f3e0
ud2
lea eax, [esp + 0x1b0]
mov ecx, str.a_Display_implementation_returned_an_error_unexpectedly_rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrary_alloc_src_string.rs
mov edx, 0x37
push 0x581d00
push 0x570360
push eax
call fcn.0046f0c0
nop
xor eax, 0x30000063
xor byte [eax], al
add al, ch
das
add byte [eax], al
adc al, 0x78
add byte [eax], al
sbb ah, byte [edx]
add ah, bl
js 0x44896b
add cl, dh
pop edi
add byte [eax], al
cdq
push ebx
add byte [eax], al
stc
jbe 0x448977
add byte [ebp + 0x60], al
add byte [eax], al
pop esp
pushal
add byte [eax], al
mov word [ebp], gs
add byte [edx - 0x6cffffd0], ah
xor byte [eax], al
add byte [eax - 0x77ffff88], cl
js 0x448993
add byte [ecx + 0x74830000], dl
add byte [eax], al
or esi, dword [eax + eax]
xchg esp, eax
and dword [eax], eax
add dh, cl
je 0x4489a7
add byte [edx + 0x74], dh
add byte [eax], al
nop dword [eax]
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xa0
cmp dword [edx], 0
jne 0x448a01
mov eax, dword [edx + 4]
mov esi, dword [edx + 8]
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x10], eax
mov eax, dword [ecx + 0x14]
mov cl, 1
test dword [eax + 0xc8], 0x20000000
jne 0x4489f1
movzx ecx, byte [eax + 0xd3]
and cl, 0x20
shr cl, 5
mov edx, dword [eax + 0xcc]
test cl, cl
je 0x448a12
cmp byte [ebp + 8], 0
je 0x448a12
xor edi, edi
mov eax, edi
mov edx, ebx
add esp, 0xa0
pop esi
pop edi
pop ebx
pop ebp
ret
test dl, 0x10
jne 0x448a28
mov ecx, 0x10
test dword [eax + 0xd4], ecx
je 0x448d98
mov ecx, dword [eax + 0x128]
imul ebx, dword [eax + 0x12c], 0x160
lea esi, [ebp - 0x7c]
lea edx, [ebp - 0x38]
mov dword [ebp - 0xac], 2
mov dword [ebp - 0x98], 2
mov dword [ebp - 0x6c], esi
lea eax, [ecx + ebx]
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
nop word cs:[eax + eax]
nop
test ebx, ebx
je 0x448adc
lea edi, [ecx + 0x160]
mov dword [ebp - 0x84], edi
mov eax, dword [ecx + 0xf8]
mov edx, dword [ecx + 0xfc]
mov esi, dword [ecx + 0x104]
mov ecx, dword [ecx + 0x108]
mov dword [ebp - 0xac], 1
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
mov dword [ebp - 0xa0], esi
lea edx, [ebp - 0x6c]
lea ecx, [esi + ecx*4]
mov dword [ebp - 0x9c], ecx
lea ecx, [ebp - 0xac]
call fcn.0045d5a0
add ebx, 0xfffffea0
test eax, eax
mov ecx, edi
je 0x448a70
jmp 0x448b09
cmp dword [ebp - 0x98], 2
mov dword [ebp - 0xac], 2
je 0x448d6b
lea edx, [ebp - 0x6c]
lea ecx, [ebp - 0x98]
call fcn.0045d5a0
test eax, eax
je 0x448d6b
mov esi, eax
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
mov edi, edx
test eax, eax
jne 0x448b2f
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x448e52
mov dword [0x5920d8], eax
push 0x20
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x448e52
mov dword [eax], esi
mov dword [eax + 4], edi
mov dword [ebp - 0x2c], 4
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x18], eax
mov esi, 1
mov dword [ebp - 0x24], 1
movsd xmm1, qword [ebp - 0x8c]
movsd xmm2, qword [ebp - 0x94]
mov eax, dword [ebp - 0x7c]
movsd xmm0, qword [ebp - 0x84]
movsd qword [ebp - 0x4c], xmm1
movsd xmm1, qword [ebp - 0x9c]
movsd qword [ebp - 0x54], xmm2
movsd xmm2, qword [ebp - 0xac]
mov dword [ebp - 0x3c], eax
movsd qword [ebp - 0x44], xmm0
movsd qword [ebp - 0x5c], xmm1
movsd xmm1, qword [ebp - 0xa4]
movsd qword [ebp - 0x6c], xmm2
movsd qword [ebp - 0x64], xmm1
jmp 0x448beb
lea ecx, [ebp - 0x6c]
lea edx, [ebp - 0x30]
call fcn.0045d5a0
test eax, eax
je 0x448bf7
mov edi, eax
cmp esi, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
je 0x448cfa
mov dword [eax + esi*8], edi
mov dword [eax + esi*8 + 4], edx
inc esi
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x24], esi
cmp dword [ebp - 0x6c], 2
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x30], eax
jne 0x448bc0
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x448d20
mov ecx, dword [ebp - 0x40]
mov edi, dword [ebp - 0x3c]
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x1c], edi
jmp 0x448c29
mov eax, dword [ebp - 0x20]
mov esi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x78]
cmp eax, ecx
je 0x448d20
lea ecx, [eax + 0x160]
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x20], ecx
mov ecx, dword [eax + 0xf8]
mov esi, dword [eax + 0x108]
mov ebx, dword [eax + 0x104]
mov dword [ebp - 0x10], ecx
mov ecx, dword [eax + 0xfc]
lea eax, [esi + esi*2]
mov dword [ebp - 0x6c], 1
lea eax, [ebx + eax*4]
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x68], 0
mov eax, dword [edi + 4]
cmp ecx, eax
jb 0x448c94
push eax
push dword [ebp - 0x10]
push dword [edi]
mov dword [ebp - 0x74], ecx
call sub.msvcrt.dll_memcmp
mov edx, dword [ebp - 0x74]
add esp, 0xc
test eax, eax
je 0x448ce8
shl esi, 2
add ebx, 0xc
mov dword [ebp - 0x6c], 0
lea esi, [esi + esi*2]
jmp 0x448cb6
add ebx, 0xc
add esi, 0xfffffff4
test esi, esi
je 0x448c20
mov dword [ebp - 0x60], ebx
mov ecx, dword [ebx - 8]
mov eax, dword [edi + 4]
cmp ecx, eax
jb 0x448cb0
mov edx, dword [ebx - 0xc]
push eax
mov dword [ebp - 0x10], edx
push edx
push dword [edi]
mov edi, ecx
call sub.msvcrt.dll_memcmp
mov edx, edi
mov edi, dword [ebp - 0x1c]
add esp, 0xc
test eax, eax
jne 0x448cb0
mov esi, dword [ebp - 0x14]
mov edi, dword [ebp - 0x10]
cmp esi, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
jne 0x448bdd
mov ebx, edx
mov edx, esi
lea ecx, [ebp - 0x2c]
push 1
call fcn.004377c0
mov edx, ebx
add esp, 4
mov eax, dword [ebp - 0x28]
jmp 0x448bdd
mov dword [ebp - 0x6c], 2
cmp dword [ebp - 0x58], 2
je 0x448d40
lea ecx, [ebp - 0x58]
lea edx, [ebp - 0x30]
call fcn.0045d5a0
test eax, eax
jne 0x448bcf
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
cmp esi, 1
jne 0x448d77
mov edi, dword [eax]
mov ebx, dword [eax + 4]
test ecx, ecx
je 0x448a03
push eax
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x448a03
mov dword [ebp - 0x98], 2
jmp 0x448d89
test ecx, ecx
je 0x448d89
push eax
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x70]
mov eax, dword [eax + 0x14]
mov ecx, dword [eax + 0x128]
imul edx, dword [eax + 0x12c], 0x160
add edx, ecx
mov eax, ecx
mov dword [ebp - 0x14], edx
jmp 0x448dc6
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
cmp eax, edx
je 0x448a01
mov ebx, dword [eax + 0xfc]
mov dword [ebp - 0x1c], eax
cmp esi, ebx
jne 0x448df9
mov edi, dword [eax + 0xf8]
push esi
push edi
push dword [ebp - 0x10]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
mov eax, dword [ebp - 0x1c]
je 0x448a03
mov edi, dword [eax + 0x104]
lea ecx, [eax + 0x160]
mov eax, dword [eax + 0x108]
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x18], ecx
shl eax, 2
add edi, 4
lea ebx, [eax + eax*2]
jmp 0x448e26
add edi, 0xc
add ebx, 0xfffffff4
test ebx, ebx
je 0x448dc0
cmp esi, dword [edi]
jne 0x448e20
push esi
push dword [edi - 4]
push dword [ebp - 0x10]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x448e20
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x20]
mov edi, dword [eax + 0xf8]
jmp 0x448a03
mov ecx, 4
mov edx, 0x20
call fcn.00429f60
nop word cs:[eax + eax]
nop dword [eax + eax]
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x300
mov ebx, edx
mov eax, dword [edx + 0x58]
mov edx, dword [edx + 0x5c]
mov dword [esp + 0x38], ecx
mov edi, dword [ebx + 0xfc]
mov esi, dword [ebx + 0xf8]
mov dword [esp + 0x16c], eax
mov dword [esp + 0x168], edx
test edi, edi
je 0x448ee6
js 0x449ea7
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x448ecd
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x448eda
mov dword [0x5920d8], eax
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
jne 0x448eeb
mov ecx, 1
mov edx, edi
call fcn.00429f60
mov eax, 1
push edi
push esi
mov dword [esp + 0x16c], eax
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [ebx + 0x60]
mov edx, dword [ebx + 0x64]
mov ecx, dword [ebx + 0xf0]
cmp dword [ebx + 0x13c], 0x80000000
mov dword [esp + 0x30], 0x80000000
mov dword [esp + 0x160], eax
mov dword [esp + 0x15c], edx
mov dword [esp + 0x158], ecx
jne 0x448f56
mov dword [esp + 0x2c], 0x80000000
cmp dword [ebx + 0x148], 0x80000000
mov dword [esp + 0x154], edi
jne 0x448fdd
jmp 0x44904d
mov eax, dword [ebx + 0x144]
mov esi, dword [ebx + 0x140]
test eax, eax
mov dword [esp + 0x2c], eax
je 0x448fac
js 0x449ea7
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x448f8e
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x448f9e
mov dword [0x5920d8], eax
push dword [esp + 0x2c]
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
jne 0x448fb1
mov edx, dword [esp + 0x2c]
mov ecx, 1
call fcn.00429f60
mov eax, 1
push dword [esp + 0x2c]
push esi
mov dword [esp + 0xc4], eax
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
cmp dword [ebx + 0x148], 0x80000000
mov dword [esp + 0x154], edi
je 0x448f51
mov eax, dword [ebx + 0x150]
mov esi, dword [ebx + 0x14c]
test eax, eax
mov dword [esp + 0x30], eax
je 0x449033
js 0x449ea7
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x449015
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x449025
mov dword [0x5920d8], eax
push dword [esp + 0x30]
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
jne 0x449038
mov edx, dword [esp + 0x30]
mov ecx, 1
call fcn.00429f60
mov eax, 1
push dword [esp + 0x30]
push esi
mov dword [esp + 0xc0], eax
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov esi, dword [ebx + 0x70]
mov edi, dword [ebx + 0x78]
mov ecx, dword [ebx + 0x74]
mov edx, dword [ebx + 0x68]
mov eax, dword [ebx + 0x6c]
mov dword [esp + 0x144], esi
mov dword [esp + 0x108], edi
mov esi, dword [ebx + 0x7c]
mov edi, dword [ebx + 0x80]
mov dword [esp + 0x140], ecx
mov ecx, dword [ebx + 0x108]
mov dword [esp + 0x148], eax
mov dword [esp + 0x14c], edx
mov dword [esp + 0x10c], esi
mov dword [esp + 0x110], edi
mov esi, dword [ebx + 0x84]
mov edi, dword [ebx + 0x88]
test ecx, ecx
mov dword [esp + 0x150], ecx
mov dword [esp + 0x114], esi
mov dword [esp + 0x118], edi
mov esi, dword [ebx + 0x8c]
mov edi, dword [ebx + 0x90]
mov dword [esp + 0x11c], esi
mov dword [esp + 0x120], edi
mov esi, dword [ebx + 0x94]
mov edi, dword [ebx + 0x98]
mov dword [esp + 0x124], esi
mov dword [esp + 0x128], edi
mov esi, dword [ebx + 0x9c]
mov edi, dword [ebx + 0xa0]
mov dword [esp + 0x12c], esi
mov dword [esp + 0x130], edi
mov esi, dword [ebx + 0xa4]
mov edi, dword [ebx + 0xa8]
mov dword [esp + 0x134], esi
mov dword [esp + 0x138], edi
mov esi, dword [ebx + 0xac]
mov edi, dword [ebx + 0x104]
mov dword [esp + 0x13c], esi
je 0x44918e
cmp ecx, 0xaaaaaaa
ja 0x449ea7
lea eax, [ecx*4]
lea esi, [eax + eax*2]
test esi, esi
js 0x449ea7
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x44917c
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x44928f
mov dword [0x5920d8], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
jne 0x44919d
jmp 0x44928f
lea eax, [ecx*4]
lea esi, [eax + eax*2]
mov eax, 4
push esi
push edi
mov dword [esp + 0x10c], eax
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [ebx + 0x114]
mov edi, dword [ebx + 0x110]
test eax, eax
mov dword [esp + 0x100], eax
je 0x449211
cmp eax, 0xfffffff
ja 0x449ea7
lea esi, [eax*8]
test esi, esi
js 0x449ea7
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x449202
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x44928f
mov dword [0x5920d8], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
jne 0x44921d
jmp 0x44928f
lea esi, [eax*8]
mov eax, 4
push esi
push edi
mov dword [esp + 0x104], eax
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [ebx + 0x120]
mov edi, dword [ebx + 0x11c]
test ecx, ecx
mov dword [esp + 0xf8], ecx
je 0x44929b
cmp ecx, 0xaaaaaaa
ja 0x449ea7
lea eax, [ecx*4]
lea esi, [eax + eax*2]
test esi, esi
js 0x449ea7
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x449282
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x44928f
mov dword [0x5920d8], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
jne 0x4492aa
mov ecx, 4
mov edx, esi
call fcn.00429f60
lea eax, [ecx*4]
lea esi, [eax + eax*2]
mov eax, 4
push esi
push edi
mov dword [esp + 0xfc], eax
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [ebx + 0xb0]
mov ecx, dword [ebx + 0xb4]
cmp dword [ebx + 0x154], 0x80000000
mov dword [esp + 0xf0], eax
mov dword [esp + 0xec], ecx
jne 0x4492ec
mov dword [esp + 0x28], 0x80000000
jmp 0x44935c
mov edx, dword [ebx + 0x15c]
mov esi, dword [ebx + 0x158]
test edx, edx
mov dword [esp + 0x28], edx
je 0x449342
js 0x449ea7
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x449324
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x449334
mov dword [0x5920d8], eax
push dword [esp + 0x28]
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
jne 0x449347
mov edx, dword [esp + 0x28]
mov ecx, 1
call fcn.00429f60
mov eax, 1
push dword [esp + 0x28]
push esi
mov dword [esp + 0xbc], eax
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [ebx + 0xbc]
mov edx, dword [ebx]
mov eax, dword [ebx + 0xb8]
movups xmm0, xmmword [ebx + 0xc8]
mov dword [esp + 0xe4], ecx
mov ecx, dword [ebx + 4]
mov dword [esp + 0xe0], edx
mov edx, dword [ebx + 8]
mov dword [esp + 0xe8], eax
movaps xmmword [esp + 0x170], xmm0
mov dword [esp + 0xdc], ecx
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0xd8], edx
mov edx, dword [ebx + 0x10]
mov dword [esp + 0xc4], ecx
mov ecx, dword [ebx + 0x14]
mov dword [esp + 0xc8], edx
mov edx, dword [ebx + 0xc0]
mov dword [esp + 0xcc], ecx
mov ecx, dword [ebx + 0xc4]
mov dword [esp + 0xd0], edx
mov edx, dword [ebx + 0x24]
mov dword [esp + 0xd4], ecx
lea ecx, [esp + 0x40]
push dword [ebx + 0x28]
call fcn.0042b500
add esp, 4
mov esi, dword [ebx + 0x34]
mov dword [esp + 0x34], ebx
test esi, esi
je 0x449584
cmp esi, 0x6666666
ja 0x449ea7
lea eax, [esi*4]
lea ecx, [eax + eax*4]
test ecx, ecx
js 0x449ea7
mov eax, dword [ebx + 0x30]
mov dword [esp + 0x10], eax
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
mov dword [esp + 0x18], ecx
test eax, eax
jne 0x44944a
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x449eca
mov dword [0x5920d8], eax
mov ecx, dword [esp + 0x18]
push ecx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
mov dword [esp + 0x20], eax
je 0x449eca
mov ebx, dword [esp + 0x10]
xor edi, edi
mov dword [esp + 0x1c], esi
jmp 0x4494b7
mov eax, dword [esp + 0x10]
mov esi, 0x80000000
mov eax, dword [eax + edi + 4]
mov dword [esp + 0xc], eax
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0xc]
mov ecx, dword [ebx + 0x10]
add ebx, 0x14
mov dword [edx + edi], esi
mov dword [edx + edi + 4], eax
mov dword [edx + edi + 8], esi
mov esi, dword [esp + 0x14]
movzx eax, byte [esp + 0x24]
dec esi
mov byte [edx + edi + 0xc], al
mov dword [edx + edi + 0x10], ecx
add edi, 0x14
test esi, esi
je 0x449576
cmp dword [esp + 0x18], edi
je 0x449576
mov eax, dword [ebx]
mov ecx, 0x80000000
mov dword [esp + 0x14], esi
xor eax, ecx
mov ecx, 1
cmp eax, 3
cmovae eax, ecx
test eax, eax
je 0x449470
cmp eax, 1
jne 0x449540
mov eax, dword [esp + 0x10]
mov edx, dword [eax + edi + 8]
mov ecx, dword [eax + edi + 4]
test edx, edx
je 0x44954e
js 0x449ea7
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
mov dword [esp + 0xc], ecx
test eax, eax
jne 0x449522
mov esi, edx
call sub.KERNEL32.dll_GetProcessHeap
mov edx, esi
test eax, eax
je 0x449eac
mov dword [0x5920d8], eax
push edx
push 0
push eax
mov esi, edx
call sub.KERNEL32.dll_HeapAlloc
mov ecx, dword [esp + 0xc]
mov edx, esi
test eax, eax
jne 0x449553
jmp 0x449eac
mov eax, dword [esp + 0x10]
mov esi, 0x80000002
jmp 0x449479
mov eax, 1
push edx
push ecx
mov dword [esp + 0x14], eax
push eax
mov esi, edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + edi + 0xc]
mov byte [esp + 0x24], al
jmp 0x449481
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x449589
mov eax, 4
lea edx, [ebx + 0x124]
lea ecx, [esp + 0x18c]
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], esi
call fcn.0042c790
lea edx, [ebx + 0x38]
lea ecx, [esp + 0x58]
call fcn.00461d40
mov esi, dword [ebx + 0x138]
test esi, esi
mov dword [esp + 0xc0], esi
je 0x44975d
cmp esi, 0x2492492
ja 0x449ea7
imul eax, esi, 0x38
test eax, eax
mov dword [esp + 0x3c], eax
js 0x449ea7
mov ebx, dword [ebx + 0x134]
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x44960b
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x449ed8
mov dword [0x5920d8], eax
push dword [esp + 0x3c]
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x449ed8
xor edi, edi
mov dword [esp + 0x1c], eax
nop word cs:[eax + eax]
nop
cmp dword [esp + 0x3c], edi
je 0x449757
lea eax, [ebx + 0x38]
mov edx, dword [ebx + 0xc]
movzx ecx, byte [ebx + 0x34]
mov dword [esp + 0x14], eax
mov eax, dword [ebx]
mov dword [esp + 0x24], edx
mov edx, dword [ebx + 0x14]
mov byte [esp + 0x20], cl
lea ecx, [esp + 0x88]
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 8]
mov dword [esp + 0x10], eax
push dword [ebx + 0x18]
call fcn.0042b280
add esp, 4
mov edx, dword [ebx + 0x20]
lea ecx, [esp + 0x94]
push dword [ebx + 0x24]
call fcn.0042b280
add esp, 4
mov edx, dword [ebx + 0x2c]
lea ecx, [esp + 0xa0]
push dword [ebx + 0x30]
call fcn.0042b280
add esp, 4
mov ecx, dword [esp + 0x18]
movzx eax, byte [ebx + 0x35]
mov ebx, dword [esp + 0x24]
movzx edx, byte [esp + 0x20]
dec esi
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], ebx
mov byte [esp + 0xac], dl
mov byte [esp + 0xad], al
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
movsd xmm0, qword [esp + 0x88]
movsd xmm1, qword [esp + 0x90]
movsd qword [eax + edi + 0x10], xmm0
movsd qword [eax + edi + 0x18], xmm1
movsd xmm0, qword [esp + 0x98]
movsd qword [eax + edi + 0x20], xmm0
movsd xmm0, qword [esp + 0xa0]
movsd qword [eax + edi + 0x28], xmm0
movsd xmm0, qword [esp + 0x80]
movsd qword [eax + edi + 8], xmm0
movsd xmm0, qword [esp + 0x78]
movsd qword [eax + edi], xmm0
movsd xmm0, qword [esp + 0xa8]
movsd qword [eax + edi + 0x30], xmm0
lea edi, [edi + 0x38]
jne 0x449630
mov ebx, dword [esp + 0x34]
jmp 0x449765
mov dword [esp + 0x1c], 8
mov esi, dword [ebx + 0xe0]
mov eax, dword [ebx + 0xd8]
mov ecx, dword [ebx + 0xdc]
mov edx, dword [ebx + 0x18]
mov edi, dword [ebx + 0x1c]
movaps xmm0, xmmword [esp + 0x170]
movsd xmm1, qword [esp + 0x48]
movsd xmm3, qword [esp + 0x40]
movsd xmm2, qword [esp + 0x50]
mov dword [esp + 0x14], esi
mov esi, dword [ebx + 0xe4]
mov dword [esp + 0xc], esi
mov esi, dword [ebx + 0xe8]
mov dword [esp + 0x10], esi
mov esi, dword [ebx + 0xec]
mov ebx, dword [esp + 0x164]
mov dword [esp + 0x24], esi
mov esi, dword [esp + 0x168]
mov dword [esp + 0x1f4], esi
mov esi, dword [esp + 0x16c]
mov dword [esp + 0x1f0], esi
mov esi, dword [esp + 0x154]
mov dword [esp + 0x28c], esi
mov dword [esp + 0x290], ebx
mov dword [esp + 0x294], esi
mov esi, dword [esp + 0x160]
mov ebx, dword [esp + 0x104]
mov dword [esp + 0x1f8], esi
mov esi, dword [esp + 0x15c]
mov dword [esp + 0x1fc], esi
mov esi, dword [esp + 0x158]
mov dword [esp + 0x288], esi
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x2d4], esi
mov dword [esp + 0x2dc], esi
mov esi, dword [esp + 0xbc]
mov dword [esp + 0x2d8], esi
mov esi, dword [esp + 0x30]
mov dword [esp + 0x2e0], esi
mov dword [esp + 0x2e8], esi
mov esi, dword [esp + 0xb8]
mov dword [esp + 0x2e4], esi
mov esi, dword [esp + 0x14c]
mov dword [esp + 0x200], esi
mov esi, dword [esp + 0x148]
mov dword [esp + 0x204], esi
mov esi, dword [esp + 0x144]
mov dword [esp + 0x208], esi
mov esi, dword [esp + 0x140]
mov dword [esp + 0x20c], esi
mov esi, dword [esp + 0x108]
mov dword [esp + 0x210], esi
mov esi, dword [esp + 0x10c]
mov dword [esp + 0x214], esi
mov esi, dword [esp + 0x110]
mov dword [esp + 0x218], esi
mov esi, dword [esp + 0x114]
mov dword [esp + 0x21c], esi
mov esi, dword [esp + 0x118]
mov dword [esp + 0x220], esi
mov esi, dword [esp + 0x11c]
mov dword [esp + 0x224], esi
mov esi, dword [esp + 0x120]
mov dword [esp + 0x228], esi
mov esi, dword [esp + 0x124]
mov dword [esp + 0x22c], esi
mov esi, dword [esp + 0x128]
mov dword [esp + 0x230], esi
mov esi, dword [esp + 0x12c]
mov dword [esp + 0x234], esi
mov esi, dword [esp + 0x130]
mov dword [esp + 0x238], esi
mov esi, dword [esp + 0x134]
mov dword [esp + 0x23c], esi
mov esi, dword [esp + 0x138]
mov dword [esp + 0x240], esi
mov esi, dword [esp + 0x13c]
mov dword [esp + 0x244], esi
mov esi, dword [esp + 0x150]
mov dword [esp + 0x298], esi
mov dword [esp + 0x29c], ebx
mov dword [esp + 0x2a0], esi
mov esi, dword [esp + 0x100]
mov ebx, dword [esp + 0xfc]
mov dword [esp + 0x2a4], esi
mov dword [esp + 0x2a8], ebx
mov dword [esp + 0x2ac], esi
mov esi, dword [esp + 0xf8]
mov ebx, dword [esp + 0xf4]
mov dword [esp + 0x2b0], esi
mov dword [esp + 0x2b4], ebx
mov dword [esp + 0x2b8], esi
mov esi, dword [esp + 0xf0]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x248], esi
mov esi, dword [esp + 0xec]
mov dword [esp + 0x24c], esi
mov esi, dword [esp + 0x28]
mov dword [esp + 0x2ec], esi
mov dword [esp + 0x2f4], esi
mov esi, dword [esp + 0xb4]
mov dword [esp + 0x2f0], esi
mov esi, dword [esp + 0xe8]
mov dword [esp + 0x250], esi
mov esi, dword [esp + 0xe4]
mov dword [esp + 0x254], esi
mov esi, dword [esp + 0xe0]
mov dword [esp + 0x198], esi
mov esi, dword [esp + 0xdc]
mov dword [esp + 0x19c], esi
mov esi, dword [esp + 0xd8]
mov dword [esp + 0x1a0], esi
mov esi, dword [esp + 0xc4]
mov dword [esp + 0x1a4], esi
mov esi, dword [esp + 0xc8]
mov dword [esp + 0x1a8], esi
mov esi, dword [esp + 0xcc]
mov dword [esp + 0x1ac], esi
mov esi, dword [esp + 0xd0]
mov dword [esp + 0x258], esi
mov esi, dword [esp + 0xd4]
mov dword [esp + 0x25c], esi
movups xmmword [esp + 0x260], xmm0
movsd qword [esp + 0x1c0], xmm1
movsd xmm1, qword [esp + 0x18c]
movsd qword [esp + 0x1c8], xmm2
movsd qword [esp + 0x1b8], xmm3
mov esi, dword [esp + 0x194]
movsd xmm2, qword [esp + 0x70]
movsd qword [esp + 0x2bc], xmm1
movsd xmm1, qword [esp + 0x68]
mov dword [esp + 0x2c4], esi
movsd qword [esp + 0x1e8], xmm2
movsd xmm2, qword [esp + 0x58]
mov esi, dword [esp + 0xc0]
movsd qword [esp + 0x1e0], xmm1
movsd xmm1, qword [esp + 0x60]
movsd qword [esp + 0x1d0], xmm2
movsd qword [esp + 0x1d8], xmm1
mov dword [esp + 0x2c8], esi
mov dword [esp + 0x2cc], ebx
mov dword [esp + 0x2d0], esi
mov dword [esp + 0x270], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x274], ecx
mov dword [esp + 0x1b0], edx
mov dword [esp + 0x1b4], edi
lea esi, [esp + 0x198]
mov dword [esp + 0x278], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x27c], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x280], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x284], eax
mov eax, dword [ebp + 8]
jmp 0x449b94
mov eax, dword [esp + 0x1c]
cmp eax, dword [ebp + 0xc]
je 0x449cfb
mov edx, esi
mov ecx, dword [eax + 4]
mov esi, dword [eax + 8]
add eax, 0x10
mov dword [esp + 0x1c], eax
mov ebx, dword [edx + 0x128]
imul eax, dword [edx + 0x12c], 0x160
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], ecx
add eax, ebx
mov dword [esp + 0x20], eax
jmp 0x449bd8
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
cmp ebx, eax
je 0x449d56
mov edx, dword [ebx + 0xfc]
cmp esi, edx
mov dword [esp + 0xc], edx
jne 0x449c0a
mov edi, dword [ebx + 0xf8]
push esi
push edi
push dword [esp + 0x1c]
call sub.msvcrt.dll_memcmp
mov edx, dword [esp + 0x18]
add esp, 0xc
test eax, eax
je 0x449c60
lea eax, [ebx + 0x160]
mov edi, dword [ebx + 0x104]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 0x108]
add edi, 4
shl eax, 2
lea ebx, [eax + eax*2]
jmp 0x449c36
add edi, 0xc
add ebx, 0xfffffff4
test ebx, ebx
je 0x449bd0
cmp esi, dword [edi]
jne 0x449c30
push esi
push dword [edi - 4]
push dword [esp + 0x1c]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x449c30
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
mov edi, dword [eax + 0xf8]
test edx, edx
mov dword [esp + 0x14], edi
je 0x449cb0
mov esi, dword [esp + 0x18]
js 0x449ea7
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x449c98
mov edi, edx
call sub.KERNEL32.dll_GetProcessHeap
mov edx, edi
test eax, eax
je 0x449eac
mov dword [0x5920d8], eax
push edx
push 0
push eax
mov edi, edx
call sub.KERNEL32.dll_HeapAlloc
mov edx, edi
mov ebx, eax
test eax, eax
jne 0x449cb9
jmp 0x449eac
mov esi, dword [esp + 0x18]
mov ebx, 1
push edx
push dword [esp + 0x18]
push ebx
mov edi, edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, esi
mov edx, ebx
push edi
call fcn.004350d0
add esp, 4
test eax, eax
je 0x449eb6
mov esi, eax
test edi, edi
je 0x449b90
push ebx
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x449b90
lea ecx, [esp + 0x78]
mov edx, esi
push 0
push 1
call fcn.00435f20
add esp, 8
cmp dword [esp + 0x78], 0x80000000
jne 0x449dc9
mov edi, esi
lea esi, [esp + 0x40]
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 4
lea eax, [esp + 0x7c]
mov dword [esp + 0x48], 0
lea ecx, [esp + 0x58]
mov edx, 0x10
push esi
push eax
push edi
call fcn.0044fa40
add esp, 0xc
jmp 0x449def
mov edx, dword [esp + 0x14]
lea ebx, [esp + 0x78]
mov ecx, ebx
push esi
call fcn.004b1110
add esp, 4
cmp dword [esp + 0x78], 0x80000000
jne 0x449e18
mov ebx, dword [esp + 0x80]
mov esi, dword [esp + 0x7c]
test ebx, ebx
je 0x449e31
js 0x449ea7
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x449dae
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x449dbd
mov dword [0x5920d8], eax
push ebx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov edi, eax
test eax, eax
jne 0x449e36
mov ecx, 1
mov edx, ebx
call fcn.00429f60
mov eax, dword [esp + 0x88]
movsd xmm0, qword [esp + 0x78]
movsd xmm1, qword [esp + 0x80]
mov dword [esp + 0x68], eax
movsd qword [esp + 0x60], xmm1
movsd qword [esp + 0x58], xmm0
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x68]
movsd xmm0, qword [esp + 0x58]
movsd xmm1, qword [esp + 0x60]
mov dword [ecx + 0x14], eax
movsd qword [ecx + 0xc], xmm1
movsd qword [ecx + 4], xmm0
mov dword [ecx], 0xb
jmp 0x449e93
mov eax, dword [esp + 0x80]
movsd xmm0, qword [esp + 0x78]
mov dword [esp + 0x60], eax
movsd qword [esp + 0x58], xmm0
jmp 0x449e51
mov edi, 1
push ebx
push esi
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], edi
mov dword [esp + 0x60], ebx
lea ebx, [esp + 0x78]
mov edi, dword [esp + 0x18]
lea edx, [esp + 0x40]
mov ecx, ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], 0
push 0
push str.PathTryFromIntErrornumber_of_bones_should_fit_in_i32vmesh_src_v3mc.rs
call fcn.004652d0
add esp, 8
mov esi, dword [esp + 0x38]
mov edx, edi
lea ecx, [esi + 4]
push ebx
lea eax, [esp + 0x5c]
push eax
call fcn.004508d0
add esp, 8
mov dword [esi], 0xb
lea ecx, [esp + 0x198]
call fcn.0044c7d0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.00429f20
mov ecx, 1
call fcn.00429f60
mov ecx, str.called__Option::unwrap____on_a__None__value_home_rafalh_.cargo_registry_src_index.crates.io_6f17d22bba15001f_serde_json_1.0.81_src_read.rs
mov edx, 0x2b
push 0x57056c
call fcn.0046b100
mov edx, dword [esp + 0x18]
mov ecx, 4
call fcn.00429f60
mov edx, dword [esp + 0x3c]
mov ecx, 8
call fcn.00429f60
nop word cs:[eax + eax]