Function at 0x4410a0
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 0x4410b4
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 0x4411a5
mov edx, dword [eax + 0x30]
xor edi, edi
cmp ecx, 8
mov esi, 0
jb 0x44117b
movdqa xmm2, xmmword [0x5733c0]
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 0x441100
paddd xmm1, xmm0
cmp ecx, esi
pshufd xmm0, xmm1, 0xee
paddd xmm0, xmm1
pshufd xmm1, xmm0, 0x55
paddd xmm1, xmm0
movd edi, xmm1
je 0x4411a7
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 0x441190
jmp 0x4411a7
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 0x4411db
test byte [ecx + 0x139], 0x40
lea ecx, [ecx + 0x140]
lea eax, [edx - 0x140]
je 0x4411c0
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 0x4448b4
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.0046eb40
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.0047f8e0
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 0x441360
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 0x4417c1
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x4417c1
mov edx, dword [ebx + 0x24]
mov esi, ecx
shl esi, 6
lea edi, [esi + esi*4]
lea ebx, [edx + 0x20]
jmp 0x44132c
cmp esi, dword [esp + 0x5c]
jne 0x441a8f
add ebx, 0x140
add edi, 0xfffffec0
je 0x4417bb
cmp dword [ebx + 0x30], 0
jne 0x44131a
cmp dword [ebx + 0x5c], 0x110000
jne 0x44131a
test dword [ebx + 0x118], 0x100002
je 0x44131a
mov esi, dword [ebx]
test esi, esi
je 0x441310
mov esi, dword [ebx + 4]
jmp 0x441310
cmp dword [ebx + 0x44], 0
mov ecx, dword [esp + 0x5c]
je 0x4412d4
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 [0x5733d0]
pxor xmm2, xmmword [0x5733e0]
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.0045dad0
add esp, 4
mov ecx, esi
lea edx, [esp + 0x98]
mov byte [esp + 0x98], 0xff
push 1
call fcn.0045dad0
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 0x441780
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 0x441730
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 0x441730
jmp 0x443900
movdqa xmm2, xmmword [esp + 0x80]
pcmpeqd xmm0, xmm0
pcmpeqb xmm2, xmm0
pmovmskb eax, xmm2
test eax, eax
jne 0x441ad4
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 0x44170e
mov ebx, dword [esp + 8]
mov dl, 1
mov ecx, dword [ebx + 0xc8]
test ecx, 0x80000000
jne 0x4417d9
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 0x441810
test bl, 1
mov ebx, dword [esp + 0x20]
jne 0x441a2b
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x30]
mov ecx, dword [eax + 0x14]
jmp 0x441bb2
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
mov ebx, dword [esp + 0x20]
cmp eax, dword [ecx + 8]
jae 0x441a1e
mov ecx, dword [ecx + 4]
test ecx, ecx
je 0x441a1e
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.0046eb40
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.0047f8e0
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 0x441b57
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 0x4418f1
add eax, 0x140
add edi, 0xfffffec0
je 0x441a83
cmp dword [eax + 0x50], 0
jne 0x4418e0
cmp dword [eax + 0x7c], 0x110000
jne 0x4418e0
cmp dword [eax + 0x20], 0
je 0x4418e0
mov ebx, dword [esp + 0x1c]
cmp dword [eax + 0x24], ebx
jne 0x4418e0
mov edi, dword [edx + 0xc8]
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x188], edi
test edi, 0x10000
mov edi, dword [esp + 0x80]
jne 0x441b08
mov edx, dword [edx + 0xd0]
test edx, 0x10000
jne 0x441b08
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 0x4486b4
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 0x441960
test byte [esi + 0x139], 0x10
mov edi, dword [esp + 0x80]
mov ecx, dword [esp + 0x194]
jne 0x441b08
mov eax, dword [esp + 0x188]
or eax, ecx
test eax, 0x2000000
je 0x4419de
test ebx, ebx
jne 0x4419de
mov edx, dword [esp + 0x78]
lea ecx, [esp + 0xd0]
push dword [esp + 0x4c]
call fcn.00471790
add esp, 4
cmp byte [esp + 0xd0], 0
je 0x441b08
mov ecx, dword [esp + 0x190]
cmp ecx, 2
jae 0x441ae0
test ecx, ecx
mov dword [esp + 0xd0], 0x2d
je 0x441b08
movzx eax, byte [edi]
cmp byte [esp + 0xd0], al
jne 0x441b08
cmp al, 0x2d
jne 0x441b57
jmp 0x441b08
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x30]
jmp 0x441b93
mov al, 1
test ecx, 0x80000000
jne 0x441a6f
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 0x441a66
mov eax, dword [esp + 0x18]
mov ebx, dword [eax + 0x14]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x1c], eax
jmp 0x44326b
mov ebx, dword [esp + 8]
mov dword [esp + 0x80], eax
mov dword [esp + 0x1c], edi
jmp 0x44326b
mov edi, dword [esp + 0x80]
jmp 0x441b57
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 0x441aa0
mov ebx, dword [esp + 8]
test edi, edi
mov dl, 1
je 0x4417c1
movzx edx, byte [edi + 0x139]
and dl, 0x40
shr dl, 6
jmp 0x4417c1
mov eax, dword [esp + 0x18]
mov ebx, dword [eax + 0x14]
jmp 0x4412d0
movzx eax, word [edi]
cmp eax, 0x2d2d
je 0x44365b
mov dword [esp + 0xd0], 0x2d
cmp byte [edi], 0x2d
jne 0x441b08
movzx eax, word [edi]
cmp eax, 0x2d2d
jne 0x441b57
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 0x448a10
add esp, 4
test eax, eax
setne byte [esp + 8]
test dword [esp + 0x60], 0x7fffffff
jne 0x441b72
cmp byte [esp + 8], 0
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x20]
je 0x441b97
jmp 0x441b8f
push edi
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
cmp byte [esp + 8], 0
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x20]
je 0x441b97
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 0x441c57
test byte [ecx + 0xcd], 1
mov dword [esp + 0x30], edx
jne 0x441be0
mov eax, 0x100
test dword [ecx + 0xd4], eax
jne 0x441be0
mov eax, dword [esp + 0x2c]
dec eax
cmp eax, 2
jb 0x441c35
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 0x448a10
add esp, 4
mov ebx, dword [esp + 0x20]
test eax, eax
jne 0x4455f3
cmp dword [esp + 0x34], 2
jne 0x441c5e
mov eax, dword [esp + 0x48]
movzx eax, word [eax]
cmp eax, 0x2d2d
je 0x441cfd
cmp dword [esp + 0x28], 0
jne 0x441c6c
jmp 0x441c8d
mov ebx, ecx
jmp 0x44326b
cmp dword [esp + 0x28], 0
je 0x441c8d
cmp dword [esp + 0x34], 2
jb 0x441c96
mov eax, dword [esp + 0x48]
mov ecx, eax
movzx eax, word [eax]
cmp eax, 0x2d2d
je 0x441de8
mov dword [esp + 0xd0], 0x2d
jmp 0x441ca8
cmp ebx, 2
jae 0x441d70
cmp dword [esp + 0x34], 0
mov dword [esp + 0xd0], 0x2d
je 0x441cf0
mov eax, dword [esp + 0x48]
movzx eax, byte [eax]
cmp al, byte [esp + 0xd0]
jne 0x441cf0
mov edi, dword [esp + 0x34]
mov dword [esp + 0xd0], 0x2d
dec edi
je 0x441cf0
mov eax, dword [esp + 0x48]
movzx edx, byte [esp + 0xd0]
lea ecx, [eax + 1]
cmp dl, byte [ecx]
mov dword [esp + 8], ecx
jne 0x442012
nop word cs:[eax + eax]
nop
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x30]
jmp 0x44324c
mov eax, dword [esp + 0x2c]
cmp eax, 1
je 0x441e7d
mov edi, dword [esp + 0x30]
cmp eax, 2
jne 0x44413c
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 0x448618
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 0x441d40
jmp 0x441ecb
mov eax, dword [esp + 0xc]
movzx eax, word [eax]
cmp eax, 0x2d2d
jne 0x441c96
mov ecx, ebx
add ecx, 0xfffffffe
je 0x441c96
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 0x441eec
mov eax, dword [esp + 0x34]
add eax, 0xfffffffe
mov dword [esp + 8], eax
je 0x441c80
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 0x4420ba
mov ecx, ebx
cmp ebx, edi
ja 0x4420ba
mov edx, dword [esp + 8]
cmp ecx, edx
ja 0x44865c
cmp ecx, edi
mov ebx, ecx
setae al
adc ebx, 0
cmp edx, ecx
je 0x441e20
mov edx, dword [esp + 0x60]
mov esi, eax
mov al, 0x3d
cmp al, byte [edx + ecx]
mov eax, esi
jne 0x441e20
mov edx, dword [esp + 8]
lea edi, [ecx + 1]
mov eax, edx
sub eax, edi
mov dword [esp + 0x70], eax
jb 0x4488dc
add edi, dword [esp + 0x60]
mov dword [esp + 8], ecx
jmp 0x4420bc
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 0x448618
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 0x441ea0
test byte [eax + 0x139], 0x10
jne 0x443248
jmp 0x444112
mov eax, dword [esp + 0x60]
sub ecx, edi
lea eax, [eax + edi]
jb 0x4420b0
cmp ecx, 8
jae 0x441f14
test ecx, ecx
je 0x4420b0
xor ebx, ebx
nop dword [eax + eax]
cmp byte [eax + ebx], 0x3d
je 0x441fd2
inc ebx
cmp ecx, ebx
jne 0x441f00
jmp 0x4420b0
lea edx, [eax + 3]
and edx, 0xfffffffc
sub edx, eax
je 0x441f44
cmp edx, ecx
cmovae edx, ecx
test edx, edx
je 0x441f44
xor ebx, ebx
nop dword [eax]
cmp byte [eax + ebx], 0x3d
je 0x441f4f
inc ebx
cmp edx, ebx
jne 0x441f30
lea esi, [ecx - 8]
mov dword [esp + 0x10], edi
jmp 0x441f60
mov dword [esp + 0x10], edi
lea esi, [ecx - 8]
xor edx, edx
jmp 0x441f64
mov esi, dword [esp + 0x18]
jmp 0x441fd2
cmp edx, esi
ja 0x441f9f
movq xmm0, qword [eax + edx]
movdqa xmm1, xmm0
pxor xmm1, xmmword [0x5733f0]
paddd xmm1, xmmword [0x573400]
pandn xmm0, xmm1
pand xmm0, xmmword [0x573410]
movd edi, xmm0
pshufd xmm0, xmm0, 0x55
movd ebx, xmm0
or ebx, edi
jne 0x441f9f
add edx, 8
jmp 0x441f60
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
sub ecx, edx
je 0x4420b0
add eax, edx
xor ebx, ebx
nop word cs:[eax + eax]
nop dword [eax]
cmp byte [eax + ebx], 0x3d
je 0x441fd0
inc ebx
cmp ecx, ebx
jne 0x441fc0
jmp 0x4420b0
add ebx, edx
mov ecx, dword [esp + 8]
add ebx, edi
mov edi, ebx
inc edi
mov dword [esp + 0xdc], edi
je 0x441edd
mov eax, ecx
sub eax, edi
mov dword [esp + 0x70], eax
jb 0x441edd
mov edx, dword [esp + 0x60]
mov al, 0x3d
cmp byte [edx + ebx], al
jne 0x441edd
add edi, dword [esp + 0x60]
xor eax, eax
mov edx, ebx
jmp 0x4420f7
cmp dword [esp + 0x28], 0
mov dword [esp + 0x40], edi
je 0x44273c
mov esi, dword [esp + 8]
lea ecx, [esp + 0x98]
mov edx, esi
push edi
call fcn.0046eb40
add esp, 4
cmp dword [esp + 0x98], 0
mov ecx, dword [esp + 0x18]
je 0x4427b9
mov ebx, dword [esp + 0x9c]
cmp edi, ebx
jbe 0x442062
movzx eax, byte [esi + ebx]
and al, 0xc0
cmp al, 0x80
je 0x4488fa
mov eax, edi
sub eax, ebx
mov dword [esp + 0x4c], eax
jb 0x448881
lea ecx, [esp + 0xd0]
mov edx, esi
push ebx
call fcn.0046eb40
add esp, 4
cmp dword [esp + 0xd0], 0
jne 0x448895
mov edx, dword [esp + 0xd4]
mov edi, dword [esp + 0xd8]
mov ecx, dword [esp + 0x18]
add ebx, esi
mov dword [esp + 0x80], ebx
jmp 0x4427d2
mov edx, dword [esp + 8]
xor edi, edi
xor eax, eax
jmp 0x4420f7
xor edi, edi
mov edx, dword [esp + 0x60]
mov esi, dword [esp + 8]
lea ecx, [esp + 0xd0]
push esi
call fcn.0046eb40
mov edx, esi
add esp, 4
mov eax, dword [esp + 0xd0]
test eax, eax
jne 0x4420f3
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 0x44216e
cmp ecx, 1
jne 0x4421d1
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 0x448648
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 0x442140
jmp 0x4421bc
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 0x448648
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 0x442190
test byte [ecx + 0x139], 0x10
mov edi, dword [esp + 0x30]
mov edx, dword [esp + 8]
jne 0x443248
mov ecx, dword [esp + 0x18]
inc dword [ecx + 0x18]
test eax, eax
jne 0x44641c
test edx, edx
je 0x4487ad
mov ebx, dword [ecx + 0x14]
mov eax, dword [ebx + 0x34]
test eax, eax
je 0x442254
mov esi, dword [ebx + 0x30]
shl eax, 2
lea edi, [eax + eax*4]
jmp 0x442208
add esi, 0x14
add edi, 0xffffffec
je 0x442254
mov eax, dword [esi]
mov ecx, 0x80000000
xor eax, ecx
cmp eax, 2
ja 0x44221b
cmp eax, 1
jne 0x442200
cmp dword [esi + 8], edx
jne 0x442200
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 0x442200
mov ecx, dword [esi + 0x10]
mov edx, dword [ebx + 0x28]
cmp ecx, edx
jae 0x447d4c
lea edi, [ecx + ecx*4]
shl edi, 6
add edi, dword [ebx + 0x24]
jmp 0x44232d
mov ecx, dword [ebx + 0xcc]
mov eax, dword [ebx + 0xc8]
test ecx, 0x800
mov dword [esp + 0x78], eax
mov dword [esp + 0x3c], ecx
jne 0x442281
mov eax, 0x800
test dword [ebx + 0xd4], eax
je 0x44250a
mov eax, dword [ebx + 0x28]
test eax, eax
je 0x44250a
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 0x4422b1
cmp esi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x40]
mov edi, esi
je 0x44250a
mov eax, dword [edi + 0x50]
test eax, eax
je 0x4422d3
cmp dword [edi + 0x54], edx
jb 0x4422d3
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 0x44232d
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 0x442306
add ebx, 0xc
add edi, 0xfffffff4
test edi, edi
je 0x4422a1
cmp dword [ebx], edx
jb 0x442300
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 0x442300
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 0x442355
mov ecx, dword [esp + 0x18c]
call fcn.004375b0
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 0x442758
mov edi, dword [esp + 0x10]
test edi, edi
jne 0x447133
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 0x442450
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 0x4423b0
mov ecx, dword [eax + 0x50]
test ecx, ecx
je 0x442450
mov edx, dword [esp + 8]
cmp edx, dword [eax + 0x54]
mov edx, dword [esp + 0x10]
jne 0x442450
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 0x442450
mov eax, dword [esp + 0x38]
test dword [eax + 0xc8], 0x100
jne 0x442450
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 0x4437ee
mov edi, dword [esp + 0x30]
nop word cs:[eax + eax]
nop
test edx, edx
je 0x44406c
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 0x442460
mov eax, dword [ebx + 0x50]
mov ecx, dword [esp + 8]
test eax, eax
je 0x44406c
cmp ecx, dword [ebx + 0x54]
jne 0x44406c
push ecx
push eax
push dword [esp + 0x68]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x44406c
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 0xc8]
test ecx, 0x200
jne 0x44406c
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 0x44406c
mov dword [esp + 0xd0], eax
jmp 0x442787
test byte [esp + 0x3c], 0x10
jne 0x44254a
mov eax, 0x10
test dword [ebx + 0xd4], eax
jne 0x44254a
mov eax, dword [ebx + 0x12c]
mov edi, dword [esp + 0x30]
test eax, eax
je 0x442c8b
mov ecx, dword [ebx + 0x128]
imul eax, eax, 0x160
add eax, ecx
mov dword [esp + 0x80], eax
jmp 0x4429ed
mov eax, dword [ebx + 0x12c]
mov edi, dword [esp + 0x30]
test eax, eax
mov dword [esp + 0x70], eax
je 0x442ab1
mov eax, dword [ebx + 0x128]
mov ecx, 4
xor ebx, ebx
xor esi, esi
mov dword [esp + 0x4c], eax
xor eax, eax
jmp 0x4425a8
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 0x4427a2
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 0x442620
mov eax, dword [ecx + ebx + 0x64]
mov edi, ecx
cmp eax, edx
jb 0x442690
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 0x44262d
mov edx, dword [esp + 8]
jmp 0x442690
mov ecx, dword [esp + 0x40]
mov ebx, dword [esp + 0x10]
jmp 0x442592
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x40]
cmp eax, edx
jne 0x44265a
lea ecx, [esp + 0x98]
call fcn.00437330
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 0x442580
mov edi, dword [eax + 4]
lea esi, [eax + 0xc]
mov dword [esp + 0x10], esi
cmp edi, edx
jb 0x4426b0
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 0x4426b0
mov eax, dword [esp + 0x80]
cmp eax, dword [esp + 0x98]
je 0x44271c
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 0x4426b0
mov edx, dword [esp + 0x80]
lea ecx, [esp + 0x98]
push 1
call fcn.004b7970
mov edx, dword [esp + 0xc]
mov ecx, esi
add esp, 4
jmp 0x4426f6
mov eax, dword [esp + 0x18]
cmp ebx, 1
ja 0x4427f8
mov ecx, dword [esp + 0xc]
je 0x442806
jmp 0x448909
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.00449fe0
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 0x443248
jmp 0x4440d9
mov dword [esp + 0x10], ebx
cmp eax, 1
mov ebx, 0
jne 0x442ac2
jmp 0x44735c
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 0x442839
mov ebx, esi
jmp 0x442844
mov ecx, dword [esp + 0xc]
cmp byte [ecx + 1], 0xbf
jle 0x448919
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 0x44285f
mov eax, dword [esi + 0xcc]
mov dword [esp + 0x60], eax
test byte [esi + 0xd3], 2
mov ebx, esi
je 0x44284e
cmp dword [esp + 0x80], 0
je 0x44285f
test ecx, 0x10000
mov dword [esp + 0x3c], edx
je 0x4428a6
jmp 0x44290b
mov esi, edx
lea ecx, [esp + 0xd0]
push edi
call fcn.00471790
add esp, 4
cmp byte [esp + 0xd0], 0
je 0x443244
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 0x44290b
test byte [ebx + 0xd2], 1
jne 0x44290b
mov eax, dword [esp + 0x2c]
cmp eax, 2
je 0x442b50
cmp eax, 1
jne 0x442b9e
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 0x448734
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 0x4428da
jmp 0x442b91
mov edx, dword [esp + 0x3c]
cmp edx, dword [esp + 0x10]
je 0x443236
movzx ecx, byte [edx]
test cl, cl
js 0x442923
inc edx
jmp 0x442980
movzx eax, byte [edx + 1]
mov edi, ecx
and edi, 0x1f
and eax, 0x3f
cmp cl, 0xdf
jbe 0x44296a
movzx esi, byte [edx + 2]
shl eax, 6
and esi, 0x3f
or esi, eax
cmp cl, 0xf0
jb 0x442976
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 0x443236
add edx, 4
jmp 0x442980
shl edi, 6
add edx, 2
or edi, eax
mov ecx, edi
jmp 0x442980
shl edi, 0xc
add edx, 3
or esi, edi
mov ecx, esi
mov eax, 2
mov esi, ebx
test dword [esp + 0x60], eax
jne 0x442999
test dword [esi + 0xd4], eax
je 0x44886d
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 0x443244
mov eax, edi
add esi, 0xffffffec
add edi, 0x14
cmp dword [eax], 0x80000000
jne 0x4429b0
cmp dword [eax + 4], ecx
jne 0x4429b0
jmp 0x44290f
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x30]
add ecx, 0x160
cmp ecx, dword [esp + 0x80]
je 0x442c8b
mov eax, dword [ecx + 0x60]
mov dword [esp + 0x10], ecx
test eax, eax
je 0x442a6b
cmp edx, dword [ecx + 0x64]
jne 0x442a17
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 0x446407
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 0x442a46
add esi, 0xc
add edi, 0xfffffff4
test edi, edi
je 0x4429d2
cmp edx, dword [esi]
jne 0x442a40
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 0x442a40
jmp 0x446407
mov eax, dword [ecx + 0x120]
mov esi, dword [ecx + 0x11c]
shl eax, 2
add esi, 4
lea edi, [eax + eax*2]
jmp 0x442a88
add esi, 0xc
add edi, 0xfffffff4
test edi, edi
je 0x4429d2
cmp edx, dword [esi]
jne 0x442a82
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 0x442a82
jmp 0x446407
mov ecx, 4
xor eax, eax
mov dword [esp + 0x10], 0
xor ebx, ebx
shl eax, 3
mov dword [esp + 0x80], eax
jmp 0x442ad7
mov edi, dword [esp + 0x30]
add ebx, 8
cmp eax, ebx
je 0x442b0a
cmp dword [ecx + ebx + 4], edx
jne 0x442ad0
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 0x442ad0
jmp 0x447361
cmp dword [esp + 0x10], 0
je 0x442b23
push ecx
push 0
push dword [0x5970d8]
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 0x443248
test byte [ebx + 0xd2], 1
jne 0x443248
jmp 0x447d56
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 0x448734
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 0x442b65
test byte [ecx + 0x139], 0x10
jne 0x443244
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 0x442bfd
mov eax, ecx
add edx, 0xffffffec
add ecx, 0x14
cmp dword [eax + 0x14], 0x80000002
jne 0x442baf
mov esi, dword [esp + 0x1c]
cmp dword [eax + 0x18], esi
jne 0x442baf
mov ecx, dword [ecx + 0x10]
mov edx, dword [ebx + 0x28]
cmp ecx, edx
jae 0x447d4c
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 0x443244
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 0x442c29
lea ecx, [edi + 1]
mov edx, ecx
sub edx, edi
mov edi, ecx
add ebx, edx
sub eax, 1
jb 0x442c9f
cmp edi, dword [esp + 0x10]
je 0x442cac
movzx ecx, byte [edi]
test cl, cl
jns 0x442c1e
cmp cl, 0xe0
jb 0x442c81
cmp cl, 0xf0
jb 0x442c86
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 0x442c21
jmp 0x442cb6
lea ecx, [edi + 2]
jmp 0x442c21
lea ecx, [edi + 3]
jmp 0x442c21
mov eax, dword [esp + 0x78]
test eax, 0x10000
jne 0x443248
jmp 0x442b3e
mov eax, dword [esp + 0x80]
mov dword [esp + 0x3c], eax
jmp 0x442cb4
mov dword [esp + 0x3c], 0
mov ecx, edi
mov dword [esp + 0x80], 8
cmp ecx, dword [esp + 0x10]
je 0x44370c
movzx eax, byte [ecx]
test al, al
js 0x442cd7
lea edi, [ecx + 1]
jmp 0x442d33
movzx edi, byte [ecx + 1]
mov edx, eax
and edx, 0x1f
and edi, 0x3f
cmp al, 0xdf
jbe 0x442d1b
movzx esi, byte [ecx + 2]
shl edi, 6
and esi, 0x3f
or esi, edi
cmp al, 0xf0
jb 0x442d29
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 0x44370c
lea edi, [ecx + 4]
jmp 0x442d33
shl edx, 6
lea eax, [ecx + 2]
or edx, edi
mov edi, eax
mov eax, edx
jmp 0x442d33
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 0x443113
mov esi, ecx
add edx, 0xffffffec
add ecx, 0x14
cmp dword [esi + 0x14], 0x80000000
jne 0x442d60
cmp dword [esi + 0x18], eax
jne 0x442d60
mov ecx, dword [ecx + 0x10]
mov edx, dword [edi + 0x28]
mov dword [esp + 0x70], ebx
cmp ecx, edx
jae 0x447d4c
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 0x442dc8
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x18c]
call fcn.004375b0
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 0x442f95
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 0x442eaa
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 0x442e2a
mov eax, dword [esi + 0x7c]
cmp eax, 0x110000
je 0x442eaa
cmp eax, dword [esp + 0x194]
jne 0x442eaa
mov eax, dword [esp + 0x188]
test dword [eax + 0xc8], 0x100
jne 0x442eaa
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 0x4438de
mov esi, dword [esp + 0x78]
test esi, esi
je 0x442f24
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 0x442eae
mov eax, dword [ebx + 0x7c]
cmp eax, 0x110000
je 0x442f24
cmp eax, dword [esp + 0x194]
jne 0x442f24
mov eax, dword [esp + 0x188]
mov eax, dword [eax + 0xc8]
test eax, 0x200
jne 0x442f24
mov ecx, dword [esp + 0x188]
mov edx, 0x600
and eax, 0x400
mov ecx, dword [ecx + 0xd0]
and ecx, edx
or eax, ecx
je 0x4438ec
mov edi, dword [esp + 0x18]
mov ebx, dword [ebp + 8]
mov ecx, edi
mov edx, ebx
push dword [esp + 0x38]
call fcn.0044a3f0
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.0045feb0
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 0x4430db
cmp ecx, 4
je 0x443091
test ecx, ecx
lea eax, [esp + 0x9c]
je 0x4430db
jmp 0x4430f0
mov edx, dword [esp + 0x60]
cmp edx, dword [esp + 0x10]
je 0x442fdd
movzx eax, byte [edx]
test al, al
jns 0x442fed
cmp al, 0xe0
jb 0x442fed
cmp al, 0xf0
jb 0x442fed
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 0x442fed
mov ebx, dword [esp + 0x3c]
mov eax, dword [esp + 0x4c]
test ebx, ebx
jne 0x443018
xor edi, edi
jmp 0x443034
mov edx, dword [esp + 0x40]
mov edi, dword [esp + 0x70]
mov ecx, dword [esp + 8]
cmp edx, edi
jbe 0x44300b
movzx eax, byte [ecx + edi]
and al, 0xc0
cmp al, 0x80
je 0x448985
mov eax, edx
sub eax, edi
jb 0x448979
lea ebx, [ecx + edi]
test eax, eax
mov edi, ebx
cmove edi, eax
je 0x443034
cmp byte [ebx], 0x3d
lea ecx, [ebx + 1]
mov edx, 0
lea esi, [eax - 1]
cmovne ecx, edx
jmp 0x44303f
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.00449fe0
add esp, 0x14
cmp dword [esp + 0xd0], 3
jne 0x443875
mov ecx, dword [esp + 0x60]
mov ebx, dword [esp + 0x70]
mov al, 1
mov dword [esp + 0x38], eax
jmp 0x442cc1
cmp dword [esp + 0x9c], 0
je 0x4430af
push dword [esp + 0xa0]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0xa8], 0
lea eax, [esp + 0xb4]
je 0x4430db
push dword [esp + 0xac]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
lea eax, [esp + 0xb4]
cmp dword [eax], 0
je 0x4430f0
push dword [eax + 4]
push 0
push dword [0x5970d8]
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 0x442cc1
mov ecx, dword [edi + 0x128]
imul edx, dword [edi + 0x12c], 0x160
add edx, ecx
mov edi, dword [esp + 0x30]
cmp ecx, edx
je 0x443172
mov esi, dword [ecx + 0xf0]
cmp esi, 0x110000
je 0x443143
cmp esi, eax
je 0x4431e2
mov edi, dword [ecx + 0x114]
mov ebx, dword [ecx + 0x110]
lea esi, [ecx + 0x160]
shl edi, 3
test edi, edi
je 0x443168
add edi, 0xfffffff8
cmp eax, dword [ebx]
lea ebx, [ebx + 8]
jne 0x443158
jmp 0x4431e2
mov ecx, esi
mov edi, dword [esp + 0x30]
cmp ecx, edx
jne 0x44312d
lea ecx, [esp + 0x120]
lea eax, [esp + 0x144]
mov dword [esp + 0xd0], 0x576208
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.00470350
mov dword [esp + 0xdc], 1
call fcn.0044b050
mov eax, 7
jmp 0x443629
mov esi, dword [ecx + 0xfc]
mov edi, dword [ecx + 0xf8]
test esi, esi
je 0x4435ca
js 0x448613
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x44321e
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x445a83
mov dword [0x5970d8], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ebx, eax
test eax, eax
jne 0x4435cf
jmp 0x445a83
cmp dword [esp + 0x80], 0
je 0x4428af
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 0x443eb4
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 0x44417e
mov edx, eax
add ecx, 0xffffffec
add eax, 0x14
cmp dword [edx + 0x14], 0x80000002
jne 0x443280
mov edi, dword [esp + 0x1c]
cmp dword [edx + 0x18], edi
jne 0x443280
mov ecx, dword [eax + 0x10]
mov edx, dword [ebx + 0x28]
cmp ecx, edx
jae 0x447d4c
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 0x445388
test byte [edx + 0xc9], 0x10
mov al, 1
jne 0x4432ec
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 0x443337
mov ecx, dword [esp + 0x18c]
call fcn.004375b0
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.0044a3f0
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.00462b90
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 0x443422
nop word [eax + eax]
pcmpeqd xmm2, xmm2
pcmpeqb xmm1, xmm2
pmovmskb ecx, xmm1
test ecx, ecx
jne 0x443480
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 0x4433f0
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 0x44698f
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 0x4433e2
mov eax, dword [esp + 0x10]
cmp dword [eax + ecx + 0x1c], 0
setne al
jmp 0x443482
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.0044b100
add esp, 0x1c
mov ecx, dword [esp + 0xd0]
lea eax, [ecx - 6]
cmp eax, 2
lea eax, [esp + 0xd4]
jb 0x443530
cmp ecx, 4
je 0x4434e1
test ecx, ecx
lea eax, [esp + 0xd4]
je 0x443530
jmp 0x443545
cmp dword [esp + 0xd4], 0
je 0x4434ff
push dword [esp + 0xd8]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0xe0], 0
lea eax, [esp + 0xec]
je 0x443530
push dword [esp + 0xe4]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
lea eax, [esp + 0xec]
nop dword [eax + eax]
cmp dword [eax], 0
je 0x443545
push dword [eax + 4]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
mov ecx, dword [esp + 0x80]
test dword [ecx], 0x100002
je 0x44358e
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 0x44121a
jmp 0x4435b3
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 0x44121a
push esi
push 0
push dword [0x5970d8]
mov esi, eax
call sub.KERNEL32.dll_HeapFree
mov eax, esi
jmp 0x44121a
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 0x4435f3
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 0x443612
mov eax, dword [esp + 0x60]
cmp dword [esp + 0x10], eax
jne 0x443612
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 0x4436c1
cmp ecx, 4
je 0x443677
test ecx, ecx
lea eax, [esp + 0x9c]
je 0x4436c1
jmp 0x4436f1
cmp ecx, 2
jne 0x441b57
movzx eax, word [edi]
cmp eax, 0x2d2d
jne 0x441b57
jmp 0x441aee
cmp dword [esp + 0x9c], 0
je 0x443695
push dword [esp + 0xa0]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0xa8], 0
lea eax, [esp + 0xb4]
je 0x4436c1
push dword [esp + 0xac]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
lea eax, [esp + 0xb4]
cmp dword [eax], 0
je 0x4436f1
push dword [eax + 4]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x50]
mov eax, dword [eax*4 + 0x4489e0]
add eax, dword [esp + 0x198]
jmp eax
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x50]
mov eax, dword [eax*4 + 0x4489e0]
add eax, dword [esp + 0x198]
jmp eax
mov edx, dword [esp + 0x3c]
test edx, edx
je 0x4437fc
lea edi, [esp + 0x120]
mov ecx, edi
push dword [esp + 0x4c]
call fcn.0042a150
add esp, 4
lea eax, [esp + 0x178]
lea ecx, [esp + 0x130]
lea edx, [esp + 0xd0]
mov dword [esp + 0x178], edi
mov dword [esp + 0xd0], 0x576208
mov dword [esp + 0xd4], 1
mov dword [esp + 0xe0], 0
mov dword [esp + 0x17c], 0x454a50
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], 1
call fcn.0042a380
mov eax, dword [esp + 0x120]
cmp eax, 0x80000000
je 0x4437c0
test eax, eax
je 0x4437c0
push dword [esp + 0x124]
push 0
push dword [0x5970d8]
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 0x4438d5
mov edi, dword [esp + 0x30]
mov eax, 9
jmp 0x4424fe
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 + 0x4489e0]
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 0x443630
mov eax, 9
mov dword [esp + 0x150], eax
jmp 0x4438cf
mov eax, 0xa
mov dword [esp + 0x150], eax
jmp 0x4438cf
mov esi, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
mov edx, dword [esi + 8]
cmp edx, ecx
jb 0x4486c8
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 0x443a5a
mov eax, dword [eax]
mov edx, edi
sub eax, edi
cmp eax, ebx
jb 0x443f4f
mov edi, dword [esp + 0x10]
test ebx, ebx
je 0x443ae6
mov eax, edx
shl eax, 4
lea eax, [esi + eax + 0xd]
xor esi, esi
mov dword [esp + 0x80], eax
jmp 0x4439f9
push ecx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ebx, eax
test eax, eax
je 0x44862c
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 0x443ae6
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 0x443a50
js 0x448613
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x443980
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x44862c
mov dword [0x5970d8], eax
mov ecx, dword [esp + 8]
jmp 0x443980
mov ebx, 1
jmp 0x443993
lea eax, [ebx*8]
test ebx, ebx
mov dword [esp + 0xc], eax
je 0x443b07
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 0x4440b1
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 0x443d9f
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 0x443b23
mov edx, ecx
mov ecx, dword [ebp + 0xc]
cmp dword [esp + 0x3c], edx
je 0x444018
jmp 0x443fdd
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 0x444018
jmp 0x443fdd
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 0x443ad2
cmp esi, 0x3ffffff8
ja 0x448613
add esi, esi
js 0x448613
mov dword [esp + 0x40], edx
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x443b5d
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4486d2
mov dword [0x5970d8], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4486d2
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 0x443c25
mov dword [0x5970d8], eax
push dword [esp + 0xc]
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov edi, eax
test eax, eax
je 0x44863a
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 0x443c8a
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 0x443c80
js 0x448613
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x443b95
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
jne 0x443b90
jmp 0x44863a
mov edi, 1
jmp 0x443bab
mov esi, dword [esp + 0x78]
mov ecx, edx
shl ecx, 4
add ecx, esi
test edx, edx
je 0x443e8a
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 0x444121
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 0x443f74
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 0x443f6c
mov esi, ecx
mov ecx, dword [edx]
mov eax, edi
lea edi, [edx + 0x10]
cmp ecx, 0x80000000
je 0x443f72
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 0x443d20
jmp 0x443f74
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 0x443e28
push ebx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ecx, dword [esp + 0xc]
mov edi, eax
test eax, eax
je 0x4454af
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 0x443e97
test edi, edi
je 0x443fd3
mov eax, dword [esp + 0x10]
mov dword [esp + 8], edi
mov ebx, dword [eax + 4]
mov ecx, dword [eax]
test ebx, ebx
je 0x443e80
js 0x448613
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
mov dword [esp + 0xc], ecx
test eax, eax
jne 0x443dc0
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4454af
mov dword [0x5970d8], eax
jmp 0x443dc0
mov edi, 1
jmp 0x443dd7
mov eax, dword [esp + 0x4c]
mov dword [esp + 8], eax
jmp 0x443f80
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x34]
sub esi, edi
cmp dword [esp + 0x28], edi
jne 0x443b23
jmp 0x443ad2
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 0x44868e
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 0x443ed0
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.0044b100
add esp, 0x1c
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x44], 0
cmp eax, 1
je 0x44404b
mov ecx, dword [esp + 0x50]
cmp eax, 2
mov eax, 0
je 0x44405e
jmp 0x448928
mov edi, dword [ebp + 0xc]
mov ecx, edi
push ebx
call fcn.004b7b50
add esp, 4
mov esi, dword [edi + 4]
mov edx, dword [edi + 8]
mov edi, dword [esp + 0x10]
jmp 0x443968
mov esi, dword [esp + 0x7c]
jmp 0x443f74
mov esi, edi
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x60]
mov ecx, dword [esp + 0x7c]
cmp ecx, esi
je 0x443fad
sub ebx, esi
add esi, 4
shr ebx, 4
jmp 0x443f96
add esi, 0x10
dec ebx
je 0x443fad
cmp dword [esi - 4], 0
je 0x443f90
push dword [esi]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x443f90
cmp dword [esp + 0x28], edi
je 0x443fc4
push dword [esp + 0x78]
push 0
push dword [0x5970d8]
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 0x444018
mov edi, ecx
mov esi, dword [ecx + 8]
mov ecx, dword [esp + 0x4c]
cmp ecx, esi
je 0x444011
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 0x441216
push dword [esp + 0x48]
push 0
push dword [0x5970d8]
mov esi, eax
mov edi, ecx
call sub.KERNEL32.dll_HeapFree
mov ecx, edi
mov eax, esi
jmp 0x441216
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 0x44401c
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.0044a3f0
add esp, 4
mov edx, dword [ebx + 0x38]
mov ecx, esi
push 2
push dword [edi + 0x18]
push dword [ebx + 0x3c]
call fcn.0045feb0
add esp, 0xc
mov cl, 1
xor eax, eax
mov dword [esp + 0x44], 0
mov dword [esp + 0x38], ecx
jmp 0x444018
mov edi, dword [ebp + 0xc]
mov edx, dword [esp + 0x3c]
mov ecx, edi
push dword [esp + 8]
call fcn.004b7b50
mov ecx, dword [esp + 0x74]
add esp, 4
mov esi, dword [edi + 4]
mov edx, dword [edi + 8]
mov edi, dword [esp + 8]
jmp 0x443a8a
mov eax, dword [eax*4 + 0x4489b4]
add eax, ecx
jmp eax
mov al, 1
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x2c]
jmp 0x444018
mov ecx, esi
push ebx
call fcn.004b7b50
mov ecx, dword [esp + 0x74]
add esp, 4
mov eax, dword [esi + 8]
mov dword [esp + 0x40], eax
jmp 0x443cbd
mov cl, 1
mov dword [esp + 0x24], ecx
jmp 0x444018
test byte [ebx + 0xc9], 0x40
jne 0x444273
test byte [ebx + 0xd1], 0x40
jne 0x444273
cmp byte [esp + 0x80], 0
mov ecx, dword [esp + 0x20]
je 0x444318
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 0x448a10
add esp, 4
test eax, eax
je 0x444318
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.0042a150
add esp, 4
mov ebx, dword [esp + 0x138]
mov edi, dword [esp + 0x134]
test ebx, ebx
je 0x4453fc
js 0x448613
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
mov esi, dword [esp + 0x18]
test eax, eax
jne 0x44425d
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4454af
mov dword [0x5970d8], eax
push ebx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
jne 0x445405
jmp 0x4454af
cmp dword [esp + 0x28], 0
mov edx, dword [esp + 0x20]
je 0x4442c3
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.vmesh_src_char_anim.rs
call fcn.00465360
add esp, 8
mov ecx, dword [esp + 0x74]
mov edx, ebx
push edi
call fcn.00450b80
add esp, 4
jmp 0x4462c9
test edx, edx
je 0x444385
mov esi, dword [esp + 0x18]
js 0x448613
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x4442f7
call sub.KERNEL32.dll_GetProcessHeap
mov edx, dword [esp + 0x20]
test eax, eax
je 0x44430e
mov dword [0x5970d8], eax
push edx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov edx, dword [esp + 0x20]
mov edi, eax
test eax, eax
jne 0x44438e
mov ecx, 1
call fcn.00429f40
mov edx, dword [esp + 0x48]
lea ecx, [esp + 0x144]
push dword [esp + 0x34]
call fcn.0042a150
add esp, 4
mov ebx, dword [esp + 0x14c]
mov esi, dword [esp + 0x148]
test ebx, ebx
je 0x4448c9
js 0x448613
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x44436d
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4454af
mov dword [0x5970d8], eax
push ebx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov edi, eax
test eax, eax
jne 0x4448ce
jmp 0x4454af
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.004b30f0
test eax, eax
je 0x448764
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], 0x585480
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 0x44443e
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 0x448785
mov eax, dword [eax + 4]
mov dword [esp + 0x30], 0x1c9d3adb
mov dword [esp + 0x34], 0x639f298e
mov dword [ebp + 0x10], edx
je 0x4446d9
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 0x4444cc
mov ebx, edi
mov edi, ecx
lea ecx, [esp + 0xd0]
mov esi, edx
push ebx
call fcn.0046eb40
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 0x445312
test edi, edi
mov dword [esp + 0x28], ecx
je 0x444520
js 0x448613
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
mov ebx, edx
test eax, eax
jne 0x4444fe
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4453f0
mov dword [0x5970d8], eax
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov esi, eax
test eax, eax
mov edx, ebx
jne 0x444525
jmp 0x4453f0
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.0045f810
add esp, 0x10
cmp dword [esp + 0xc0], 0
je 0x447348
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.00462b90
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 0x44465e
nop word cs:[eax + eax]
nop
pcmpeqb xmm1, xmm3
pmovmskb ecx, xmm1
test ecx, ecx
jne 0x447348
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 0x444630
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 0x445372
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 0x444620
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 0x444490
test edi, edi
je 0x44474c
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 0x4446f0
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.0045f4f0
movzx eax, byte [esp + 0x80]
mov ecx, esi
mov edx, ebx
push eax
call fcn.0044b6e0
add esp, 4
mov esi, dword [esi + 0x14]
lea edi, [esp + 0xd0]
mov ecx, edi
mov edx, esi
call fcn.00435bb0
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.00454b60
add esp, 0x14
mov esi, dword [esp + 0xd8]
test esi, esi
je 0x44488d
mov edi, dword [esp + 0xd4]
add edi, 0xc
jmp 0x444876
add edi, 0x18
dec esi
je 0x44488d
cmp dword [edi - 4], 0
je 0x444870
push dword [edi]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x444870
cmp dword [esp + 0xd0], 0
je 0x4462c9
push dword [esp + 0xd4]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x4462c9
inc edi
mov eax, 0xffffffff
cmovne eax, edi
mov dword [ebp + 0x10], eax
mov eax, dword [esp + 0x24]
jmp 0x447431
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.004369a0
add esp, 4
mov edi, dword [esp + 0xd8]
cmp edi, 0x80000000
jne 0x44497e
mov esi, dword [esp + 0x48]
xor edi, edi
mov dword [esp + 0x10], 4
mov dword [esp + 8], 0
jmp 0x445733
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 [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x4449cf
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x44880e
mov dword [0x5970d8], eax
push 0x60
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x44880e
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 0x444af6
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.004369a0
add esp, 4
mov ebx, dword [esp + 0x158]
cmp ebx, 0x80000000
je 0x444b81
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 0x444ac0
lea ecx, [esp + 0x178]
mov edx, edi
movq qword [esp + 0x10], xmm1
call fcn.00437aa0
movq xmm1, qword [esp + 0x10]
mov esi, dword [esp + 0x17c]
jmp 0x444ac0
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 0x444bcd
cmp edi, 1
jbe 0x445272
mov esi, dword [esp + 0x2c]
mov edx, edi
mov ecx, esi
push 1
call fcn.00440570
add esp, 4
lea eax, [edi + edi*2]
lea eax, [esi + eax*8]
mov dword [esp + 0x1c], eax
jmp 0x445288
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x444bef
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x448845
mov dword [0x5970d8], 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 0x448845
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x444c36
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x448859
mov dword [0x5970d8], eax
push pe_nt_image_headers32
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x448859
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 0x444c81
mov edx, 1
mov eax, dword [esp + 0x44]
cmp eax, edi
jae 0x445250
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 0x444d90
mov dword [esp + 8], eax
mov eax, dword [esp + 0x10]
mov esi, edi
mov edx, esi
sub esi, eax
jb 0x448666
cmp edx, edi
ja 0x448666
mov dword [esp + 0x44], edx
jae 0x444cfc
cmp dword [esp + 8], 0xa
jae 0x444cfc
mov eax, dword [esp + 0x10]
lea esi, [eax + 0xa]
cmp esi, edi
cmovae esi, edi
mov dword [esp + 0x44], esi
sub esi, eax
jb 0x4486a2
mov eax, dword [esp + 8]
mov edx, esi
cmp eax, 1
adc eax, 0
push eax
call fcn.00440570
add esp, 4
mov edx, dword [esp + 0x28]
cmp edx, dword [esp + 0x3c]
jne 0x444dc0
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x444d30
mov ebx, edx
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x44867a
mov edx, ebx
mov dword [0x5970d8], 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 0x44867a
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 [0x5970d8]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 8]
mov edx, ebx
jmp 0x444dc4
movsd xmm0, qword [ecx]
movsd xmm1, qword [ecx + 0x18]
ucomisd xmm0, xmm1
ja 0x4450b0
cmp eax, 2
jne 0x4450c9
mov eax, dword [esp + 0x10]
mov dword [esp + 8], 2
lea esi, [eax + 2]
jmp 0x444cb0
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 0x444e40
jmp 0x444c75
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 0x444c70
mov eax, dword [esi + edx*8 - 8]
mov ecx, dword [esi + edx*8 - 4]
add ecx, eax
cmp ecx, edi
je 0x444e90
mov ebx, dword [esi + edx*8 - 0x10]
cmp ebx, eax
jbe 0x444e90
cmp edx, 2
jbe 0x445238
lea ecx, [edx - 3]
mov dword [esp + 0x60], ecx
mov ecx, dword [esi + edx*8 - 0x18]
lea esi, [ebx + eax]
cmp ecx, esi
jbe 0x444ea4
cmp edx, 3
jbe 0x445242
mov esi, dword [esp + 0xc]
add ebx, ecx
cmp dword [esi + edx*8 - 0x20], ebx
jbe 0x444ea4
jmp 0x444c75
cmp edx, 3
jb 0x444eac
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 0x444eaf
lea esi, [edx - 2]
cmp edx, esi
jbe 0x4485cb
lea eax, [esi + 1]
mov dword [esp + 0x28], edx
cmp edx, eax
jbe 0x4485bd
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 0x4485a5
cmp edx, ebx
mov dword [esp + 0x5c], eax
ja 0x4485af
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 0x444ff0
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 0x444de0
cmp dword [esp + 8], 0
jle 0x444de0
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 0x444de0
add eax, 0xffffffe8
cmp esi, edi
ja 0x444f80
jmp 0x444de0
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 0x4450a0
cmp dword [esp + 0x1c], eax
jle 0x4450a0
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 0x4450a7
mov dl, cl
lea eax, [edx + edx*2]
lea ebx, [ebx + eax*8]
cmp ebx, dword [esp + 0x1c]
jb 0x445040
jmp 0x4450a7
mov edi, dword [esp + 0x80]
mov eax, dword [esp + 0x10]
jmp 0x444de2
cmp eax, 2
jne 0x44510d
mov eax, dword [esp + 0x10]
mov dword [esp + 8], 2
lea esi, [eax + 2]
jmp 0x445168
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 0x44514f
lea ebx, [esi + edx + 1]
inc edx
add edi, 0x18
cmp ebx, 1
jne 0x4450f0
jmp 0x44514b
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 0x44514f
lea ebx, [esi + edx + 1]
inc edx
add edi, 0x18
cmp ebx, 1
jne 0x445130
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 0x444cb0
cmp eax, esi
ja 0x448748
cmp esi, edi
ja 0x448756
mov ebx, dword [esp + 8]
cmp ebx, 2
jae 0x44518a
mov eax, dword [esp + 0x10]
jmp 0x444cb0
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 0x4451b0
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x44]
mov eax, dword [esp + 0x10]
jmp 0x444cb0
mov edx, 2
jmp 0x444c75
mov esi, dword [esp + 0xc]
mov edx, 3
jmp 0x444c75
push esi
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
push dword [esp + 0x80]
push 0
push dword [0x5970d8]
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 0x4456be
lea eax, [edi*4]
lea esi, [eax + eax*2]
test esi, esi
js 0x448613
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x4452bc
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4486d2
mov dword [0x5970d8], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4486d2
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 0x445380
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 0x4452e0
jmp 0x44570d
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.vmesh_src_char_anim.rs
call fcn.00465360
add esp, 8
mov ecx, dword [esp + 0x74]
mov edx, esi
push edi
call fcn.00450b80
add esp, 4
lea ecx, [esp + 0x98]
call fcn.00434e60
test ebx, ebx
je 0x4462c9
push dword [esp + 0x24]
jmp 0x4448a2
mov edx, dword [esp + 0x1c]
push 0x585d84
call fcn.00469a50
add ebx, 0x18
jmp 0x4456ce
mov dword [esp + 8], edx
mov edx, dword [esp + 0x48]
lea ecx, [esp + 0x150]
push dword [esp + 0x34]
call fcn.0042a150
add esp, 4
mov edi, dword [esp + 0x158]
mov esi, dword [esp + 0x154]
test edi, edi
je 0x44630a
js 0x448613
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x4453dd
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4453f0
mov dword [0x5970d8], eax
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ebx, eax
test eax, eax
jne 0x44630f
mov ecx, 1
mov edx, edi
call fcn.00429f40
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.vmesh_src_char_anim.rs
call fcn.00465360
add esp, 8
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x445468
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x44879e
mov dword [0x5970d8], eax
push 0xc
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
mov dword [esp + 8], eax
je 0x44879e
test ebx, ebx
je 0x4454bb
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x4454a0
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4454af
mov dword [0x5970d8], eax
push ebx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov esi, eax
test eax, eax
jne 0x4454c0
mov ecx, 1
mov edx, ebx
call fcn.00429f40
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 [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x445500
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x44878f
mov dword [0x5970d8], eax
push 0x30
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x44878f
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 0x44555d
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.00435090
add esp, 8
or edi, esi
mov byte [ebx + 0x2e], al
test edi, 0x200
jne 0x4455af
mov eax, 0x575f6d
mov ecx, 6
lea edi, [esp + 0xd0]
jmp 0x44615e
mov ecx, dword [esp + 0x1c]
xor eax, eax
lea edi, [esp + 0xd0]
cmp dword [ecx + 0x12c], 0
je 0x44615e
test dword [esp + 0x20], 0x8000000
mov ecx, 4
jne 0x44615e
xor edx, edx
test dword [esp + 0x28], 0x8000000
mov eax, str.help
cmovne eax, edx
jmp 0x44615e
mov edi, eax
test edx, edx
mov dword [esp + 8], edx
je 0x4463aa
mov esi, dword [esp + 0x18]
cmp edx, 4
jne 0x4463b1
cmp dword [edi], 0x706c6568
jne 0x4463b9
mov ecx, dword [esi + 0x14]
mov eax, dword [ecx + 0xc8]
test eax, 0x100
jne 0x4463b9
mov edx, 0x8000100
and eax, 0x8000000
and edx, dword [ecx + 0xd0]
or eax, edx
jne 0x4463b9
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
lea eax, [ebp + 0x10]
push eax
call fcn.00469520
add esp, 4
mov ecx, esi
mov esi, edx
mov edx, dword [ecx + 0x14]
lea ecx, [esp + 0xd0]
push esi
push eax
call 0x448ed0
add esp, 8
mov eax, dword [esp + 0xd0]
cmp eax, 0xb
jne 0x447d8b
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 0x4462bd
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 0x44570d
mov esi, edx
add ebx, 0xc
shr esi, 4
jmp 0x4456f6
add ebx, 0x18
dec esi
je 0x44570d
cmp dword [ebx - 4], 0
je 0x4456f0
push dword [ebx]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x4456f0
mov esi, dword [esp + 0x48]
cmp dword [esp + 0x19c], 0
mov ebx, dword [esp + 0x18c]
je 0x445733
push dword [esp + 0x2c]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
test ebx, ebx
je 0x445748
push dword [esp + 0x40]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x144]
cmp eax, 0x80000000
je 0x44576e
test eax, eax
je 0x44576e
push dword [esp + 0x148]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 8]
mov dword [esp + 0x24], edi
test eax, eax
je 0x445a8f
cmp eax, 0xaaaaaab
jae 0x448613
lea eax, [eax*4]
lea esi, [eax + eax*2]
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x4457b5
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4486d2
mov dword [0x5970d8], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
mov dword [esp + 0x1c], eax
je 0x4486d2
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], 0x57501c
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], 0x44ca70
mov dword [esp + 0xdc], 1
add eax, ebx
mov dword [esp + 0x120], eax
call fcn.0042a380
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 0x4457e0
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.0042a150
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 0x4458f2
js 0x448613
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x4458df
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x445a83
mov dword [0x5970d8], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ebx, eax
test eax, eax
je 0x445a83
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
push dword [esp + 0x10]
call fcn.004532c0
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 0x4459a4
js 0x448613
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x44598f
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x445a83
mov dword [0x5970d8], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
mov dword [esp + 0xc], eax
je 0x445a83
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.vmesh_src_char_anim.rs
call fcn.00465360
add esp, 8
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x445a20
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x44879e
mov dword [0x5970d8], eax
push 0xc
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
mov dword [esp + 0xc], eax
je 0x44879e
mov esi, dword [esp + 0x1c8]
mov edi, dword [esp + 0x1c4]
test esi, esi
je 0x445b9f
js 0x448613
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x445a70
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x445a83
mov dword [0x5970d8], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ebx, eax
test eax, eax
jne 0x445ba4
mov ecx, 1
mov edx, esi
call fcn.00429f40
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 0x14]
cmp dword [edx + 0x28], 0
mov dword [esp + 8], edx
je 0x445ac7
test byte [edx + 0xcc], 0x10
jne 0x445aba
mov eax, 0x10
test dword [edx + 0xd4], eax
je 0x445d40
cmp dword [edx + 0x12c], 0
je 0x445d40
lea ecx, [esp + 0x98]
mov edx, esi
push dword [esp + 0x34]
call fcn.0042a150
add esp, 4
mov edi, dword [esp + 0xa0]
mov eax, dword [esp + 0x9c]
mov ecx, edi
mov dword [esp + 0x1c], eax
call fcn.004370f0
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.vmesh_src_char_anim.rs
call fcn.00465360
add esp, 8
mov edx, dword [esp + 8]
lea ecx, [esp + 0x150]
push esi
lea eax, [esp + 0x124]
push eax
call fcn.004508e0
add esp, 8
mov eax, dword [esp + 0x98]
cmp eax, 0x80000000
je 0x445b96
test eax, eax
je 0x445b96
push dword [esp + 0x9c]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
mov edi, dword [esp + 0x24]
jmp 0x44614d
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], 0x4325b0
mov dword [esp + 0xa0], edx
mov dword [esp + 0xd0], 0x575b54
mov dword [esp + 0xd4], 2
mov dword [esp + 0xe0], 0
lea edx, [esp + 0xd0]
mov dword [esp + 0xa4], 0x4325b0
mov dword [esp + 0xd8], ecx
lea ecx, [esp + 0x144]
mov dword [esp + 0xdc], 2
call fcn.0042a380
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x445c5c
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x44878f
mov dword [0x5970d8], eax
push 0x30
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x44878f
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 0x445cb5
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.00435090
add esp, 8
or esi, edi
mov byte [ebx + 0x2e], al
test esi, 0x200
jne 0x445d07
mov eax, 0x575f6d
mov ecx, 6
lea esi, [esp + 0xd0]
jmp 0x445e46
mov eax, dword [esp + 0x60]
lea esi, [esp + 0xd0]
cmp dword [eax + 0x12c], 0
je 0x445e44
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 0x445e46
lea ecx, [esp + 0x120]
mov edx, esi
push dword [esp + 0x34]
call fcn.0042a150
add esp, 4
mov edi, dword [esp + 0x128]
mov eax, dword [esp + 0x124]
mov ecx, edi
mov dword [esp + 0x1c], eax
call fcn.004370f0
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.vmesh_src_char_anim.rs
call fcn.00465360
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.00451450
add esp, 0xc
mov esi, dword [esp + 0x10]
xor edx, edx
mov ecx, esi
call fcn.004e5950
cmp dword [esp + 0x24], 0
je 0x445e1e
push esi
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x120]
cmp eax, 0x80000000
je 0x4462a0
test eax, eax
je 0x4462a0
push dword [esp + 0x124]
jmp 0x446293
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.00450870
add esp, 4
cmp dword [esp + 0x1b0], 0
je 0x4460b0
push dword [esp + 0x1b4]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x1cc]
mov ebx, dword [esp + 0x1c]
cmp eax, 0x80000000
je 0x4460da
test eax, eax
je 0x4460da
push dword [esp + 0x1d0]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
mov edi, dword [esp + 8]
mov esi, ebx
add esi, 4
jmp 0x4460f6
add esi, 0xc
dec edi
je 0x44610d
cmp dword [esi - 4], 0
je 0x4460f0
push dword [esi]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x4460f0
push ebx
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
mov ebx, dword [esp + 8]
mov edi, dword [esp + 0x24]
test ebx, ebx
je 0x44614d
mov ecx, dword [esp + 0x10]
lea esi, [ecx + 4]
jmp 0x446136
add esi, 0xc
dec ebx
je 0x44614d
cmp dword [esi - 4], 0
je 0x446130
push dword [esi]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x446130
test edi, edi
je 0x4462a0
push dword [esp + 0x10]
jmp 0x446293
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.0044ff60
add esp, 4
test esi, 0x7fffffff
je 0x4462a0
push dword [esp + 0x60]
push 0
push dword [0x5970d8]
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 0x4474db
mov dword [esp + 8], 0x80000000
push dword [esp + 0x48]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
test dword [esp + 8], 0x7fffffff
je 0x4474db
push dword [esp + 0x10]
jmp 0x4474ce
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.vmesh_src_char_anim.rs
call fcn.00465360
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.00451450
add esp, 0xc
test dword [esp + 0x150], 0x7fffffff
je 0x4462c9
push esi
jmp 0x4448a2
mov eax, 1
jmp 0x4463ef
test edx, edx
js 0x448613
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x4463db
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x44862c
mov dword [0x5970d8], eax
push dword [esp + 8]
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x44862c
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 0x447406
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0xf8]
mov edx, dword [eax + 0xfc]
jmp 0x44737a
mov eax, edx
mov edx, dword [esp + 0x60]
lea edi, [esp + 0x98]
mov ecx, edi
push eax
call fcn.0042a150
add esp, 4
lea ecx, [esp + 0xd4]
mov edx, edi
call fcn.00454990
mov dword [esp + 0xd0], 7
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 0x10]
mov edx, dword [eax + 8]
cmp esi, edx
ja 0x44895f
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 0x4464a5
mov esi, dword [esp + 0x18]
xor edi, edi
mov dword [esp + 0x44], 4
jmp 0x44654a
mov ebx, edx
shl esi, 4
shl ebx, 4
add ebx, edi
sub ebx, edi
sub ebx, esi
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
mov ecx, ebx
shr ecx, 1
mov dword [esp + 0x10], ecx
test eax, eax
jne 0x4464e1
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x44896b
mov dword [0x5970d8], 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 0x44896b
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.0046eb40
add esp, 4
cmp dword [esp + 0x98], 0
jne 0x44881d
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 0x4464ff
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.00436e40
mov ebx, dword [esp + 0x98]
mov dword [esp + 0x1c], edi
cmp ebx, 0x80000000
jne 0x4465b6
mov edx, 4
mov dword [esp + 0x190], 0
xor edi, edi
jmp 0x4466e6
mov eax, dword [esp + 0xa0]
mov esi, dword [esp + 0x9c]
mov dword [esp + 0x10], eax
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x4465ea
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x44878f
mov dword [0x5970d8], eax
push 0x30
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x44878f
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 0x446661
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.00436e40
mov esi, dword [esp + 0x98]
cmp esi, 0x80000000
je 0x4466cd
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0xa0]
cmp edi, dword [esp + 0x150]
mov eax, dword [esp + 0x10]
jne 0x446647
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], edx
lea ecx, [esp + 0x150]
mov edx, edi
push 1
call fcn.004b7790
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
add esp, 4
mov eax, dword [esp + 0x154]
jmp 0x446647
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.00436c30
add esp, 4
mov edi, dword [esp + 0xa0]
cmp edi, 0x80000000
jne 0x44679e
mov dword [esp + 0x28], 4
mov dword [esp + 0x24], 0
jmp 0x4475a2
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 [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x4467f6
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x44880e
mov dword [0x5970d8], eax
push 0x60
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x44880e
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 0x4468b8
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.00436c30
add esp, 4
mov ebx, dword [esp + 0xa0]
cmp ebx, 0x80000000
je 0x446943
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 0x446882
lea ecx, [esp + 0x178]
mov edx, edi
movq qword [esp + 0x10], xmm1
call fcn.00437aa0
movq xmm1, qword [esp + 0x10]
mov esi, dword [esp + 0x17c]
jmp 0x446882
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 0x44699d
cmp edi, 1
jbe 0x447006
mov esi, dword [esp + 0x2c]
mov edx, edi
mov ecx, esi
push 1
call fcn.00440570
add esp, 4
lea eax, [edi + edi*2]
lea eax, [esi + eax*8]
mov dword [esp + 0x10], eax
jmp 0x44701c
mov edx, dword [esp + 8]
push 0x585d84
call fcn.00469a50
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x4469bf
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x448845
mov dword [0x5970d8], 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 0x448845
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x446a06
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x448859
mov dword [0x5970d8], eax
push pe_nt_image_headers32
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x448859
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 0x446a51
mov edx, 1
mov eax, dword [esp + 0x30]
cmp eax, edi
jae 0x446fe4
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 0x446a81
mov dword [esp + 8], eax
mov eax, dword [esp + 0x10]
mov esi, edi
jmp 0x446c14
movsd xmm0, qword [ecx]
movsd xmm1, qword [ecx + 0x18]
ucomisd xmm0, xmm1
ja 0x446aa9
cmp eax, 2
jne 0x446ac2
mov eax, dword [esp + 0x10]
mov dword [esp + 8], 2
lea esi, [eax + 2]
jmp 0x446c14
cmp eax, 2
jne 0x446b00
mov eax, dword [esp + 0x10]
mov dword [esp + 8], 2
lea esi, [eax + 2]
jmp 0x446b59
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 0x446b40
lea ebx, [esi + edx + 1]
inc edx
add edi, 0x18
cmp ebx, 1
jne 0x446ae3
jmp 0x446b3c
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 0x446b40
lea ebx, [esi + edx + 1]
inc edx
add edi, 0x18
cmp ebx, 1
jne 0x446b21
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 0x446c14
cmp eax, esi
ja 0x448748
cmp esi, edi
ja 0x448756
mov ebx, dword [esp + 8]
cmp ebx, 2
jb 0x446c10
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 0x446b91
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x30]
mov eax, dword [esp + 0x10]
mov edx, esi
sub esi, eax
jb 0x448666
cmp edx, edi
ja 0x448666
mov dword [esp + 0x30], edx
jae 0x446c60
cmp dword [esp + 8], 0xa
jae 0x446c60
mov eax, dword [esp + 0x10]
lea esi, [eax + 0xa]
cmp esi, edi
cmovae esi, edi
mov dword [esp + 0x30], esi
sub esi, eax
jb 0x4488e8
mov eax, dword [esp + 8]
mov edx, esi
cmp eax, 1
adc eax, 0
push eax
call fcn.00440570
add esp, 4
mov edx, dword [esp + 0x28]
cmp edx, dword [esp + 0x3c]
jne 0x446ce5
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x446c90
mov ebx, edx
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x44867a
mov edx, ebx
mov dword [0x5970d8], 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 0x44867a
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 [0x5970d8]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 8]
mov edx, ebx
jmp 0x446ce9
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 0x446d65
jmp 0x446a45
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 0x446a40
mov eax, dword [esi + edx*8 - 8]
mov ecx, dword [esi + edx*8 - 4]
add ecx, eax
cmp ecx, edi
je 0x446db0
mov ebx, dword [esi + edx*8 - 0x10]
cmp ebx, eax
jbe 0x446db0
cmp edx, 2
jbe 0x446fcc
lea ecx, [edx - 3]
mov dword [esp + 0x60], ecx
mov ecx, dword [esi + edx*8 - 0x18]
lea esi, [ebx + eax]
cmp ecx, esi
jbe 0x446dc4
cmp edx, 3
jbe 0x446fd6
mov esi, dword [esp + 0xc]
add ebx, ecx
cmp dword [esi + edx*8 - 0x20], ebx
jbe 0x446dc4
jmp 0x446a45
cmp edx, 3
jb 0x446dcc
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 0x446dcf
lea esi, [edx - 2]
cmp edx, esi
jbe 0x4486de
lea eax, [esi + 1]
mov dword [esp + 0x28], edx
cmp edx, eax
jbe 0x4486ec
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 0x4485a5
cmp edx, ebx
mov dword [esp + 0x5c], eax
ja 0x4485af
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 0x446f03
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 0x446d05
cmp dword [esp + 8], 0
jle 0x446d05
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 0x446d05
add eax, 0xffffffe8
cmp esi, edi
ja 0x446ea0
jmp 0x446d05
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 0x446fbc
cmp dword [esp + 0x1c], eax
jle 0x446fbc
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 0x446fc3
mov dl, cl
lea eax, [edx + edx*2]
lea ebx, [ebx + eax*8]
cmp ebx, dword [esp + 0x1c]
jb 0x446f60
jmp 0x446fc3
mov edi, dword [esp + 0x80]
mov eax, dword [esp + 0x10]
jmp 0x446d07
mov edx, 2
jmp 0x446a45
mov esi, dword [esp + 0xc]
mov edx, 3
jmp 0x446a45
push esi
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
push dword [esp + 0x80]
push 0
push dword [0x5970d8]
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 0x4474e3
mov eax, dword [esp + 0x24]
lea eax, [eax*4]
lea esi, [eax + eax*2]
test esi, esi
js 0x448613
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x447054
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4486d2
mov dword [0x5970d8], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4486d2
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 0x447127
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 0x447072
mov dword [esp + 0x60], edi
jmp 0x447531
add ebx, 0x18
mov dword [esp + 0x60], edi
jmp 0x4474f3
mov edx, dword [edx + 0x14]
lea esi, [esp + 0x144]
mov ecx, esi
call fcn.00435bb0
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.0042ee70
lea esi, [esp + 0x98]
mov edx, edi
mov ecx, esi
push dword [esp + 0x70]
call fcn.0042a150
add esp, 4
lea ecx, [esp + 0x130]
mov edx, esi
call fcn.00454990
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], 0x5753cc
call fcn.00453ca0
test al, al
jne 0x448992
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.0042e090
cmp dword [esp + 0x144], 0
je 0x4472ce
push dword [esp + 0x148]
push 0
push dword [0x5970d8]
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.00465470
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.00450db0
add esp, 0xc
test ebx, ebx
je 0x4462c9
push edi
jmp 0x4448a2
mov ecx, str.just_inserted
mov edx, 0xd
push 0x5755cc
call fcn.0046f1c0
mov edi, dword [ecx]
mov edx, dword [ecx + 4]
cmp dword [esp + 0x10], 0
je 0x44737a
push ecx
push 0
push dword [0x5970d8]
mov esi, edx
call sub.KERNEL32.dll_HeapFree
mov edx, esi
test edx, edx
je 0x4473c2
js 0x448613
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x4473aa
mov esi, edx
call sub.KERNEL32.dll_GetProcessHeap
mov edx, esi
test eax, eax
je 0x44430e
mov dword [0x5970d8], 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 0x4473c7
jmp 0x44430e
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 0x447eaa
cmp dword [esp + 8], 0x80000000
jne 0x447ecd
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.0044b6e0
add esp, 4
mov esi, dword [esi + 0x14]
lea edi, [esp + 0xd0]
mov ecx, edi
mov edx, esi
call fcn.00435bb0
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.00454b60
add esp, 0x14
mov esi, dword [esp + 0xd8]
test esi, esi
je 0x4474bd
mov edi, dword [esp + 0xd4]
add edi, 0xc
jmp 0x4474a6
add edi, 0x18
dec esi
je 0x4474bd
cmp dword [edi - 4], 0
je 0x4474a0
push dword [edi]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x4474a0
cmp dword [esp + 0xd0], 0
je 0x4474db
push dword [esp + 0xd4]
push 0
push dword [0x5970d8]
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 0x447531
mov edi, dword [esp + 0x24]
mov esi, edx
add ebx, 0xc
shr esi, 4
jmp 0x44751a
add ebx, 0x18
dec esi
je 0x447535
cmp dword [ebx - 4], 0
je 0x447514
push dword [ebx]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x447514
mov edi, dword [esp + 0x24]
cmp dword [esp + 0x194], 0
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0x188]
je 0x44755b
push dword [esp + 0x2c]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x60]
test eax, eax
je 0x4475a2
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 0x4475aa
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 0x447931
mov dword [esp + 0x60], 0
test esi, esi
je 0x4478e6
imul eax, esi, 0x160
add eax, ebx
mov dword [esp + 0x1c], eax
jmp 0x4475ce
mov ebx, dword [esp + 0x50]
cmp ebx, dword [esp + 0x1c]
je 0x4478e6
lea eax, [ebx + 0x160]
mov ecx, ebx
mov edi, ebx
mov dword [esp + 0x50], eax
call fcn.004325d0
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.0042e890
mov esi, dword [esp + 0x17c]
mov ebx, dword [esp + 0x180]
mov ecx, esi
mov edx, ebx
call fcn.00440830
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.0042add0
mov esi, dword [esp + 0x14c]
test esi, esi
je 0x4476ed
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 0x447714
test esi, esi
je 0x4476ed
add ebx, 4
jmp 0x4476d6
add ebx, 0xc
dec esi
je 0x4476ed
cmp dword [ebx - 4], 0
je 0x4476d0
push dword [ebx]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x4476d0
cmp dword [esp + 0x144], 0
je 0x4475c0
push dword [esp + 0x148]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x4475c0
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 0x447759
add ebx, 4
jmp 0x447738
add ebx, 0xc
dec esi
je 0x44774f
cmp dword [ebx - 4], 0
je 0x447732
push dword [ebx]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x447732
cmp dword [esp + 0x144], 0
je 0x44776d
push dword [esp + 0x148]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
mov ebx, dword [esp + 0x1b4]
mov eax, dword [esp + 0x10]
test ebx, ebx
je 0x4477b0
mov edi, dword [esp + 0x1b0]
shl ebx, 3
xor esi, esi
jmp 0x447790
inc esi
add ebx, 0xfffffff8
je 0x4477b0
cmp dword [edi + esi*8 + 4], eax
jne 0x44778a
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 0x44778a
jmp 0x4477d5
cmp dword [esp + 0xc], 0
mov ebx, dword [esp + 0x50]
je 0x4475c4
push dword [esp + 0x20]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x4475c4
test eax, eax
je 0x447821
mov edi, dword [esp + 0x24]
js 0x448613
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x447801
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x447813
mov dword [0x5970d8], eax
push dword [esp + 0x10]
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ebx, eax
test eax, eax
jne 0x44782a
mov edx, dword [esp + 0x10]
mov ecx, 1
call fcn.00429f40
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.00436480
add esp, 4
mov eax, dword [esp + 0x158]
cmp eax, 0x80000000
mov dword [esp + 0x20], eax
jne 0x4478f0
mov dword [esp + 0x20], 0x80000000
jmp 0x44792d
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 0x44795d
mov edi, eax
lea esi, [ebx + 4]
jmp 0x447946
add esi, 0xc
dec edi
je 0x44795d
cmp dword [esi - 4], 0
je 0x447940
push dword [esi]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x447940
cmp dword [esp + 0x24], 0
je 0x447972
push ebx
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x20], 0x80000000
mov esi, dword [esp + 0x18]
je 0x4479a8
mov ecx, dword [esi + 0x14]
mov edx, dword [esp + 0x5c]
add ecx, 0x20
push dword [esp + 0x54]
call fcn.00451830
add esp, 4
test eax, eax
je 0x4479a8
mov edx, dword [ebp + 8]
mov ecx, esi
push eax
call fcn.0044a3f0
add esp, 4
mov edx, dword [esi + 0x14]
lea ecx, [esp + 0x130]
call fcn.00435bb0
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 0x447e26
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 0x447a2d
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 0x4479fc
test byte [edx + 0x138], 0x10
mov edx, dword [esp + 0x10]
jne 0x4479ce
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x447a4f
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x448950
mov dword [0x5970d8], eax
push 0x20
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x448950
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 0x447aa4
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 0x60]
cmp edi, dword [esp + 0x98]
je 0x447b26
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 0x447b45
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 0x447a83
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 0x447af0
test byte [edx + 0x138], 0x10
mov edx, dword [esp + 0x10]
jne 0x447abe
jmp 0x447a83
lea ecx, [esp + 0x98]
mov edx, edi
push 1
call fcn.00437a00
add esp, 4
mov eax, dword [esp + 0x9c]
jmp 0x447a98
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], 0x576200
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], 0x461c30
mov dword [esp + 0xa4], 1
mov eax, dword [edi + 0x14]
mov dword [esp + 0x1c], eax
call fcn.0042a380
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.00465360
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.00451450
add esp, 0xc
cmp byte [esp + 8], 0
jne 0x447c79
push edi
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
mov esi, dword [esp + 0x138]
mov ebx, dword [esp + 0x70]
test esi, esi
je 0x447cb1
mov edi, dword [esp + 0x134]
add edi, 0xc
jmp 0x447c9a
add edi, 0x18
dec esi
je 0x447cb1
cmp dword [edi - 4], 0
je 0x447c94
push dword [edi]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x447c94
cmp dword [esp + 0x130], 0
je 0x447ccf
push dword [esp + 0x134]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
mov edi, dword [esp + 0x78]
test edi, edi
je 0x447d00
mov eax, dword [esp + 0x18c]
lea esi, [eax + 4]
jmp 0x447ce9
add esi, 0xc
dec edi
je 0x447d00
cmp dword [esi - 4], 0
je 0x447ce3
push dword [esi]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x447ce3
cmp dword [esp + 0x190], 0
je 0x447d1e
push dword [esp + 0x18c]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
cmp ebx, dword [esp + 0x4c]
je 0x447d35
push dword [esp + 0x44]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x198], 0
je 0x4462c9
push dword [esp + 0x40]
jmp 0x4448a2
push 0x576074
call fcn.00469a50
mov ecx, edx
mov esi, edx
call fcn.004370f0
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 0x446442
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.00449f50
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x4463db
jmp 0x4463c9
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 8
mov byte [esp + 8], 1
jmp 0x447b5d
push dword [esp + 0x48]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x24]
cmp dword [esp + 8], 0x80000000
je 0x447431
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 0x447ef4
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x20]
cmp ebx, eax
je 0x448831
mov edi, dword [ebx + 0xfc]
cmp esi, edi
mov dword [esp + 0x1c], edi
jne 0x447f2a
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 0x447f80
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 0x447f56
add edi, 0xc
add ebx, 0xfffffff4
test ebx, ebx
je 0x447eec
cmp esi, dword [edi]
jne 0x447f50
push esi
push dword [edi - 4]
push dword [esp + 0x18]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x447f50
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 0x447fc6
mov edi, dword [esp + 0x18]
js 0x448613
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x447fb4
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x445a83
mov dword [0x5970d8], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
jne 0x447fcf
jmp 0x445a83
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 0x447ffa
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.004350b0
add esp, 4
test eax, eax
je 0x44842d
mov ebx, eax
call fcn.004b30f0
test eax, eax
je 0x448764
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], 0x585480
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 0x448114
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.004410a0
add esp, 0xc
mov esi, dword [esp + 0x150]
cmp esi, 0x80000000
je 0x4482e4
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 0x4481c9
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 4]
mov edx, dword [edx + 8]
call fcn.0042dcb0
mov ecx, dword [esp + 0xc]
cmp dword [ecx], 0
je 0x4481a5
push dword [ecx + 4]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0xc]
cmp eax, 0x80000001
je 0x44825b
cmp eax, 0x80000000
jne 0x448228
cmp dword [ecx + 0x10], 0
je 0x44825b
lea eax, [ecx + 0x14]
jmp 0x448248
mov esi, dword [esp + 0x160]
cmp dword [esp + 0xd8], 0
je 0x4481ee
push dword [esp + 0xdc]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
lea ecx, [esp + 0x98]
call fcn.00434e60
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 0x4462e2
jmp 0x4462f3
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x10]
mov edx, dword [edx + 0x14]
call fcn.0042dd70
mov ecx, dword [esp + 0xc]
cmp dword [ecx + 0xc], 0
je 0x44825b
lea eax, [ecx + 0x10]
push dword [eax]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
mov ecx, dword [esp + 0xc]
mov esi, dword [ecx + 0x1c]
test esi, esi
je 0x448290
mov edi, dword [ecx + 0x20]
push esi
call dword [edi]
mov ecx, dword [esp + 0x10]
add esp, 4
cmp dword [edi + 4], 0
je 0x448290
cmp dword [edi + 8], 9
jb 0x44827e
mov esi, dword [esi - 4]
push esi
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
mov ecx, dword [esp + 0xc]
push ecx
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
test ebx, ebx
je 0x4482c8
mov eax, dword [esp + 0x20]
lea esi, [eax + 4]
jmp 0x4482b1
add esi, 0xc
dec ebx
je 0x4482c8
cmp dword [esi - 4], 0
je 0x4482ab
push dword [esi]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x4482ab
cmp dword [esp + 0x28], 0
mov ebx, dword [esp + 0x5c]
je 0x4482e4
push dword [esp + 0x20]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0xd8], 0
je 0x448302
push dword [esp + 0xdc]
push 0
push dword [0x5970d8]
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 0x448362
js 0x448613
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x44834e
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x445a83
mov dword [0x5970d8], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ebx, eax
test eax, eax
jne 0x448367
jmp 0x445a83
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.0045f4f0
cmp dword [esp + 0x1c], 0
je 0x448445
push dword [esp + 0x48]
push 0
push dword [0x5970d8]
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.0044b6e0
add esp, 4
mov ebx, dword [esi + 0x14]
lea esi, [esp + 0xd0]
mov ecx, esi
mov edx, ebx
call fcn.00435bb0
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.00454b60
add esp, 0x14
test dword [esp + 8], 0x7fffffff
je 0x447483
push dword [esp + 0x10]
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x447483
push 0x585958
call fcn.0046ea80
mov ecx, edx
mov edx, ebx
push 0x585958
call fcn.0046a7e0
lea ecx, [esp + 0xd0]
mov edx, 0x585948
jmp 0x4485d7
lea ecx, [esp + 0xd0]
mov edx, 0x585938
mov dword [esp + 0xd0], str.Index_out_of_bounds
mov dword [esp + 0xd4], 1
mov dword [esp + 0xe0], 0
mov dword [esp + 0xd8], str.vmesh_src_char_anim.rs
mov dword [esp + 0xdc], 0
call fcn.004696f0
call fcn.00429f00
mov ecx, 0x5766ad
mov edx, 0x63
push 0x57558c
call fcn.0046f1c0
mov edx, dword [esp + 8]
mov ecx, 1
call fcn.00429f40
mov edx, dword [esp + 0xc]
mov ecx, 1
call fcn.00429f40
mov ecx, 0x5766ad
mov edx, 0x63
push 0x575610
call fcn.0046f1c0
push 0x580130
call fcn.004699f0
mov ecx, str.assertion_failed:_end___start__end___len
mov edx, 0x2c
push 0x5859c4
call fcn.0046b190
mov ecx, 0x586c6b
mov edx, 0x2b
push 0x585988
call fcn.0046b190
mov ecx, 0x5766ad
mov edx, 0x63
push 0x57559c
call fcn.0046f1c0
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x44]
push 0x5859d4
call fcn.0046ea80
mov ecx, 0x5766ad
mov edx, 0x63
push 0x575600
call fcn.0046f1c0
push 0x581e24
call fcn.0046a7e0
mov ecx, 4
mov edx, esi
call fcn.00429f40
lea ecx, [esp + 0x98]
mov edx, 0x585938
jmp 0x4486f8
lea ecx, [esp + 0x98]
mov edx, 0x585948
mov dword [esp + 0x98], str.Index_out_of_bounds
mov dword [esp + 0x9c], 1
mov dword [esp + 0xa8], 0
mov dword [esp + 0xa0], str.vmesh_src_char_anim.rs
mov dword [esp + 0xa4], 0
call fcn.004696f0
mov ecx, 0x5766ad
mov edx, 0x63
push 0x575620
call fcn.0046f1c0
mov ecx, eax
mov edx, esi
push 0x585928
call fcn.0046ea80
mov ecx, esi
mov edx, edi
push 0x585928
call fcn.0046a7e0
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 0x5765ec
push 0x5763b0
push eax
call fcn.0046f150
push 0x5768e8
call fcn.004699f0
mov ecx, 4
mov edx, 0x30
call fcn.00429f40
mov ecx, 4
mov edx, 0xc
call fcn.00429f40
lea eax, [esp + 0x150]
lea ecx, [esp + 0x98]
mov edx, 0x57556c
mov dword [esp + str._to_long__always_has_the_flag_specified], 0x575564
mov dword [esp + 0x98], 0x585cdc
mov dword [esp + 0x9c], 1
mov dword [esp + 0xa8], 0
mov dword [esp + 0x154], 0x461c30
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], 1
call fcn.004696f0
mov ecx, 8
mov edx, 0x60
call fcn.00429f40
mov ecx, 0x586abd
mov edx, 0x23
push 0x57500c
call fcn.0046f1c0
mov ecx, 0x5766ad
mov edx, 0x63
push 0x5755dc
call fcn.0046f1c0
mov ecx, 0x586c6b
mov edx, 0x2b
push 0x585968
call fcn.0046b190
mov ecx, 0x586c6b
mov edx, 0x2b
push 0x585978
call fcn.0046b190
mov ecx, 0x575411
mov edx, 0x45
push 0x5754b8
call fcn.0045dee0
mov ecx, str.assertion_failed:_mid___self.len__
mov edx, 0x23
push 0x57686c
call fcn.0046b190
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 0x57691c
push 0x57687c
push eax
call fcn.0046f150
mov ecx, str.internal_error:_entered_unreachable_code_home_rafalh_.cargo_registry_src_index.crates.io_6f17d22bba15001f_gltf_1.0.0_src_animation_util_mod.rs
mov edx, 0x28
push 0x57552c
call fcn.0046b190
mov ecx, edi
push 0x57692c
call fcn.004699f0
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x30]
push 0x5859d4
call fcn.0046ea80
mov ecx, esi
mov edx, edi
push 0x57685c
push ebx
call fcn.0047eff0
xor edx, edx
push 0x5768fc
push 0
push 1
call fcn.0046fcc0
mov edx, ebx
push 0x5768fc
push ebx
push 1
call fcn.0046fcc0
mov ecx, str.internal_error:_entered_unreachable_code_home_rafalh_.cargo_registry_src_index.crates.io_6f17d22bba15001f_gltf_1.0.0_src_animation_util_mod.rs
mov edx, 0x28
push 0x5755ac
call fcn.0046b190
mov ecx, str.internal_error:_entered_unreachable_code_home_rafalh_.cargo_registry_src_index.crates.io_6f17d22bba15001f_gltf_1.0.0_src_animation_util_mod.rs
mov edx, 0x28
push 0x57557c
call fcn.0046b190
mov ecx, 8
mov edx, 0x20
call fcn.00429f40
mov ecx, esi
push 0x5768e8
call fcn.004699f0
mov edx, dword [esp + 0x10]
mov ecx, 4
call fcn.00429f40
mov ecx, edi
push 0x57690c
call fcn.004699f0
push 0x57690c
push edi
call fcn.0047eff0
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 0x586194
push 0x5753e4
push eax
call fcn.0046f150
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 0x4489cb
add cl, dh
pop edi
add byte [eax], al
cdq
push ebx
add byte [eax], al
stc
jbe 0x4489d7
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 0x4489f3
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 0x448a07
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 0x448a61
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 0x448a51
movzx ecx, byte [eax + 0xd3]
and cl, 0x20
shr cl, 5
mov edx, dword [eax + 0xcc]
test cl, cl
je 0x448a72
cmp byte [ebp + 8], 0
je 0x448a72
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 0x448a88
mov ecx, 0x10
test dword [eax + 0xd4], ecx
je 0x448df8
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 0x448b3c
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.0045d5b0
add ebx, 0xfffffea0
test eax, eax
mov ecx, edi
je 0x448ad0
jmp 0x448b69
cmp dword [ebp - 0x98], 2
mov dword [ebp - 0xac], 2
je 0x448dcb
lea edx, [ebp - 0x6c]
lea ecx, [ebp - 0x98]
call fcn.0045d5b0
test eax, eax
je 0x448dcb
mov esi, eax
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
mov edi, edx
test eax, eax
jne 0x448b8f
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x448eb2
mov dword [0x5970d8], eax
push 0x20
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x448eb2
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 0x448c4b
lea ecx, [ebp - 0x6c]
lea edx, [ebp - 0x30]
call fcn.0045d5b0
test eax, eax
je 0x448c57
mov edi, eax
cmp esi, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
je 0x448d5a
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 0x448c20
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x448d80
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 0x448c89
mov eax, dword [ebp - 0x20]
mov esi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x78]
cmp eax, ecx
je 0x448d80
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 0x448cf4
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 0x448d48
shl esi, 2
add ebx, 0xc
mov dword [ebp - 0x6c], 0
lea esi, [esi + esi*2]
jmp 0x448d16
add ebx, 0xc
add esi, 0xfffffff4
test esi, esi
je 0x448c80
mov dword [ebp - 0x60], ebx
mov ecx, dword [ebx - 8]
mov eax, dword [edi + 4]
cmp ecx, eax
jb 0x448d10
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 0x448d10
mov esi, dword [ebp - 0x14]
mov edi, dword [ebp - 0x10]
cmp esi, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
jne 0x448c3d
mov ebx, edx
mov edx, esi
lea ecx, [ebp - 0x2c]
push 1
call fcn.004b7970
mov edx, ebx
add esp, 4
mov eax, dword [ebp - 0x28]
jmp 0x448c3d
mov dword [ebp - 0x6c], 2
cmp dword [ebp - 0x58], 2
je 0x448da0
lea ecx, [ebp - 0x58]
lea edx, [ebp - 0x30]
call fcn.0045d5b0
test eax, eax
jne 0x448c2f
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
cmp esi, 1
jne 0x448dd7
mov edi, dword [eax]
mov ebx, dword [eax + 4]
test ecx, ecx
je 0x448a63
push eax
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x448a63
mov dword [ebp - 0x98], 2
jmp 0x448de9
test ecx, ecx
je 0x448de9
push eax
push 0
push dword [0x5970d8]
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 0x448e26
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
cmp eax, edx
je 0x448a61
mov ebx, dword [eax + 0xfc]
mov dword [ebp - 0x1c], eax
cmp esi, ebx
jne 0x448e59
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 0x448a63
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 0x448e86
add edi, 0xc
add ebx, 0xfffffff4
test ebx, ebx
je 0x448e20
cmp esi, dword [edi]
jne 0x448e80
push esi
push dword [edi - 4]
push dword [ebp - 0x10]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x448e80
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x20]
mov edi, dword [eax + 0xf8]
jmp 0x448a63
mov ecx, 4
mov edx, 0x20
call fcn.00429f40
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 0x448f46
js 0x449f07
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x448f2d
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x448f3a
mov dword [0x5970d8], eax
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
jne 0x448f4b
mov ecx, 1
mov edx, edi
call fcn.00429f40
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 0x448fb6
mov dword [esp + 0x2c], 0x80000000
cmp dword [ebx + 0x148], 0x80000000
mov dword [esp + 0x154], edi
jne 0x44903d
jmp 0x4490ad
mov eax, dword [ebx + 0x144]
mov esi, dword [ebx + 0x140]
test eax, eax
mov dword [esp + 0x2c], eax
je 0x44900c
js 0x449f07
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x448fee
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x448ffe
mov dword [0x5970d8], eax
push dword [esp + 0x2c]
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
jne 0x449011
mov edx, dword [esp + 0x2c]
mov ecx, 1
call fcn.00429f40
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 0x448fb1
mov eax, dword [ebx + 0x150]
mov esi, dword [ebx + 0x14c]
test eax, eax
mov dword [esp + 0x30], eax
je 0x449093
js 0x449f07
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x449075
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x449085
mov dword [0x5970d8], eax
push dword [esp + 0x30]
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
jne 0x449098
mov edx, dword [esp + 0x30]
mov ecx, 1
call fcn.00429f40
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 0x4491ee
cmp ecx, 0xaaaaaaa
ja 0x449f07
lea eax, [ecx*4]
lea esi, [eax + eax*2]
test esi, esi
js 0x449f07
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x4491dc
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4492ef
mov dword [0x5970d8], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
jne 0x4491fd
jmp 0x4492ef
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 0x449271
cmp eax, 0xfffffff
ja 0x449f07
lea esi, [eax*8]
test esi, esi
js 0x449f07
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x449262
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4492ef
mov dword [0x5970d8], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
jne 0x44927d
jmp 0x4492ef
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 0x4492fb
cmp ecx, 0xaaaaaaa
ja 0x449f07
lea eax, [ecx*4]
lea esi, [eax + eax*2]
test esi, esi
js 0x449f07
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x4492e2
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4492ef
mov dword [0x5970d8], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
jne 0x44930a
mov ecx, 4
mov edx, esi
call fcn.00429f40
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 0x44934c
mov dword [esp + 0x28], 0x80000000
jmp 0x4493bc
mov edx, dword [ebx + 0x15c]
mov esi, dword [ebx + 0x158]
test edx, edx
mov dword [esp + 0x28], edx
je 0x4493a2
js 0x449f07
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x449384
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x449394
mov dword [0x5970d8], eax
push dword [esp + 0x28]
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
jne 0x4493a7
mov edx, dword [esp + 0x28]
mov ecx, 1
call fcn.00429f40
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.0042b4e0
add esp, 4
mov esi, dword [ebx + 0x34]
mov dword [esp + 0x34], ebx
test esi, esi
je 0x4495e4
cmp esi, 0x6666666
ja 0x449f07
lea eax, [esi*4]
lea ecx, [eax + eax*4]
test ecx, ecx
js 0x449f07
mov eax, dword [ebx + 0x30]
mov dword [esp + 0x10], eax
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
mov dword [esp + 0x18], ecx
test eax, eax
jne 0x4494aa
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x449f2a
mov dword [0x5970d8], 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 0x449f2a
mov ebx, dword [esp + 0x10]
xor edi, edi
mov dword [esp + 0x1c], esi
jmp 0x449517
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 0x4495d6
cmp dword [esp + 0x18], edi
je 0x4495d6
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 0x4494d0
cmp eax, 1
jne 0x4495a0
mov eax, dword [esp + 0x10]
mov edx, dword [eax + edi + 8]
mov ecx, dword [eax + edi + 4]
test edx, edx
je 0x4495ae
js 0x449f07
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
mov dword [esp + 0xc], ecx
test eax, eax
jne 0x449582
mov esi, edx
call sub.KERNEL32.dll_GetProcessHeap
mov edx, esi
test eax, eax
je 0x449f0c
mov dword [0x5970d8], 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 0x4495b3
jmp 0x449f0c
mov eax, dword [esp + 0x10]
mov esi, 0x80000002
jmp 0x4494d9
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 0x4494e1
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x4495e9
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.0042c770
lea edx, [ebx + 0x38]
lea ecx, [esp + 0x58]
call fcn.00461d50
mov esi, dword [ebx + 0x138]
test esi, esi
mov dword [esp + 0xc0], esi
je 0x4497bd
cmp esi, 0x2492492
ja 0x449f07
imul eax, esi, 0x38
test eax, eax
mov dword [esp + 0x3c], eax
js 0x449f07
mov ebx, dword [ebx + 0x134]
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x44966b
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x449f38
mov dword [0x5970d8], eax
push dword [esp + 0x3c]
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x449f38
xor edi, edi
mov dword [esp + 0x1c], eax
nop word cs:[eax + eax]
nop
cmp dword [esp + 0x3c], edi
je 0x4497b7
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.0042b260
add esp, 4
mov edx, dword [ebx + 0x20]
lea ecx, [esp + 0x94]
push dword [ebx + 0x24]
call fcn.0042b260
add esp, 4
mov edx, dword [ebx + 0x2c]
lea ecx, [esp + 0xa0]
push dword [ebx + 0x30]
call fcn.0042b260
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 0x449690
mov ebx, dword [esp + 0x34]
jmp 0x4497c5
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 0x449bf4
mov eax, dword [esp + 0x1c]
cmp eax, dword [ebp + 0xc]
je 0x449d5b
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 0x449c38
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
cmp ebx, eax
je 0x449db6
mov edx, dword [ebx + 0xfc]
cmp esi, edx
mov dword [esp + 0xc], edx
jne 0x449c6a
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 0x449cc0
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 0x449c96
add edi, 0xc
add ebx, 0xfffffff4
test ebx, ebx
je 0x449c30
cmp esi, dword [edi]
jne 0x449c90
push esi
push dword [edi - 4]
push dword [esp + 0x1c]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x449c90
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
mov edi, dword [eax + 0xf8]
test edx, edx
mov dword [esp + 0x14], edi
je 0x449d10
mov esi, dword [esp + 0x18]
js 0x449f07
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x449cf8
mov edi, edx
call sub.KERNEL32.dll_GetProcessHeap
mov edx, edi
test eax, eax
je 0x449f0c
mov dword [0x5970d8], 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 0x449d19
jmp 0x449f0c
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.004350b0
add esp, 4
test eax, eax
je 0x449f16
mov esi, eax
test edi, edi
je 0x449bf0
push ebx
push 0
push dword [0x5970d8]
call sub.KERNEL32.dll_HeapFree
jmp 0x449bf0
lea ecx, [esp + 0x78]
mov edx, esi
push 0
push 1
call fcn.00435f00
add esp, 8
cmp dword [esp + 0x78], 0x80000000
jne 0x449e29
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.0044fa50
add esp, 0xc
jmp 0x449e4f
mov edx, dword [esp + 0x14]
lea ebx, [esp + 0x78]
mov ecx, ebx
push esi
call fcn.004b0cb0
add esp, 4
cmp dword [esp + 0x78], 0x80000000
jne 0x449e78
mov ebx, dword [esp + 0x80]
mov esi, dword [esp + 0x7c]
test ebx, ebx
je 0x449e91
js 0x449f07
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x449e0e
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x449e1d
mov dword [0x5970d8], eax
push ebx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov edi, eax
test eax, eax
jne 0x449e96
mov ecx, 1
mov edx, ebx
call fcn.00429f40
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 0x449ef3
mov eax, dword [esp + 0x80]
movsd xmm0, qword [esp + 0x78]
mov dword [esp + 0x60], eax
movsd qword [esp + 0x58], xmm0
jmp 0x449eb1
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.vmesh_src_char_anim.rs
call fcn.00465360
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.004508e0
add esp, 8
mov dword [esi], 0xb
lea ecx, [esp + 0x198]
call fcn.0044c830
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.00429f00
mov ecx, 1
call fcn.00429f40
mov ecx, 0x586c6b
mov edx, 0x2b
push 0x5755f0
call fcn.0046b190
mov edx, dword [esp + 0x18]
mov ecx, 4
call fcn.00429f40
mov edx, dword [esp + 0x3c]
mov ecx, 8
call fcn.00429f40
nop word cs:[eax + eax]