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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x2a0
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov dword [esp + 0x254], ecx
mov ecx, dword [edx]
mov eax, dword [eax]
mov edx, esi
mov dword [esp + 0x208], ecx
lea ecx, [esp + 0x140]
mov dword [esp + 0xc], eax
push 0x581284
call fcn.00479020
add esp, 4
mov edx, dword [esp + 0x140]
test edx, edx
je 0x4ec0b7
lea eax, [esp + 0xc]
lea ecx, [esp + 0x38]
push eax
push dword [esp + 0x148]
call fcn.004b5d90
add esp, 8
cmp dword [esp + 0x38], 4
je 0x4ec0b7
movsd xmm1, qword [esp + 0x58]
movsd xmm2, qword [esp + 0x50]
mov eax, dword [esp + 0x68]
movsd xmm0, qword [esp + 0x60]
lea esi, [esp + 0x208]
lea ecx, [esp + 0x38]
lea edx, [esp + 0x264]
movsd qword [esp + 0x284], xmm1
movsd xmm1, qword [esp + 0x48]
movsd qword [esp + 0x27c], xmm2
movsd xmm2, qword [esp + 0x38]
mov dword [esp + 0x294], eax
movsd qword [esp + 0x28c], xmm0
movsd qword [esp + 0x274], xmm1
movsd xmm1, qword [esp + 0x40]
movsd qword [esp + 0x264], xmm2
movsd qword [esp + 0x26c], xmm1
mov dword [esp + 0x298], esi
call fcn.004b6af0
cmp dword [esp + 0x38], 0
je 0x4e9609
mov ecx, dword [esp + 0x298]
movss xmm1, dword [esp + 0x3c]
movsd xmm4, qword [esp + 0x40]
mov eax, dword [esp + 0x264]
mov ecx, dword [ecx]
cmp eax, 3
movss xmm3, dword [ecx + 0x20]
movss xmm0, dword [ecx + 0x14]
movss xmm2, dword [ecx + 8]
movsd xmm5, qword [ecx + 0xc]
unpcklps xmm0, xmm3
mulss xmm2, xmm1
movaps xmm3, xmm4
shufps xmm1, xmm1, 0
mulps xmm0, xmm4
shufps xmm3, xmm4, 0
shufps xmm4, xmm4, 0x55
addss xmm2, xmm0
shufps xmm0, xmm0, 0x55
mulps xmm3, xmm5
addss xmm0, xmm2
movsd xmm2, qword [ecx]
mulps xmm2, xmm1
addps xmm3, xmm2
movsd xmm2, qword [ecx + 0x18]
mulps xmm4, xmm2
addps xmm4, xmm3
movlps qword [esp + 0x140], xmm4
movss dword [esp + 0x148], xmm0
movsd xmm0, qword [esp + 0x144]
jne 0x4e962f
mov ecx, dword [esp + 0x270]
test ecx, ecx
je 0x4ec04e
mov eax, dword [esp + 0x26c]
xor edx, edx
div ecx
jmp 0x4e9650
mov dword [esp + 0x134], 0
mov dword [esp + 0x138], 4
mov dword [esp + 0x13c], 0
jmp 0x4e98f2
mov ecx, dword [esp + 0x284]
test ecx, ecx
je 0x4ec04e
mov eax, dword [esp + 0x280]
xor edx, edx
div ecx
sub eax, dword [esp + 0x294]
cmp edx, 0xc
mov ecx, 0xffffffff
mov ebx, 4
sbb eax, 0xffffffff
inc eax
cmovne ecx, eax
cmp ecx, 5
cmovae ebx, ecx
cmp ebx, 0xaaaaaaa
ja 0x4ec062
lea eax, [ebx*4]
lea esi, [eax + eax*2]
test esi, esi
js 0x4ec062
movaps xmmword [esp + 0xd0], xmm0
movaps xmmword [esp + 0x20], xmm4
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x4e96b7
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4ec097
mov dword [0x5920d8], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4ec097
movaps xmm0, xmmword [esp + 0x20]
mov edi, eax
mov esi, 1
xorps xmm0, xmmword [0x56eb60]
movss dword [eax], xmm0
movaps xmm0, xmmword [esp + 0xd0]
movlps qword [eax + 4], xmm0
mov dword [esp + 0x20c], ebx
mov ebx, 0x10
mov dword [esp + 0x210], eax
mov dword [esp + 0x214], 1
movsd xmm2, qword [esp + 0x28c]
movsd xmm1, qword [esp + 0x284]
movsd xmm0, qword [esp + 0x294]
movsd qword [esp + 0x60], xmm2
movsd qword [esp + 0x58], xmm1
movsd xmm2, qword [esp + 0x27c]
movsd xmm1, qword [esp + 0x274]
movsd qword [esp + 0x68], xmm0
movsd qword [esp + 0x50], xmm2
movsd qword [esp + 0x48], xmm1
movsd xmm2, qword [esp + 0x264]
movsd xmm1, qword [esp + 0x26c]
movsd qword [esp + 0x40], xmm1
movsd qword [esp + 0x38], xmm2
jmp 0x4e97ec
mov ecx, dword [esp + 0x58]
test ecx, ecx
je 0x4ec04e
mov eax, dword [esp + 0x54]
xor edx, edx
div ecx
sub eax, dword [esp + 0x68]
cmp edx, 0xc
mov ecx, 0xffffffff
mov edx, esi
sbb eax, 0xffffffff
inc eax
cmove eax, ecx
lea ecx, [esp + 0x20c]
push eax
call fcn.004b7be0
add esp, 4
mov edi, dword [esp + 0x210]
movaps xmm4, xmmword [esp + 0x20]
movaps xmm0, xmmword [esp + 0xd0]
nop word cs:[eax + eax]
nop dword [eax + eax]
xorps xmm4, xmmword [0x56eb60]
inc esi
movss dword [edi + ebx - 4], xmm4
movlps qword [edi + ebx], xmm0
mov dword [esp + 0x214], esi
add ebx, 0xc
lea ecx, [esp + 0x140]
lea edx, [esp + 0x38]
call fcn.004b6af0
cmp dword [esp + 0x140], 0
je 0x4e98cb
mov eax, dword [esp + 0x6c]
movss xmm1, dword [esp + 0x144]
movsd xmm4, qword [esp + 0x148]
cmp esi, dword [esp + 0x20c]
mov eax, dword [eax]
movss xmm3, dword [eax + 0x20]
movss xmm0, dword [eax + 0x14]
movss xmm2, dword [eax + 8]
movsd xmm5, qword [eax + 0xc]
unpcklps xmm0, xmm3
mulss xmm2, xmm1
movaps xmm3, xmm4
shufps xmm1, xmm1, 0
mulps xmm0, xmm4
shufps xmm3, xmm4, 0
shufps xmm4, xmm4, 0x55
addss xmm2, xmm0
shufps xmm0, xmm0, 0x55
mulps xmm3, xmm5
addss xmm0, xmm2
movsd xmm2, qword [eax]
mulps xmm2, xmm1
addps xmm3, xmm2
movsd xmm2, qword [eax + 0x18]
mulps xmm4, xmm2
addps xmm4, xmm3
movlps qword [esp + 0xf0], xmm4
movss dword [esp + 0xf8], xmm0
movsd xmm0, qword [esp + 0xf4]
jne 0x4e97d0
cmp dword [esp + 0x38], 3
movaps xmmword [esp + 0x20], xmm4
movaps xmmword [esp + 0xd0], xmm0
jne 0x4e9774
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x4ec04e
mov eax, dword [esp + 0x40]
xor edx, edx
div ecx
jmp 0x4e978c
movsd xmm0, qword [esp + 0x20c]
mov eax, dword [esp + 0x214]
lea esi, [esp + 0x208]
movsd qword [esp + 0x134], xmm0
mov dword [esp + 0x13c], eax
mov edx, dword [ebp + 0xc]
lea ecx, [esp + 0x140]
push 0x581268
call fcn.00479020
add esp, 4
mov edx, dword [esp + 0x140]
test edx, edx
je 0x4ec0cb
lea eax, [esp + 0xc]
lea ecx, [esp + 0x38]
push eax
push dword [esp + 0x148]
call fcn.004b5d90
add esp, 8
cmp dword [esp + 0x38], 4
je 0x4ec0cb
movsd xmm1, qword [esp + 0x58]
movsd xmm2, qword [esp + 0x50]
mov eax, dword [esp + 0x68]
movsd xmm0, qword [esp + 0x60]
lea ecx, [esp + 0x38]
lea edx, [esp + 0x20c]
movsd qword [esp + 0x22c], xmm1
movsd xmm1, qword [esp + 0x48]
movsd qword [esp + 0x224], xmm2
movsd xmm2, qword [esp + 0x38]
mov dword [esp + 0x23c], eax
movsd qword [esp + 0x234], xmm0
movsd qword [esp + 0x21c], xmm1
movsd xmm1, qword [esp + 0x40]
movsd qword [esp + 0x20c], xmm2
movsd qword [esp + 0x214], xmm1
mov dword [esp + 0x240], esi
call fcn.004b6af0
cmp dword [esp + 0x38], 0
je 0x4e9a95
mov ecx, dword [esp + 0x240]
movss xmm3, dword [esp + 0x3c]
movsd xmm6, qword [esp + 0x40]
mov eax, dword [esp + 0x20c]
mov ecx, dword [ecx]
movaps xmm5, xmm6
cmp eax, 3
shufps xmm5, xmm6, 0
movss xmm2, dword [ecx + 8]
movsd xmm4, qword [ecx]
movups xmm1, xmmword [ecx + 0x14]
mulss xmm2, xmm3
shufps xmm3, xmm3, 0
movaps xmm0, xmm1
mulps xmm4, xmm3
movsd xmm3, qword [ecx + 0xc]
shufps xmm0, xmm1, 0xec
shufps xmm1, xmm1, 0xe9
mulps xmm0, xmm6
shufps xmm6, xmm6, 0x55
mulps xmm6, xmm1
addss xmm2, xmm0
shufps xmm0, xmm0, 0x55
addss xmm0, xmm2
mulps xmm5, xmm3
movaps xmm2, xmm0
addps xmm5, xmm4
mulss xmm2, xmm0
addps xmm6, xmm5
movaps xmm1, xmm6
mulps xmm1, xmm6
movaps xmm3, xmm1
shufps xmm3, xmm1, 0x55
addss xmm3, xmm1
addss xmm3, xmm2
xorps xmm1, xmm1
sqrtss xmm1, xmm3
divss xmm0, xmm1
shufps xmm1, xmm1, 0
divps xmm6, xmm1
movlps qword [esp + 0x140], xmm6
movss dword [esp + 0x148], xmm0
movsd xmm0, qword [esp + 0x144]
jne 0x4e9abb
mov ecx, dword [esp + 0x218]
test ecx, ecx
je 0x4ec04e
mov eax, dword [esp + 0x214]
xor edx, edx
div ecx
jmp 0x4e9adc
mov dword [esp + 0x1c4], 0
mov dword [esp + 0x1c8], 4
mov dword [esp + 0x1cc], 0
jmp 0x4e9d96
mov ecx, dword [esp + 0x22c]
test ecx, ecx
je 0x4ec04e
mov eax, dword [esp + 0x228]
xor edx, edx
div ecx
sub eax, dword [esp + 0x23c]
cmp edx, 0xc
mov ecx, 0xffffffff
mov ebx, 4
sbb eax, 0xffffffff
inc eax
cmovne ecx, eax
cmp ecx, 5
cmovae ebx, ecx
cmp ebx, 0xaaaaaaa
ja 0x4ec062
lea eax, [ebx*4]
lea esi, [eax + eax*2]
test esi, esi
js 0x4ec062
movaps xmmword [esp + 0xd0], xmm0
movaps xmmword [esp + 0x20], xmm6
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x4e9b43
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4ec097
mov dword [0x5920d8], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4ec097
movaps xmm0, xmmword [esp + 0x20]
mov edi, eax
mov esi, 1
xorps xmm0, xmmword [0x56eb60]
movss dword [eax], xmm0
movaps xmm0, xmmword [esp + 0xd0]
movlps qword [eax + 4], xmm0
mov dword [esp + 0x1d0], ebx
mov ebx, 0x10
mov dword [esp + 0x1d4], eax
mov dword [esp + 0x1d8], 1
movsd xmm2, qword [esp + 0x234]
movsd xmm1, qword [esp + 0x22c]
movsd xmm0, qword [esp + 0x23c]
movsd qword [esp + 0x60], xmm2
movsd qword [esp + 0x58], xmm1
movsd xmm2, qword [esp + 0x224]
movsd xmm1, qword [esp + 0x21c]
movsd qword [esp + 0x68], xmm0
movsd qword [esp + 0x50], xmm2
movsd qword [esp + 0x48], xmm1
movsd xmm2, qword [esp + 0x20c]
movsd xmm1, qword [esp + 0x214]
movsd qword [esp + 0x40], xmm1
movsd qword [esp + 0x38], xmm2
jmp 0x4e9c6c
mov ecx, dword [esp + 0x58]
test ecx, ecx
je 0x4ec04e
mov eax, dword [esp + 0x54]
xor edx, edx
div ecx
sub eax, dword [esp + 0x68]
cmp edx, 0xc
mov ecx, 0xffffffff
mov edx, esi
sbb eax, 0xffffffff
inc eax
cmove eax, ecx
lea ecx, [esp + 0x1d0]
push eax
call fcn.004b7be0
add esp, 4
mov edi, dword [esp + 0x1d4]
movaps xmm6, xmmword [esp + 0x20]
movaps xmm0, xmmword [esp + 0xd0]
nop dword [eax]
xorps xmm6, xmmword [0x56eb60]
inc esi
movss dword [edi + ebx - 4], xmm6
movlps qword [edi + ebx], xmm0
mov dword [esp + 0x1d8], esi
add ebx, 0xc
lea ecx, [esp + 0x140]
lea edx, [esp + 0x38]
call fcn.004b6af0
cmp dword [esp + 0x140], 0
je 0x4e9d76
mov eax, dword [esp + 0x6c]
movss xmm3, dword [esp + 0x144]
movsd xmm6, qword [esp + 0x148]
cmp esi, dword [esp + 0x1d0]
mov eax, dword [eax]
movaps xmm5, xmm6
shufps xmm5, xmm6, 0
movss xmm2, dword [eax + 8]
movsd xmm4, qword [eax]
movups xmm1, xmmword [eax + 0x14]
mulss xmm2, xmm3
shufps xmm3, xmm3, 0
movaps xmm0, xmm1
mulps xmm4, xmm3
movsd xmm3, qword [eax + 0xc]
shufps xmm0, xmm1, 0xec
shufps xmm1, xmm1, 0xe9
mulps xmm0, xmm6
shufps xmm6, xmm6, 0x55
mulps xmm6, xmm1
addss xmm2, xmm0
shufps xmm0, xmm0, 0x55
addss xmm0, xmm2
mulps xmm5, xmm3
movaps xmm2, xmm0
addps xmm5, xmm4
mulss xmm2, xmm0
addps xmm6, xmm5
movaps xmm1, xmm6
mulps xmm1, xmm6
movaps xmm3, xmm1
shufps xmm3, xmm1, 0x55
addss xmm3, xmm1
addss xmm3, xmm2
xorps xmm1, xmm1
sqrtss xmm1, xmm3
divss xmm0, xmm1
shufps xmm1, xmm1, 0
divps xmm6, xmm1
movlps qword [esp + 0xf0], xmm6
movss dword [esp + 0xf8], xmm0
movsd xmm0, qword [esp + 0xf4]
jne 0x4e9c50
cmp dword [esp + 0x38], 3
movaps xmmword [esp + 0x20], xmm6
movaps xmmword [esp + 0xd0], xmm0
jne 0x4e9c00
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x4ec04e
mov eax, dword [esp + 0x40]
xor edx, edx
div ecx
jmp 0x4e9c18
movsd xmm0, qword [esp + 0x1d0]
mov eax, dword [esp + 0x1d8]
movsd qword [esp + 0x1c4], xmm0
mov dword [esp + 0x1cc], eax
mov edx, dword [ebp + 0xc]
lea eax, [esp + 0x140]
mov dword [esp + 0x144], 0
mov dword [esp + 0x140], 0x80000004
lea ecx, [esp + 0x1d0]
push eax
call fcn.00479020
add esp, 4
mov edx, dword [esp + 0x1d0]
test edx, edx
je 0x4e9f71
mov eax, dword [esp + 0x1d4]
movzx ecx, byte [eax + 0x8e]
test ecx, ecx
je 0x4ec088
cmp ecx, 2
je 0x4e9e76
cmp ecx, 4
je 0x4e9ee0
cmp ecx, 6
jne 0x4ec1e6
lea esi, [esp + 0xc]
lea ecx, [esp + 0x38]
push esi
push eax
call fcn.004b5010
add esp, 8
cmp dword [esp + 0x38], 4
mov eax, 3
je 0x4e9f68
movsd xmm1, qword [esp + 0x58]
movsd xmm2, qword [esp + 0x50]
mov eax, dword [esp + 0x68]
movsd xmm0, qword [esp + 0x60]
movsd qword [esp + 0x110], xmm1
movsd xmm1, qword [esp + 0x48]
movsd qword [esp + 0x108], xmm2
movsd xmm2, qword [esp + 0x38]
mov dword [esp + 0x120], eax
mov eax, 2
movsd qword [esp + 0x118], xmm0
jmp 0x4e9f47
lea esi, [esp + 0xc]
lea ecx, [esp + 0x38]
push esi
push eax
call fcn.004b56d0
add esp, 8
cmp dword [esp + 0x38], 4
mov eax, 3
je 0x4e9f68
movsd xmm1, qword [esp + 0x58]
movsd xmm2, qword [esp + 0x50]
mov eax, dword [esp + 0x68]
movsd xmm0, qword [esp + 0x60]
movsd qword [esp + 0x110], xmm1
movsd xmm1, qword [esp + 0x48]
movsd qword [esp + 0x108], xmm2
movsd xmm2, qword [esp + 0x38]
mov dword [esp + 0x120], eax
movsd qword [esp + 0x118], xmm0
xor eax, eax
jmp 0x4e9f47
lea esi, [esp + 0xc]
lea ecx, [esp + 0x38]
push esi
push eax
call fcn.004b5370
add esp, 8
cmp dword [esp + 0x38], 4
mov eax, 3
je 0x4e9f68
movsd xmm1, qword [esp + 0x58]
movsd xmm2, qword [esp + 0x50]
mov eax, dword [esp + 0x68]
movsd xmm0, qword [esp + 0x60]
movsd qword [esp + 0x110], xmm1
movsd xmm1, qword [esp + 0x48]
movsd qword [esp + 0x108], xmm2
movsd xmm2, qword [esp + 0x38]
mov dword [esp + 0x120], eax
movsd qword [esp + 0x118], xmm0
mov eax, 1
movsd qword [esp + 0x100], xmm1
movsd xmm1, qword [esp + 0x40]
movsd qword [esp + 0xf0], xmm2
movsd qword [esp + 0xf8], xmm1
cmp eax, 3
jne 0x4ea17e
mov edi, dword [esp + 0x13c]
test edi, edi
mov dword [esp + 0x130], edi
je 0x4ea266
cmp edi, 0xfffffff
ja 0x4ec062
lea esi, [edi*8]
test esi, esi
js 0x4ec062
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x4e9fc4
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4ec097
mov dword [0x5920d8], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
mov dword [esp + 0xec], eax
je 0x4ec097
mov eax, dword [esp + 0x13c]
mov edi, dword [esp + 0x1c8]
mov esi, dword [esp + 0x138]
mov edx, dword [esp + 0x1cc]
movaps xmm0, xmmword [0x56eb70]
xor ecx, ecx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xec]
add edi, 8
jmp 0x4ea078
movaps xmm1, xmm4
movss xmm3, dword [0x56eb90]
cmpunordss xmm4, xmm4
mov ebx, 1
andps xmm1, xmmword [0x56eb60]
movaps xmm2, xmm4
andps xmm2, xmm3
orps xmm1, xmmword [0x56eb80]
andnps xmm4, xmm1
orps xmm4, xmm2
mulss xmm4, dword [esi + 8]
addss xmm4, dword [esi]
mov ebx, dword [esi + ebx*4]
movss dword [eax + ecx*8], xmm4
inc ecx
add esi, 0xc
add edi, 0xc
cmp dword [esp + 0x130], ecx
mov dword [eax + ecx*8 - 4], ebx
je 0x4ea16b
cmp dword [esp + 0x20], ecx
jbe 0x4ec010
cmp edx, ecx
jbe 0x4ec01e
movss xmm3, dword [edi - 4]
movss xmm1, dword [edi]
movaps xmm2, xmm3
movaps xmm5, xmm1
andps xmm2, xmm0
andps xmm5, xmm0
movaps xmm7, xmm2
movaps xmm4, xmm5
cmpunordss xmm7, xmm2
maxss xmm4, xmm2
movaps xmm6, xmm7
andnps xmm7, xmm4
movss xmm4, dword [edi - 8]
andps xmm6, xmm5
orps xmm7, xmm6
movaps xmm6, xmm4
andps xmm6, xmm0
ucomiss xmm6, xmm7
jae 0x4ea020
movaps xmm4, xmm5
maxss xmm4, xmm6
cmpunordss xmm6, xmm6
movaps xmm7, xmm6
andnps xmm6, xmm4
andps xmm7, xmm5
orps xmm6, xmm7
ucomiss xmm2, xmm6
jae 0x4ea130
movaps xmm2, xmm1
movss xmm4, dword [0x56eb90]
cmpunordss xmm1, xmm1
mov ebx, 1
andps xmm2, xmmword [0x56eb60]
movaps xmm3, xmm1
andps xmm3, xmm4
orps xmm2, xmmword [0x56eb80]
andnps xmm1, xmm2
orps xmm1, xmm3
mulss xmm1, dword [esi]
addss xmm1, dword [esi + 8]
movaps xmm4, xmm1
jmp 0x4ea058
movaps xmm1, xmm3
movss xmm4, dword [0x56eb90]
cmpunordss xmm3, xmm3
mov ebx, 2
andps xmm1, xmmword [0x56eb60]
movaps xmm2, xmm3
andps xmm2, xmm4
orps xmm1, xmmword [0x56eb80]
andnps xmm3, xmm1
orps xmm3, xmm2
mulss xmm3, dword [esi]
movaps xmm4, xmm3
jmp 0x4ea058
mov eax, dword [esp + 0x130]
mov dword [esp + 0xbc], eax
jmp 0x4ea5e5
movsd xmm1, qword [esp + 0xf8]
mov dword [esp + 0x140], eax
movsd xmm2, qword [esp + 0x100]
movsd xmm0, qword [esp + 0xf0]
mov eax, dword [esp + 0x120]
lea ecx, [esp + 0x38]
lea edx, [esp + 0x140]
movsd qword [esp + 0x14c], xmm1
movsd xmm1, qword [esp + 0x108]
movsd qword [esp + 0x154], xmm2
movsd xmm2, qword [esp + 0x110]
movsd qword [esp + 0x144], xmm0
mov dword [esp + 0x174], eax
movsd qword [esp + 0x15c], xmm1
movsd xmm1, qword [esp + 0x118]
movsd qword [esp + 0x164], xmm2
movsd qword [esp + 0x16c], xmm1
call fcn.004e6da0
cmp dword [esp + 0x38], 0
je 0x4ea281
mov eax, dword [esp + 0x140]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x3c]
test eax, eax
mov dword [esp + 0x20], edx
je 0x4ea29e
cmp eax, 1
jne 0x4ea2ca
cmp dword [esp + 0x144], 3
jne 0x4ea2f0
mov ecx, dword [esp + 0x150]
test ecx, ecx
je 0x4ec04e
mov eax, dword [esp + 0x14c]
xor edx, edx
div ecx
cmp edx, 4
jmp 0x4ea360
mov dword [esp + 0xec], 4
mov dword [esp + 0xbc], 0
jmp 0x4ea5e5
mov dword [esp + 0xec], 4
mov dword [esp + 0xbc], 0
xor eax, eax
jmp 0x4ea5de
cmp dword [esp + 0x144], 3
jne 0x4ea316
mov ecx, dword [esp + 0x150]
test ecx, ecx
je 0x4ec04e
mov eax, dword [esp + 0x14c]
xor edx, edx
div ecx
cmp edx, 2
jmp 0x4ea360
cmp dword [esp + 0x144], 3
jne 0x4ea33c
mov ecx, dword [esp + 0x150]
test ecx, ecx
je 0x4ec04e
mov eax, dword [esp + 0x14c]
xor edx, edx
div ecx
jmp 0x4ea35d
mov ecx, dword [esp + 0x164]
test ecx, ecx
je 0x4ec04e
mov eax, dword [esp + 0x160]
xor edx, edx
div ecx
sub eax, dword [esp + 0x174]
cmp edx, 4
jmp 0x4ea360
mov ecx, dword [esp + 0x164]
test ecx, ecx
je 0x4ec04e
mov eax, dword [esp + 0x160]
xor edx, edx
div ecx
sub eax, dword [esp + 0x174]
cmp edx, 2
jmp 0x4ea360
mov ecx, dword [esp + 0x164]
test ecx, ecx
je 0x4ec04e
mov eax, dword [esp + 0x160]
xor edx, edx
div ecx
sub eax, dword [esp + 0x174]
cmp edx, 8
sbb eax, 0xffffffff
mov ecx, 0xffffffff
mov edi, 4
inc eax
cmovne ecx, eax
cmp ecx, 5
cmovae edi, ecx
cmp edi, 0xfffffff
ja 0x4ec062
lea esi, [edi*8]
test esi, esi
js 0x4ec062
mov dword [esp + 0xd0], ebx
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x4ea3bb
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4ec097
mov dword [0x5920d8], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4ec097
mov edx, dword [esp + 0xd0]
mov ecx, dword [esp + 0x20]
mov ebx, eax
mov dword [esp + 0xbc], 1
mov dword [ebx], edx
mov dword [ebx + 4], ecx
mov dword [esp + 0xc0], edi
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], 1
movsd xmm2, qword [esp + 0x168]
movsd xmm1, qword [esp + 0x160]
movsd xmm0, qword [esp + 0x170]
movsd qword [esp + 0x60], xmm2
movsd qword [esp + 0x58], xmm1
movsd xmm2, qword [esp + 0x158]
movsd xmm1, qword [esp + 0x150]
movsd qword [esp + 0x68], xmm0
movsd qword [esp + 0x50], xmm2
movsd qword [esp + 0x48], xmm1
movsd xmm2, qword [esp + 0x140]
movsd xmm1, qword [esp + 0x148]
movsd qword [esp + 0x40], xmm1
movsd qword [esp + 0x38], xmm2
jmp 0x4ea4d6
mov ecx, dword [esp + 0x5c]
test ecx, ecx
je 0x4ec04e
mov eax, dword [esp + 0x58]
xor edx, edx
div ecx
sub eax, dword [esp + 0x6c]
cmp edx, 8
mov ebx, dword [esp + 0xbc]
sbb eax, 0xffffffff
mov ecx, 0xffffffff
inc eax
cmove eax, ecx
lea ecx, [esp + 0xc0]
mov edx, ebx
push eax
call fcn.004377c0
mov eax, ebx
add esp, 4
mov ebx, dword [esp + 0xc4]
nop word cs:[eax + eax]
mov dword [ebx + eax*8], esi
mov dword [ebx + eax*8 + 4], edi
inc eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc8], eax
lea ecx, [esp + 0x1d0]
lea edx, [esp + 0x38]
call fcn.004e6da0
cmp dword [esp + 0x1d0], 0
je 0x4ea5c9
mov eax, dword [esp + 0xbc]
mov esi, dword [esp + 0x1d4]
mov edi, dword [esp + 0x1d8]
cmp eax, dword [esp + 0xc0]
jne 0x4ea4c0
mov eax, dword [esp + 0x38]
test eax, eax
je 0x4ea542
cmp eax, 1
jne 0x4ea565
cmp dword [esp + 0x3c], 3
jne 0x4ea589
mov ecx, dword [esp + 0x48]
test ecx, ecx
je 0x4ec04e
mov eax, dword [esp + 0x44]
xor edx, edx
div ecx
cmp edx, 4
jmp 0x4ea488
cmp dword [esp + 0x3c], 3
jne 0x4ea5a9
mov ecx, dword [esp + 0x48]
test ecx, ecx
je 0x4ec04e
mov eax, dword [esp + 0x44]
xor edx, edx
div ecx
cmp edx, 2
jmp 0x4ea488
cmp dword [esp + 0x3c], 3
jne 0x4ea46d
mov ecx, dword [esp + 0x48]
test ecx, ecx
je 0x4ec04e
mov eax, dword [esp + 0x44]
xor edx, edx
div ecx
jmp 0x4ea485
mov ecx, dword [esp + 0x5c]
test ecx, ecx
je 0x4ec04e
mov eax, dword [esp + 0x58]
xor edx, edx
div ecx
sub eax, dword [esp + 0x6c]
cmp edx, 4
jmp 0x4ea488
mov ecx, dword [esp + 0x5c]
test ecx, ecx
je 0x4ec04e
mov eax, dword [esp + 0x58]
xor edx, edx
div ecx
sub eax, dword [esp + 0x6c]
cmp edx, 2
jmp 0x4ea488
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0xec], ecx
mov dword [esp + 0x130], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0xc]
cmp dword [eax], 0
je 0x4ec0a3
mov ecx, dword [ebp + 0xc]
mov eax, dword [eax + 4]
mov esi, dword [ecx]
cmp dword [esi + 0x10], eax
jbe 0x4ec0df
mov ebx, dword [esi + 0xc]
lea edi, [eax + eax*8]
shl edi, 4
movzx ecx, byte [ebx + edi + 0x8e]
test ecx, ecx
je 0x4ec088
lea eax, [ebx + edi]
cmp ecx, 2
je 0x4ea67f
cmp ecx, 4
je 0x4ea736
cmp ecx, 5
jne 0x4ec19a
mov edx, esi
lea esi, [esp + 0xc]
lea ecx, [esp + 0x38]
push esi
push eax
call fcn.004b5370
add esp, 8
mov eax, dword [esp + 0x38]
cmp eax, 4
je 0x4ea757
mov ecx, dword [esp + 0x3c]
movdqu xmm0, xmmword [esp + 0x40]
mov edi, dword [esp + 0x54]
mov ebx, dword [esp + 0x58]
movq xmm1, qword [esp + 0x64]
mov esi, dword [esp + 0x60]
mov edx, 2
jmp 0x4ea83c
xor ecx, ecx
cmp byte [ebx + edi + 0x3c], 2
lea edx, [ebx + edi + 8]
cmove edx, ecx
mov dword [esp + 0x20], edx
jne 0x4ea76a
lea ecx, [esp + 0x38]
mov edx, esi
push eax
call fcn.00478fa0
add esp, 4
mov ecx, dword [esp + 0x38]
test ecx, ecx
je 0x4ec0a3
mov edx, dword [esp + 0x3c]
mov esi, 1
mov eax, dword [edx + 0xc]
cmp eax, 1
adc eax, 0
cmp dword [edx + 8], 0
cmovne esi, eax
mov eax, dword [ebx + edi + 0x84]
mov edi, dword [ebx + edi + 0x88]
mov dword [esp + 0x20], eax
lea eax, [esp + 0xc]
push eax
call fcn.0047dd00
add esp, 4
test eax, eax
mov dword [esp + 0xd0], eax
je 0x4ec0a3
mov ebx, dword [esp + 0x20]
dec edi
imul edi, esi
lea eax, [ebx + edi + 1]
mov ecx, ebx
mov edi, eax
sub edi, ebx
mov dword [esp + 0x1c], edi
jb 0x4ec1fa
mov ebx, esi
mov esi, dword [esp + 0xd0]
cmp eax, edx
ja 0x4ec206
add esi, ecx
mov ecx, dword [esp + 0x1c]
mov edx, 3
jmp 0x4eab27
mov edx, esi
lea esi, [esp + 0xc]
lea ecx, [esp + 0x38]
push esi
push eax
call fcn.004b56d0
add esp, 8
mov eax, dword [esp + 0x38]
cmp eax, 4
jne 0x4ea81b
mov edx, 3
cmp edx, 3
jne 0x4ea858
jmp 0x4ec0a3
mov dword [esp + 0x14], 0
lea ecx, [esp + 0x38]
mov edx, esi
push eax
call fcn.00478fa0
add esp, 4
mov eax, dword [esp + 0x38]
test eax, eax
je 0x4ea9b5
mov edx, dword [esp + 0x3c]
mov dword [esp + 0xd0], eax
mov eax, 1
mov ecx, dword [edx + 0xc]
cmp ecx, 1
adc ecx, 0
cmp dword [edx + 8], 0
cmovne eax, ecx
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0xcc], eax
mov eax, dword [ebx + edi + 0x84]
mov edi, dword [ebx + edi + 0x88]
mov dword [esp + 0x18], eax
lea eax, [esp + 0xc]
push eax
call fcn.0047dd00
add esp, 4
test eax, eax
je 0x4ec0a3
mov ecx, dword [esp + 0xcc]
mov ebx, dword [esp + 0x18]
dec edi
imul edi, ecx
lea edi, [ebx + edi + 1]
mov ecx, edi
sub ecx, ebx
mov dword [esp + 0x12c], ecx
mov ecx, ebx
jb 0x4ec239
cmp edi, edx
ja 0x4ec245
add eax, ecx
mov dword [esp + 0x14], eax
jmp 0x4ea9b5
mov ecx, dword [esp + 0x3c]
movdqu xmm0, xmmword [esp + 0x40]
mov edi, dword [esp + 0x54]
mov ebx, dword [esp + 0x58]
movq xmm1, qword [esp + 0x64]
mov esi, dword [esp + 0x60]
mov edx, 1
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0xd0], ecx
mov ecx, dword [esp + 0x5c]
cmp edx, 3
je 0x4ec0a3
mov dword [esp + 0xf0], edx
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x20]
test edx, edx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xd0]
movdqu xmmword [esp + 0xfc], xmm0
mov dword [esp + 0x10c], eax
mov dword [esp + 0x110], edi
mov dword [esp + 0x114], ebx
mov dword [esp + 0x118], ecx
lea ecx, [esp + 0xf4]
mov dword [esp + 0x11c], esi
movq qword [esp + 0x120], xmm1
je 0x4eabac
cmp edx, 1
jne 0x4ea8e2
call fcn.004b63c0
test ax, ax
je 0x4eabb5
movzx esi, dx
mov eax, dword [esp + 0xf0]
test eax, eax
jne 0x4ea90c
jmp 0x4eabe4
call fcn.004b6640
test eax, eax
je 0x4eabb5
mov esi, edx
cmp edx, 0x10000
jae 0x4ec067
mov eax, dword [esp + 0xf0]
test eax, eax
je 0x4eabe4
cmp eax, 1
jne 0x4ea93d
cmp dword [esp + 0xf4], 3
jne 0x4ea963
mov ecx, dword [esp + 0x100]
test ecx, ecx
je 0x4ec04e
mov eax, dword [esp + 0xfc]
xor edx, edx
div ecx
cmp edx, 2
jmp 0x4eac2e
cmp dword [esp + 0xf4], 3
jne 0x4ea98c
mov ecx, dword [esp + 0x100]
test ecx, ecx
je 0x4ec04e
mov eax, dword [esp + 0xfc]
xor edx, edx
div ecx
jmp 0x4ea9ad
mov ecx, dword [esp + 0x114]
test ecx, ecx
je 0x4ec04e
mov eax, dword [esp + 0x110]
xor edx, edx
div ecx
sub eax, dword [esp + 0x124]
cmp edx, 2
jmp 0x4eac2e
mov ecx, dword [esp + 0x114]
test ecx, ecx
je 0x4ec04e
mov eax, dword [esp + 0x110]
xor edx, edx
div ecx
sub eax, dword [esp + 0x124]
cmp edx, 4
jmp 0x4eac2e
mov edi, dword [esp + 0x20]
mov edx, esi
mov ecx, dword [edi + 8]
lea eax, [edi + 0x20]
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x38]
push eax
call fcn.00477670
add esp, 4
movzx eax, byte [edi + 0x30]
test eax, eax
je 0x4ec088
cmp eax, 5
je 0x4ea9fd
mov edi, 2
cmp eax, 4
je 0x4eaa02
cmp eax, 2
jne 0x4ec225
mov edi, 1
jmp 0x4eaa02
mov edi, 4
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
lea eax, [esp + 0xc]
mov dword [esp + 0x1c], edi
mov ebx, dword [edx + 0xc]
test ebx, ebx
cmove ebx, edi
cmp dword [edx + 8], 0
cmove ebx, edi
push eax
call fcn.0047dd00
add esp, 4
test eax, eax
mov dword [esp + 0xd0], eax
je 0x4ec0a3
mov eax, dword [esp + 0x20]
mov ecx, ebx
mov edi, dword [eax + 0x2c]
mov eax, dword [esp + 0x18]
dec eax
mov dword [esp + 0xe8], edi
imul ecx, eax
mov dword [esp + 0x18], eax
add ecx, dword [esp + 0x1c]
mov eax, ecx
add eax, edi
jb 0x4ec212
cmp eax, edx
ja 0x4ec1c2
mov edi, dword [esp + 0x20]
movzx eax, byte [edi + 0x30]
test eax, eax
je 0x4ec088
cmp eax, 5
je 0x4eaa97
mov edx, 1
cmp eax, 4
je 0x4eaa9c
cmp eax, 2
jne 0x4ec225
xor edx, edx
jmp 0x4eaa9c
mov edx, 2
mov dword [esp + 0x128], edx
lea eax, [edi + 0xc]
mov edx, esi
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0x38]
push eax
call fcn.004776e0
add esp, 4
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov esi, 1
mov eax, dword [edx + 0xc]
cmp eax, 1
adc eax, 0
cmp dword [edx + 8], 0
cmovne esi, eax
lea eax, [esp + 0xc]
push eax
call fcn.0047dd00
add esp, 4
test eax, eax
je 0x4ec0a3
mov ecx, dword [edi + 0x10]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x20], esi
imul edi, esi
inc edi
mov esi, edi
add esi, ecx
jb 0x4ec1ce
cmp esi, edx
ja 0x4ec1da
mov esi, dword [esp + 0xd0]
add eax, ecx
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x128]
add esi, dword [esp + 0xe8]
movd xmm1, ecx
mov ecx, 2
movd xmm0, ebx
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], edx
mov dword [esp + 0xf8], esi
mov edx, dword [esp + 0x14]
movss xmm3, dword [esp + 0xcc]
movd xmm2, ecx
mov ecx, dword [esp + 0x20]
punpckldq xmm1, xmm0
punpcklqdq xmm1, xmm2
movdqu xmmword [esp + 0xfc], xmm1
mov dword [esp + 0x10c], eax
mov dword [esp + 0x110], edi
mov dword [esp + 0x114], ecx
mov ecx, dword [esp + 0x12c]
mov dword [esp + 0x118], edx
mov dword [esp + 0x11c], ecx
lea ecx, [esp + 0xf4]
movlps qword [esp + 0x120], xmm3
call fcn.004b6280
test al, 1
jne 0x4eabd2
mov dword [esp + 0xcc], 2
mov dword [esp + 0xe8], 0
xor edi, edi
jmp 0x4eaebb
movzx esi, dl
mov eax, dword [esp + 0xf0]
test eax, eax
jne 0x4ea90c
cmp dword [esp + 0xf4], 3
jne 0x4eac0a
mov ecx, dword [esp + 0x100]
test ecx, ecx
je 0x4ec04e
mov eax, dword [esp + 0xfc]
xor edx, edx
div ecx
jmp 0x4eac2b
mov ecx, dword [esp + 0x114]
test ecx, ecx
je 0x4ec04e
mov eax, dword [esp + 0x110]
xor edx, edx
div ecx
sub eax, dword [esp + 0x124]
cmp edx, 1
sbb eax, 0xffffffff
mov ecx, 0xffffffff
mov ebx, 4
inc eax
cmovne ecx, eax
cmp ecx, 5
cmovae ebx, ecx
cmp ebx, 0x3fffffff
ja 0x4ec062
mov edi, ebx
add edi, ebx
js 0x4ec062
mov dword [esp + 0x20], esi
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x4eac81
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4ec113
mov dword [0x5920d8], eax
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4ec113
mov esi, eax
mov eax, dword [esp + 0x20]
mov edi, 1
mov word [esi], ax
mov dword [esp + 0x140], ebx
mov dword [esp + 0x144], esi
mov dword [esp + 0x148], 1
movsd xmm2, qword [esp + 0x118]
movsd xmm1, qword [esp + 0x110]
movq xmm0, qword [esp + 0x120]
movsd qword [esp + 0x60], xmm2
movsd qword [esp + 0x58], xmm1
movsd xmm2, qword [esp + 0x108]
movsd xmm1, qword [esp + 0x100]
movq qword [esp + 0x68], xmm0
movsd qword [esp + 0x50], xmm2
movsd qword [esp + 0x48], xmm1
movsd xmm2, qword [esp + 0xf0]
movq xmm1, qword [esp + 0xf8]
movq qword [esp + 0x40], xmm1
movsd qword [esp + 0x38], xmm2
jmp 0x4ead56
call fcn.004b63c0
test ax, ax
je 0x4eae8e
movzx ebx, dx
cmp edi, dword [esp + 0x140]
je 0x4eada2
mov word [esi + edi*2], bx
inc edi
mov dword [esp + 0x148], edi
mov eax, dword [esp + 0x38]
lea ecx, [esp + 0x3c]
test eax, eax
je 0x4ead90
cmp eax, 1
je 0x4ead30
call fcn.004b6640
test eax, eax
je 0x4eae8e
mov ebx, edx
cmp edx, 0x10000
jb 0x4ead41
jmp 0x4ec067
call fcn.004b6280
test al, 1
je 0x4eae8e
movzx ebx, dl
jmp 0x4ead41
mov eax, dword [esp + 0x38]
test eax, eax
je 0x4eadd2
cmp eax, 1
jne 0x4eadf2
cmp dword [esp + 0x3c], 3
jne 0x4eae0f
mov ecx, dword [esp + 0x48]
test ecx, ecx
je 0x4ec04e
mov eax, dword [esp + 0x44]
xor edx, edx
div ecx
cmp edx, 2
jmp 0x4eae64
cmp dword [esp + 0x3c], 3
jne 0x4eae2c
mov ecx, dword [esp + 0x48]
test ecx, ecx
je 0x4ec04e
mov eax, dword [esp + 0x44]
xor edx, edx
div ecx
cmp edx, 1
jmp 0x4eae64
cmp dword [esp + 0x3c], 3
jne 0x4eae49
mov ecx, dword [esp + 0x48]
test ecx, ecx
je 0x4ec04e
mov eax, dword [esp + 0x44]
xor edx, edx
div ecx
jmp 0x4eae61
mov ecx, dword [esp + 0x5c]
test ecx, ecx
je 0x4ec04e
mov eax, dword [esp + 0x58]
xor edx, edx
div ecx
sub eax, dword [esp + 0x6c]
cmp edx, 2
jmp 0x4eae64
mov ecx, dword [esp + 0x5c]
test ecx, ecx
je 0x4ec04e
mov eax, dword [esp + 0x58]
xor edx, edx
div ecx
sub eax, dword [esp + 0x6c]
cmp edx, 1
jmp 0x4eae64
mov ecx, dword [esp + 0x5c]
test ecx, ecx
je 0x4ec04e
mov eax, dword [esp + 0x58]
xor edx, edx
div ecx
sub eax, dword [esp + 0x6c]
cmp edx, 4
sbb eax, 0xffffffff
mov ecx, 0xffffffff
mov edx, edi
inc eax
cmove eax, ecx
lea ecx, [esp + 0x140]
push eax
call fcn.004b7ef0
add esp, 4
mov esi, dword [esp + 0x144]
jmp 0x4ead4a
imul eax, edi, 0xaaaaaaab
cmp eax, 0x55555555
ja 0x4ec133
mov eax, dword [esp + 0x140]
mov ecx, dword [esp + 0x144]
mov dword [esp + 0xe8], eax
mov dword [esp + 0xcc], ecx
mov ebx, dword [esp + 0x13c]
cmp ebx, dword [esp + 0x1cc]
jne 0x4ec0f3
mov eax, dword [ebp + 0xc]
lea ecx, [esp + 0x38]
mov edx, dword [eax]
push dword [eax + 0xc]
call fcn.00479380
add esp, 4
test edi, edi
mov dword [esp + 0x14], ebx
je 0x4eb01b
mov eax, dword [esp + 0x44]
mov ecx, 0xaaaaaaab
movzx ebx, byte [eax + 0x108]
mov eax, edi
mul ecx
mov eax, 2
mov esi, edx
shr esi, 1
cmp edi, 3
jb 0x4eaf67
cmp edi, 0x2fffffff
ja 0x4ec062
lea ecx, [esi*8]
test ecx, ecx
js 0x4ec062
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
mov dword [esp + 0x20], ecx
test eax, eax
jne 0x4eaf56
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4ec18c
mov dword [0x5920d8], eax
mov ecx, dword [esp + 0x20]
push ecx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4ec18c
mov edx, dword [esp + 0xcc]
movzx ecx, bl
xor ebx, ebx
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], 0
mov dword [esp + 0x20], eax
shl ecx, 0x15
mov dword [esp + 0xd0], ecx
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp edi, 3
mov esi, 3
cmovb esi, edi
test esi, esi
je 0x4ebfda
cmp esi, 1
je 0x4ebfe8
cmp edi, 2
jbe 0x4ebffc
mov eax, edi
mov edi, ebx
movzx ebx, word [edx + 4]
movzx ecx, word [edx]
shl ebx, 0x10
or ecx, ebx
mov ebx, edi
mov edi, eax
mov eax, dword [esp + 0x20]
sub edi, esi
lea esi, [edx + esi*2]
movzx edx, word [edx + 2]
mov dword [eax + ebx*8], ecx
or edx, dword [esp + 0xd0]
mov dword [eax + ebx*8 + 4], edx
inc ebx
test edi, edi
mov edx, esi
jne 0x4eafa0
mov dword [esp + 0x20], ebx
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x128], eax
mov dword [esp + 0xd0], ecx
jmp 0x4eb051
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 2
mov dword [esp + 0x40], 0
mov dword [esp + 0x128], 0
mov dword [esp + 0xd0], 2
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0xc]
xor edi, edi
mov dword [esp + 0x12c], 4
cmp byte [eax + 0x58], 0
je 0x4eb06f
xor eax, eax
jmp 0x4eb209
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4eb209
mov esi, dword [esp + 0x20]
cmp esi, 0x7ffffff
ja 0x4ec062
shl esi, 4
js 0x4ec062
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x4eb0b6
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4ec097
mov dword [0x5920d8], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4ec097
mov ecx, dword [esp + 0x138]
mov edx, dword [esp + 0x13c]
mov ebx, eax
xor edi, edi
mov dword [esp + 0x12c], eax
add ebx, 0xc
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], edx
nop dword [eax + eax]
mov eax, dword [esp + 0xd0]
movzx ecx, word [eax + edi*8]
cmp edx, ecx
jbe 0x4ec028
movzx esi, word [eax + edi*8 + 2]
cmp edx, esi
jbe 0x4ec032
movzx eax, word [eax + edi*8 + 4]
cmp edx, eax
jbe 0x4ec03e
mov edx, dword [esp + 0x1c]
lea eax, [eax + eax*2]
lea esi, [esi + esi*2]
lea ecx, [ecx + ecx*2]
inc edi
movsd xmm5, qword [edx + esi*4 + 4]
movss xmm4, dword [edx + eax*4 + 8]
movss xmm7, dword [edx + eax*4]
movss xmm0, dword [edx + esi*4]
movss xmm3, dword [edx + ecx*4]
movss xmm6, dword [edx + eax*4 + 4]
movsd xmm2, qword [edx + ecx*4 + 4]
mov edx, dword [esp + 0x18]
unpcklps xmm7, xmm4
movaps xmm4, xmm5
subss xmm6, xmm5
subps xmm5, xmm2
movss xmm4, xmm0
subss xmm0, xmm3
subps xmm7, xmm4
movaps xmm1, xmm0
mulss xmm0, xmm6
movaps xmm4, xmm7
shufps xmm1, xmm5, 0xd4
shufps xmm4, xmm7, 0xe1
shufps xmm1, xmm5, 0x52
mulps xmm4, xmm5
mulss xmm5, xmm7
movss xmm7, xmm6
mulps xmm7, xmm1
subss xmm0, xmm5
subps xmm4, xmm7
movaps xmm1, xmm4
mulps xmm1, xmm4
movaps xmm5, xmm1
shufps xmm5, xmm1, 0x55
addss xmm5, xmm1
movaps xmm1, xmm0
mulss xmm1, xmm0
addss xmm1, xmm5
sqrtss xmm1, xmm1
divss xmm0, xmm1
shufps xmm1, xmm1, 0
divps xmm4, xmm1
movlps qword [ebx - 0xc], xmm4
mulss xmm3, xmm4
shufps xmm4, xmm4, 0x55
movss dword [ebx - 4], xmm0
mulss xmm4, xmm2
shufps xmm2, xmm2, 0x55
addss xmm4, xmm3
mulss xmm2, xmm0
addss xmm2, xmm4
xorps xmm2, xmmword [0x56eb60]
movss dword [ebx], xmm2
add ebx, 0x10
cmp dword [esp + 0x20], edi
jne 0x4eb0f0
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x14]
test ebx, ebx
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], eax
je 0x4eb262
cmp ebx, 0x3fffffff
ja 0x4ec062
mov esi, ebx
add esi, ebx
js 0x4ec062
mov eax, dword [0x5920d8]
test eax, eax
jne 0x4eb242
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4eb256
mov dword [0x5920d8], eax
push esi
push 8
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
mov dword [esp + 0x204], eax
jne 0x4eb26d
mov ecx, 2
mov edx, esi
call fcn.00429f60
mov dword [esp + 0x204], 2
mov edx, dword [ebp + 0xc]
lea eax, [esp + 0x140]
mov dword [esp + 0x144], 0
mov dword [esp + 0x140], 0x80000005
lea ecx, [esp + 0xc0]
push eax
call fcn.00479020
add esp, 4
mov edx, dword [esp + 0xc0]
test edx, edx
je 0x4eb39d
mov eax, dword [esp + 0xc4]
movzx ecx, byte [eax + 0x8e]
test ecx, ecx
je 0x4ec088
cmp ecx, 2
je 0x4eb30f
cmp ecx, 4
jne 0x4ec1ae
lea esi, [esp + 0xc]
lea ecx, [esp + 0x38]
push esi
push eax
call fcn.004b5010
add esp, 8
cmp dword [esp + 0x38], 4
mov edi, 2
je 0x4eb394
movsd xmm1, qword [esp + 0x58]
movsd xmm2, qword [esp + 0x50]
mov eax, dword [esp + 0x68]
movq xmm0, qword [esp + 0x60]
mov edi, 1
jmp 0x4eb345
lea esi, [esp + 0xc]
lea ecx, [esp + 0x38]
push esi
push eax
call fcn.004b5370
add esp, 8
cmp dword [esp + 0x38], 4
mov edi, 2
je 0x4eb394
movsd xmm1, qword [esp + 0x58]
movsd xmm2, qword [esp + 0x50]
mov eax, dword [esp + 0x68]
movq xmm0, qword [esp + 0x60]
xor edi, edi
movsd qword [esp + 0x1f0], xmm1
movsd xmm1, qword [esp + 0x48]
movsd qword [esp + 0x1e8], xmm2
movsd xmm2, qword [esp + 0x38]
mov dword [esp + 0x200], eax
movq qword [esp + 0x1f8], xmm0
movsd qword [esp + 0x1e0], xmm1
movq xmm1, qword [esp + 0x40]
movsd qword [esp + 0x1d0], xmm2
movq qword [esp + 0x1d8], xmm1
cmp edi, 2
jne 0x4eb426
test ebx, ebx
je 0x4eb550
cmp ebx, 0xfffffff
ja 0x4ec062
lea esi, [ebx*8]
test esi, esi
js 0x4ec062
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x4eb3e2
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4ec107
mov dword [0x5920d8], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4ec107
xor esi, esi
cmp ebx, 2
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], 0
jb 0x4eb5e9
lea esi, [ebx - 1]
mov edx, 1
cmp ebx, 4
ja 0x4eb56b
mov ecx, eax
jmp 0x4eb5c6
mov edx, dword [ebp + 0xc]
lea eax, [esp + 0x140]
mov dword [esp + 0x144], 0
mov dword [esp + 0x140], 0x80000006
lea ecx, [esp + 0xc0]
push eax
call fcn.00479020
add esp, 4
mov esi, dword [esp + 0xc0]
test esi, esi
je 0x4ec11f
mov ebx, dword [esp + 0xc4]
movzx eax, byte [ebx + 0x8e]
test eax, eax
je 0x4ec088
cmp eax, 2
je 0x4eb604
cmp eax, 4
je 0x4eb679
cmp eax, 6
jne 0x4ec251
xor eax, eax
cmp byte [ebx + 0x3c], 2
lea ecx, [ebx + 8]
mov dword [esp + 0x1bc], 0
mov dword [esp + 0x250], edi
cmove ecx, eax
mov dword [esp + 0xb4], ecx
lea ecx, [esp + 0x38]
jne 0x4eb6b8
mov edx, esi
push ebx
call fcn.00478fa0
add esp, 4
mov ecx, dword [esp + 0x38]
test ecx, ecx
je 0x4ec11f
mov edx, dword [esp + 0x3c]
mov eax, 0x10
mov esi, dword [ebx + 0x84]
mov ebx, dword [ebx + 0x88]
mov edi, dword [edx + 0xc]
test edi, edi
cmove edi, eax
cmp dword [edx + 8], 0
cmove edi, eax
lea eax, [esp + 0xc]
push eax
call fcn.0047dd00
add esp, 4
test eax, eax
mov dword [esp + 0x10], edx
je 0x4ec11f
dec ebx
imul ebx, edi
lea ebx, [esi + ebx + 0x10]
mov ecx, ebx
sub ecx, esi
jb 0x4ec265
mov edx, dword [esp + 0x10]
cmp ebx, edx
ja 0x4ec273
add eax, esi
mov dword [esp + 0xb8], 3
mov dword [esp + 0xe4], eax
jmp 0x4eb939
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], 1
mov dword [esp + 0x40], 0
xor esi, esi
jmp 0x4eb5f7
mov edx, esi
and edx, 0xfffffffc
lea ecx, [eax + edx*8]
mov edi, edx
nop word cs:[eax + eax]
nop
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x18], 0
add eax, 0x20
add edi, 0xfffffffc
jne 0x4eb580
cmp esi, edx
je 0x4eb5e3
or edx, 1
mov eax, ebx
sub eax, edx
nop word [eax + eax]
mov dword [ecx + 4], 0
mov dword [ecx], 0
add ecx, 8
dec eax
jne 0x4eb5d0
test ebx, ebx
mov eax, ecx
je 0x4eb5f7
inc esi
mov dword [eax + 4], 0
mov dword [eax], 0
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
jmp 0x4ebf14
lea eax, [esp + 0xc]
lea ecx, [esp + 0x38]
mov edx, esi
push eax
push ebx
call fcn.004b5370
add esp, 8
mov eax, dword [esp + 0x38]
cmp eax, 4
mov dword [esp + 0xb8], eax
je 0x4eb6a1
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x3c]
movdqu xmm0, xmmword [esp + 0x40]
mov esi, dword [esp + 0x5c]
movq xmm1, qword [esp + 0x64]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0xb4], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x1c0], ecx
xor ecx, ecx
mov ebx, dword [esp + 0x14]
cmp ecx, 3
jne 0x4eb961
jmp 0x4ec11f
lea eax, [esp + 0xc]
lea ecx, [esp + 0x38]
mov edx, esi
push eax
push ebx
call fcn.004b5010
add esp, 8
mov eax, dword [esp + 0x38]
cmp eax, 4
mov dword [esp + 0xb8], eax
jne 0x4eb74f
mov ecx, 3
mov ebx, dword [esp + 0x14]
cmp ecx, 3
jne 0x4eb961
jmp 0x4ec11f
mov edx, esi
push ebx
call fcn.00478fa0
add esp, 4
mov ecx, dword [esp + 0x38]
test ecx, ecx
je 0x4eb7a3
mov edx, dword [esp + 0x3c]
mov eax, 0x10
mov edi, dword [edx + 0xc]
test edi, edi
cmove edi, eax
cmp dword [edx + 8], 0
cmove edi, eax
mov eax, dword [ebx + 0x84]
mov ebx, dword [ebx + 0x88]
mov dword [esp + 0x10], eax
lea eax, [esp + 0xc]
push eax
call fcn.0047dd00
add esp, 4
test eax, eax
mov dword [esp + 0x1bc], eax
je 0x4ec11f
mov ecx, dword [esp + 0x10]
dec ebx
mov dword [esp + 0x244], edi
imul ebx, edi
lea eax, [ecx + ebx + 0x10]
mov edi, eax
sub edi, ecx
jb 0x4ec27f
mov ebx, dword [esp + 0xb4]
cmp eax, edx
mov dword [esp + 0x1c0], edi
ja 0x4ec28b
add dword [esp + 0x1bc], ecx
jmp 0x4eb7aa
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x3c]
movdqu xmm0, xmmword [esp + 0x40]
mov esi, dword [esp + 0x5c]
movq xmm1, qword [esp + 0x64]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0xb4], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x1c0], ecx
mov ecx, 1
mov ebx, dword [esp + 0x14]
cmp ecx, 3
jne 0x4eb961
jmp 0x4ec11f
mov ebx, dword [esp + 0xb4]
mov ecx, dword [ebx + 8]
lea eax, [ebx + 0x20]
mov edx, esi
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x38]
push eax
call fcn.00477670
add esp, 4
movzx eax, byte [ebx + 0x30]
test eax, eax
je 0x4ec088
cmp eax, 5
je 0x4eb7ee
mov ebx, 2
cmp eax, 4
je 0x4eb7f3
cmp eax, 2
jne 0x4ec225
mov ebx, 1
jmp 0x4eb7f3
mov ebx, 4
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
lea eax, [esp + 0xc]
mov dword [esp + 0xb8], ebx
mov edi, dword [edx + 0xc]
test edi, edi
cmove edi, ebx
cmp dword [edx + 8], 0
cmove edi, ebx
push eax
call fcn.0047dd00
add esp, 4
test eax, eax
mov dword [esp + 0xe4], eax
je 0x4ec11f
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0xb4]
mov ecx, dword [eax + 0x2c]
dec ebx
mov eax, edi
imul eax, ebx
add eax, dword [esp + 0xb8]
mov dword [esp + 0x24c], eax
add eax, ecx
jb 0x4ec219
cmp eax, edx
mov dword [esp + 0x248], ecx
ja 0x4ec1c2
mov ecx, dword [esp + 0xb4]
movzx eax, byte [ecx + 0x30]
test eax, eax
je 0x4ec088
cmp eax, 5
je 0x4eb895
mov edx, 1
cmp eax, 4
je 0x4eb89a
cmp eax, 2
jne 0x4ec225
xor edx, edx
jmp 0x4eb89a
mov edx, 2
mov dword [esp + 0xb8], edx
mov dword [esp + 0x10], ebx
lea eax, [ecx + 0xc]
mov ebx, ecx
mov edx, esi
lea ecx, [esp + 0x38]
push eax
call fcn.004776e0
add esp, 4
mov edx, dword [esp + 0x3c]
mov esi, ebx
mov eax, 0x10
mov ecx, dword [esp + 0x38]
mov ebx, dword [edx + 0xc]
test ebx, ebx
cmove ebx, eax
cmp dword [edx + 8], 0
cmove ebx, eax
lea eax, [esp + 0xc]
push eax
call fcn.0047dd00
add esp, 4
test eax, eax
je 0x4ec11f
mov ecx, dword [esi + 0x10]
mov esi, dword [esp + 0x10]
mov dword [esp + 0xb4], ebx
imul esi, ebx
add esi, 0x10
mov dword [esp + 0x10], esi
add esi, ecx
jb 0x4ec1ce
mov ebx, dword [esp + 0x248]
cmp esi, edx
ja 0x4ec1da
add eax, ecx
add dword [esp + 0xe4], ebx
mov esi, dword [esp + 0x1bc]
mov edx, dword [esp + 0x244]
mov ecx, dword [esp + 0x24c]
movd xmm1, edi
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x250]
movd xmm0, ecx
mov ecx, 2
punpckldq xmm0, xmm1
movd xmm1, ecx
punpcklqdq xmm0, xmm1
movd xmm1, edx
movsd xmm3, qword [esp + 0x1f0]
movsd xmm4, qword [esp + 0x1e8]
mov edx, dword [esp + 0x200]
movsd xmm2, qword [esp + 0x1f8]
movsd qword [esp + 0x164], xmm3
movsd xmm3, qword [esp + 0x1e0]
movsd qword [esp + 0x15c], xmm4
movsd xmm4, qword [esp + 0x1d0]
mov dword [esp + 0x174], edx
movsd qword [esp + 0x16c], xmm2
mov edx, dword [esp + 0xb4]
movsd qword [esp + 0x154], xmm3
movsd xmm3, qword [esp + 0x1d8]
movsd qword [esp + 0x144], xmm4
movsd qword [esp + 0x14c], xmm3
mov dword [esp + 0x140], edi
mov dword [esp + 0x178], ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0x17c], ecx
mov ecx, dword [esp + 0xe4]
mov dword [esp + 0x180], ecx
mov ecx, dword [esp + 0x10]
movdqu xmmword [esp + 0x184], xmm0
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], ecx
mov ecx, dword [esp + 0x1c0]
mov dword [esp + 0x19c], edx
mov dword [esp + 0x1a0], esi
lea edx, [esp + 0x140]
mov dword [esp + 0x1a4], ecx
lea ecx, [esp + 0x38]
movq qword [esp + 0x1a8], xmm1
mov dword [esp + 0x1b0], 0
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
call fcn.004e7190
cmp byte [esp + 0x38], 0
je 0x4ebabe
mov ebx, dword [esp + 0x39]
mov edi, dword [esp + 0x3d]
cmp dword [esp + 0x140], 0
je 0x4ebacc
cmp dword [esp + 0x144], 3
jne 0x4ebaf4
mov ecx, dword [esp + 0x150]
test ecx, ecx
je 0x4ec04e
mov eax, dword [esp + 0x14c]
xor edx, edx
div ecx
mov ecx, eax
jmp 0x4ebb17
mov eax, 1
xor esi, esi
xor ecx, ecx
jmp 0x4ebf14
cmp dword [esp + 0x144], 3
jne 0x4ebb1c
mov ecx, dword [esp + 0x150]
test ecx, ecx
je 0x4ec04e
mov eax, dword [esp + 0x14c]
xor edx, edx
div ecx
mov ecx, eax
jmp 0x4ebb3f
mov ecx, dword [esp + 0x164]
test ecx, ecx
je 0x4ec04e
mov eax, dword [esp + 0x160]
xor edx, edx
div ecx
mov ecx, eax
sub ecx, dword [esp + 0x174]
cmp edx, 8
jmp 0x4ebb42
mov ecx, dword [esp + 0x164]
test ecx, ecx
je 0x4ec04e
mov eax, dword [esp + 0x160]
xor edx, edx
div ecx
mov ecx, eax
sub ecx, dword [esp + 0x174]
cmp edx, 4
mov eax, dword [esp + 0x178]
sbb ecx, 0xffffffff
mov dword [esp + 0x10], edi
test eax, eax
je 0x4ebb85
cmp eax, 1
jne 0x4ebbb1
cmp dword [esp + 0x17c], 3
jne 0x4ebbd7
mov esi, dword [esp + 0x188]
test esi, esi
je 0x4ec04e
mov eax, dword [esp + 0x184]
xor edx, edx
div esi
cmp edx, 8
jmp 0x4ebc47
cmp dword [esp + 0x17c], 3
jne 0x4ebbfd
mov esi, dword [esp + 0x188]
test esi, esi
je 0x4ec04e
mov eax, dword [esp + 0x184]
xor edx, edx
div esi
cmp edx, 4
jmp 0x4ebc47
cmp dword [esp + 0x17c], 3
jne 0x4ebc23
mov esi, dword [esp + 0x188]
test esi, esi
je 0x4ec04e
mov eax, dword [esp + 0x184]
xor edx, edx
div esi
jmp 0x4ebc44
mov esi, dword [esp + 0x19c]
test esi, esi
je 0x4ec04e
mov eax, dword [esp + 0x198]
xor edx, edx
div esi
sub eax, dword [esp + 0x1ac]
cmp edx, 8
jmp 0x4ebc47
mov esi, dword [esp + 0x19c]
test esi, esi
je 0x4ec04e
mov eax, dword [esp + 0x198]
xor edx, edx
div esi
sub eax, dword [esp + 0x1ac]
cmp edx, 4
jmp 0x4ebc47
mov esi, dword [esp + 0x19c]
test esi, esi
je 0x4ec04e
mov eax, dword [esp + 0x198]
xor edx, edx
div esi
sub eax, dword [esp + 0x1ac]
cmp edx, 0x10
sbb eax, 0xffffffff
mov edi, 4
cmp ecx, eax
cmovb eax, ecx
mov ecx, 0xffffffff
inc eax
cmovne ecx, eax
cmp ecx, 5
cmovae edi, ecx
cmp edi, 0xfffffff
ja 0x4ec062
lea esi, [edi*8]
test esi, esi
js 0x4ec062
mov dword [esp + 0xb8], ebx
movzx eax, byte [0x592110]
mov eax, dword [0x5920d8]
test eax, eax
jne 0x4ebca7
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4ec107
mov dword [0x5920d8], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4ec107
mov edx, dword [esp + 0xb8]
mov ecx, dword [esp + 0x10]
mov ebx, eax
lea esi, [esp + 0x140]
mov dword [ebx + 4], ecx
mov dword [ebx], edx
mov dword [esp + 0xc0], edi
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], 1
lea edi, [esp + 0x38]
mov ecx, 0x1f
rep movsd dword es:[edi], dword [esi]
mov esi, 1
jmp 0x4ebd5f
mov ebx, dword [esp + 0x94]
test ebx, ebx
je 0x4ec04e
mov eax, dword [esp + 0x90]
xor edx, edx
div ebx
sub eax, dword [esp + 0xa4]
cmp edx, 0x10
sbb eax, 0xffffffff
mov edx, esi
cmp ecx, eax
cmovb eax, ecx
mov ecx, 0xffffffff
inc eax
cmove eax, ecx
lea ecx, [esp + 0xc0]
push eax
call fcn.004b8350
add esp, 4
mov ebx, dword [esp + 0xc4]
mov eax, dword [esp + 0x10]
nop
mov dword [ebx + esi*8], edi
mov dword [ebx + esi*8 + 4], eax
inc esi
mov dword [esp + 0xc8], esi
lea ecx, [esp + 0x25b]
lea edx, [esp + 0x38]
call fcn.004e7190
cmp byte [esp + 0x25b], 0
je 0x4ebf02
mov edi, dword [esp + 0x25c]
mov eax, dword [esp + 0x260]
cmp esi, dword [esp + 0xc0]
jne 0x4ebd50
cmp dword [esp + 0x38], 0
mov dword [esp + 0x10], eax
jne 0x4ebdbe
cmp dword [esp + 0x3c], 3
jne 0x4ebde4
mov ecx, dword [esp + 0x48]
test ecx, ecx
je 0x4ec04e
mov eax, dword [esp + 0x44]
xor edx, edx
div ecx
mov ecx, eax
jmp 0x4ebdfe
cmp dword [esp + 0x3c], 3
jne 0x4ebe62
mov ecx, dword [esp + 0x48]
test ecx, ecx
je 0x4ec04e
mov eax, dword [esp + 0x44]
xor edx, edx
div ecx
mov ecx, eax
jmp 0x4ebe7c
mov ecx, dword [esp + 0x5c]
test ecx, ecx
je 0x4ec04e
mov eax, dword [esp + 0x58]
xor edx, edx
div ecx
mov ecx, eax
sub ecx, dword [esp + 0x6c]
cmp edx, 4
mov eax, dword [esp + 0x70]
sbb ecx, 0xffffffff
test eax, eax
je 0x4ebe8a
cmp eax, 1
jne 0x4ebe3b
cmp dword [esp + 0x74], 3
jne 0x4ebeb0
mov ebx, dword [esp + 0x80]
test ebx, ebx
je 0x4ec04e
mov eax, dword [esp + 0x7c]
xor edx, edx
div ebx
cmp edx, 8
jmp 0x4ebd20
cmp dword [esp + 0x74], 3
jne 0x4ebcfc
mov ebx, dword [esp + 0x80]
test ebx, ebx
je 0x4ec04e
mov eax, dword [esp + 0x7c]
xor edx, edx
div ebx
jmp 0x4ebd1d
mov ecx, dword [esp + 0x5c]
test ecx, ecx
je 0x4ec04e
mov eax, dword [esp + 0x58]
xor edx, edx
div ecx
mov ecx, eax
sub ecx, dword [esp + 0x6c]
cmp edx, 8
mov eax, dword [esp + 0x70]
sbb ecx, 0xffffffff
test eax, eax
jne 0x4ebe0c
cmp dword [esp + 0x74], 3
jne 0x4ebed9
mov ebx, dword [esp + 0x80]
test ebx, ebx
je 0x4ec04e
mov eax, dword [esp + 0x7c]
xor edx, edx
div ebx
cmp edx, 4
jmp 0x4ebd20
mov ebx, dword [esp + 0x94]
test ebx, ebx
je 0x4ec04e
mov eax, dword [esp + 0x90]
xor edx, edx
div ebx
sub eax, dword [esp + 0xa4]
cmp edx, 8
jmp 0x4ebd20
mov ebx, dword [esp + 0x94]
test ebx, ebx
je 0x4ec04e
mov eax, dword [esp + 0x90]
xor edx, edx
div ebx
sub eax, dword [esp + 0xa4]
cmp edx, 4
jmp 0x4ebd20
mov ecx, dword [esp + 0xc0]
mov eax, dword [esp + 0xc4]
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x13c]
mov edi, dword [esp + 0x254]
movsd xmm0, qword [esp + 0x134]
cmp dword [esp + 0xe8], 0
mov dword [edi + 8], edx
mov edx, dword [esp + 0x1cc]
movsd qword [edi], xmm0
movsd xmm0, qword [esp + 0x1c4]
mov dword [edi + 0x14], edx
mov edx, dword [esp + 0x128]
movsd qword [edi + 0xc], xmm0
mov dword [edi + 0x24], edx
mov edx, dword [esp + 0xd0]
mov dword [edi + 0x28], edx
mov edx, dword [esp + 0x20]
mov dword [edi + 0x2c], edx
mov edx, dword [esp + 0x1c]
mov dword [edi + 0x30], edx
mov edx, dword [esp + 0x12c]
mov dword [edi + 0x34], edx
mov edx, dword [esp + 0x18]
mov dword [edi + 0x38], edx
mov dword [edi + 0x48], ecx
mov edx, dword [esp + 0x130]
mov ecx, dword [esp + 0xec]
mov dword [edi + 0x4c], eax
mov dword [edi + 0x50], esi
mov dword [edi + 0x18], edx
mov dword [edi + 0x1c], ecx
mov edx, dword [esp + 0xbc]
mov ecx, dword [esp + 0x204]
mov dword [edi + 0x20], edx
mov dword [edi + 0x3c], ebx
mov dword [edi + 0x40], ecx
mov dword [edi + 0x44], ebx
je 0x4ebfd2
push dword [esp + 0xcc]
push 0
push dword [0x5920d8]
call sub.KERNEL32.dll_HeapFree
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor ecx, ecx
xor edx, edx
push 0x5808c0
call fcn.004699c0
mov ecx, 1
mov edx, 1
push 0x5808d0
call fcn.004699c0
mov ecx, 2
mov edx, 2
push 0x5808e0
call fcn.004699c0
mov edx, dword [esp + 0x20]
push 0x5808a0
call fcn.004699c0
push 0x5808b0
call fcn.004699c0
push 0x5808f0
call fcn.004699c0
mov ecx, esi
push 0x580900
call fcn.004699c0
mov edx, dword [esp + 0x18]
mov ecx, eax
push 0x580910
call fcn.004699c0
mov ecx, str.attempt_to_divide_by_zeroBinaryDeserializeValidationdescription___is_deprecated__use_Display_
mov edx, 0x19
push 0x57f6e4
call fcn.0046b100
call fcn.00429f20
mov ecx, str.vertex_index_does_not_fit_in_16_bitsd
mov edx, 0x24
push 0x57f92c
push 0x57f7ac
lea eax, [esp + 0x1d8]
push eax
call fcn.0046f0c0
mov ecx, 0x57a784
mov edx, 0x57a80c
call fcn.004775c0
mov ecx, 4
mov edx, esi
call fcn.00429f60
mov ecx, str.mesh_has_no_indices
mov edx, 0x13
push 0x57f850
call fcn.0046f130
mov ecx, str.mesh_has_no_positions
mov edx, 0x15
push 0x57f808
call fcn.0046f130
mov ecx, str.mesh_has_no_normals
mov edx, 0x13
push 0x57f82c
call fcn.0046f130
mov ecx, str.called__Option::unwrap____on_a__None__value_home_rafalh_.cargo_registry_src_index.crates.io_6f17d22bba15001f_serde_json_1.0.81_src_read.rs
mov edx, 0x2b
push 0x57a6f4
call fcn.0046b100
mov ecx, str.assertion_failed:_vecs.len____norms.len__
mov edx, 0x2b
push 0x57f88c
call fcn.0046b100
mov ecx, 1
mov edx, esi
call fcn.00429f60
mov ecx, 2
mov edx, edi
call fcn.00429f60
mov ecx, str.mesh_has_no_weights
mov edx, 0x13
push 0x57f8b0
call fcn.0046f130
lea ecx, [esp + 0x140]
lea eax, [esp + 0x1d0]
mov dword [esp + 0x38], 0x57f8f0
mov dword [esp + 0x3c], 1
mov dword [esp + 0x48], 0
mov edx, 0x57f8f8
mov dword [esp + 0x1d0], edi
mov dword [esp + 0x40], ecx
lea ecx, [esp + 0x38]
mov dword [esp + 0x140], eax
mov dword [esp + 0x144], 0x469a20
mov dword [esp + 0x44], 1
call fcn.00469660
mov edx, dword [esp + 0x20]
mov ecx, 2
call fcn.00429f60
mov ecx, 0x5811c4
mov edx, 0x28
push 0x581258
call fcn.0046b100
mov ecx, 0x5811c4
mov edx, 0x28
push 0x581248
call fcn.0046b100
mov ecx, eax
push 0x57f5a8
call fcn.0046a750
mov edx, esi
push 0x57f5b8
call fcn.0046e9f0
mov ecx, esi
push 0x57f5b8
call fcn.0046a750
mov ecx, 0x5811c4
mov edx, 0x28
push 0x581290
call fcn.0046b100
mov edx, eax
push 0x57f5c8
call fcn.0046e9f0
mov ecx, eax
push 0x57f5c8
call fcn.0046a750
mov ecx, dword [esp + 0xe8]
mov edx, eax
push 0x57f5a8
call fcn.0046e9f0
mov ecx, 0x5811c4
mov edx, 0x28
push 0x57a098
call fcn.0046b100
mov edx, edi
push 0x57f598
call fcn.0046e9f0
mov ecx, edi
push 0x57f598
call fcn.0046a750
mov ecx, 0x5811c4
mov edx, 0x28
push 0x581274
call fcn.0046b100
mov ecx, esi
mov edx, ebx
push 0x57f5c8
call fcn.0046e9f0
mov ecx, ebx
push 0x57f5c8
call fcn.0046a750
mov edx, eax
push 0x57f598
call fcn.0046e9f0
mov ecx, eax
push 0x57f598
call fcn.0046a750
nop word [eax + eax]