Function at 0x4e8c40
Capabilities:
Read file on windows
Resolve function by parsing pe exports

Disassembly:
push esi
mov esi, ecx
push edi
or ecx, 0xffffffff
lea edi, [esi + 4]
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, ecx
mov ecx, esi
call fcn.004ea650
push 3
lea eax, [edi + esi + 1]
push 0x5c9ef4
push eax
call fcn.00514dc0
add esp, 0xc
mov ecx, esi
test eax, eax
pop edi
jne 0x4e8c82
mov dword [esi + 0x44], 1
pop esi
jmp 0x4ea7f0
pop esi
jmp 0x4e90a0
push 0xffffffffffffffff
push 0x5a30ee
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xb94
push ebx
push ebp
push esi
push 0x18
mov ebx, ecx
call fcn.00508b18
add esp, 4
mov dword [esp + 0x40], eax
xor esi, esi
cmp eax, esi
mov dword [esp + 0xba8], esi
je 0x4e90ea
lea ecx, [ebx + 4]
push ecx
mov ecx, eax
call fcn.0049fe50
mov ebp, eax
jmp 0x4e90ec
xor ebp, ebp
mov eax, dword [ebp]
mov dword [esp + 0xba8], 0xffffffff
cmp eax, 0xffffffff
mov ecx, ebp
je 0x4ea1cd
mov dword [esp + 0x30], esi
mov dword [esp + 0x70], 0
mov dword [ebx + 0x64], esi
mov dword [ebx + 0x6c], esi
mov dword [ebx + 0x80], esi
call fcn.0049ff70
test eax, eax
jle 0x4ea1cb
push edi
push 1
mov ecx, ebp
call fcn.0049fff0
lea edx, [esp + 0x54]
push 2
push edx
mov ecx, ebp
call fcn.004a0220
push 9
lea eax, [esp + 0x58]
push str.BeginBase
push eax
call fcn.00514dc0
add esp, 0xc
test eax, eax
jne 0x4e91b9
mov ecx, ebp
call fcn.004a0050
lea ecx, [ebx + 0x70]
push 2
push ecx
mov ecx, ebp
call fcn.004a00e0
lea edx, [ebx + 0x54]
push 2
push edx
mov ecx, ebp
call fcn.004a0220
lea eax, [esp + 0x78]
push 2
push eax
mov ecx, ebp
call fcn.004a00e0
lea ecx, [esp + 0x54]
push 2
push ecx
mov ecx, ebp
call fcn.004a0220
lea edx, [esp + 0x74]
push 0
push edx
mov ecx, ebp
call fcn.004a0180
push 0x40800000
mov ecx, ebx
call fcn.004e8c90
mov dword [ebx + 0x7c], eax
jmp 0x4ea1bb
push 0xb
lea eax, [esp + 0x58]
push str.BeginObject
push eax
call fcn.00514dc0
add esp, 0xc
test eax, eax
jne 0x4e9b17
lea ecx, [esp + 0x20]
push 2
xor esi, esi
push ecx
mov ecx, ebp
mov dword [esp + 0x38], esi
mov dword [esp + 0x2c], esi
call fcn.004a00e0
mov edx, dword [esp + 0x20]
push esi
dec edx
mov ecx, ebp
mov dword [esp + 0x24], edx
lea edx, [esp + 0xe4]
push edx
call fcn.004a0220
lea eax, [esp + 0x54]
push 2
push eax
mov ecx, ebp
call fcn.004a0220
push 5
lea ecx, [esp + 0x58]
push str.Morph
push ecx
call fcn.00514dc0
mov edi, eax
mov eax, dword [esp + 0x2c]
add esp, 0xc
neg edi
sbb edi, edi
inc edi
mov dword [esp + 0x38], edi
je 0x4e9247
mov dl, byte [ebx + 0x6c]
mov byte [esp + eax*2 + 0x7c], 1
mov byte [esp + eax*2 + 0x7d], dl
jmp 0x4e9253
mov cl, byte [ebx + 0x64]
mov byte [esp + eax*2 + 0x7c], 0
mov byte [esp + eax*2 + 0x7d], cl
mov eax, dword [esp + 0x34]
push 5
lea edx, [esp + 0x58]
inc eax
push str.Dummy
push edx
mov dword [esp + 0x40], eax
call fcn.00514dc0
add esp, 0xc
mov ecx, ebp
test eax, eax
jne 0x4e9299
push esi
call fcn.0049fff0
push 0x40800000
push 0x40800000
push 0x40800000
mov ecx, ebx
call fcn.004e8ee0
mov esi, eax
jmp 0x4e9917
call fcn.004a0050
lea eax, [esp + 0x18]
push 2
push eax
mov ecx, ebp
call fcn.004a00e0
mov ecx, ebp
call fcn.004a0050
lea ecx, [esp + 0x1c]
push esi
push ecx
mov ecx, ebp
call fcn.004a00e0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x10], esi
cmp eax, esi
jle 0x4e962c
mov ecx, ebp
call fcn.004a0050
mov ecx, ebp
call fcn.004a0050
mov eax, dword [esp + 0x10]
push 2
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
lea ecx, [esp + eax*8 + 0x158]
push ecx
mov ecx, ebp
call fcn.004a0220
lea edx, [esp + 0x14]
push 2
push edx
mov ecx, ebp
call fcn.004a00e0
mov eax, dword [esp + 0x10]
push 2
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
mov al, byte [esp + 0x18]
lea ecx, [esp + 0x18]
push ecx
mov ecx, ebp
mov byte [esp + edx*8 + 0x16c], al
call fcn.004a00e0
mov eax, dword [esp + 0x10]
mov cl, byte [esp + 0x14]
push 2
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
lea edx, [esp + 0x18]
push edx
mov byte [esp + eax*8 + 0x16d], cl
mov ecx, ebp
call fcn.004a00e0
mov eax, dword [esp + 0x10]
mov dl, byte [esp + 0x14]
lea ecx, [eax + eax*4]
lea eax, [eax + ecx*2]
shl eax, 3
mov byte [esp + eax + 0x166], dl
mov al, byte [esp + eax + 0x154]
cmp al, 0x6b
je 0x4e9378
cmp al, 0x4b
je 0x4e9378
xor esi, esi
jmp 0x4e937d
mov esi, 1
lea eax, [esp + 0x14]
push 2
push eax
mov ecx, ebp
call fcn.004a00e0
mov eax, dword [esp + 0x10]
xor edi, edi
push edi
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
mov al, byte [esp + 0x18]
lea ecx, [esp + 0x18]
push ecx
mov ecx, ebp
mov byte [esp + edx*8 + 0x171], al
call fcn.004a00e0
mov eax, dword [esp + 0x10]
mov cl, byte [esp + 0x14]
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
shl eax, 3
cmp esi, edi
mov byte [esp + eax + 0x16a], cl
je 0x4e93e0
cmp dword [esp + eax + 0x164], 0xff0000
jne 0x4e93e0
mov dword [esp + 0x24], 1
mov ecx, dword [esp + 0x1c]
cmp ecx, edi
mov byte [esp + eax + 0x168], cl
je 0x4e94b5
mov ecx, ebp
call fcn.004a0050
mov eax, dword [esp + 0x10]
push edi
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
lea ecx, [esp + eax*8 + 0x170]
push ecx
mov ecx, ebp
call fcn.004a0180
mov ecx, ebp
call fcn.004a0050
mov eax, dword [esp + 0x10]
push edi
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
lea ecx, [esp + eax*8 + 0x174]
push ecx
mov ecx, ebp
call fcn.004a0180
mov ecx, ebp
call fcn.004a0050
mov eax, dword [esp + 0x10]
push 2
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
lea ecx, [esp + eax*8 + 0x178]
push ecx
mov ecx, ebp
call fcn.004a0180
mov eax, dword [esp + 0x10]
push edi
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
lea ecx, [esp + eax*8 + 0x17c]
push ecx
mov ecx, ebp
call fcn.004a00e0
mov ecx, ebp
call fcn.004a0050
mov eax, dword [esp + 0x10]
push edi
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
lea ecx, [esp + eax*8 + 0x180]
push ecx
mov ecx, ebp
call fcn.004a0180
mov ecx, ebp
call fcn.004a0050
mov eax, dword [esp + 0x10]
push edi
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
lea ecx, [esp + eax*8 + 0x184]
push ecx
mov ecx, ebp
call fcn.004a00e0
jmp 0x4e94ef
mov dword [esp + eax + 0x16c], 0x3e800000
mov dword [esp + eax + 0x170], 0x3d4ccccd
mov dword [esp + eax + 0x174], 0x3f800000
mov dword [esp + eax + 0x178], 2
mov dword [esp + eax + 0x17c], edi
mov dword [esp + eax + 0x180], edi
mov ecx, ebp
call fcn.004a0050
mov eax, dword [esp + 0x10]
push 3
push edi
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
lea ecx, [esp + eax*8 + 0x18c]
push ecx
mov ecx, ebp
call fcn.004a01b0
mov ecx, ebp
call fcn.004a0050
mov eax, dword [esp + 0x10]
push 3
push edi
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
lea ecx, [esp + eax*8 + 0x198]
push ecx
mov ecx, ebp
call fcn.004a01b0
mov ecx, ebp
call fcn.004a0050
mov eax, dword [esp + 0x10]
push 3
push edi
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
lea ecx, [esp + eax*8 + 0x1a4]
push ecx
mov ecx, ebp
call fcn.004a01b0
mov eax, dword [ebx]
cmp eax, edi
mov eax, dword [esp + 0x10]
je 0x4e957d
lea edx, [eax + eax*4]
lea ecx, [eax + edx*2]
fld dword [esp + ecx*8 + 0x17c]
fst dword [esp + 0x50]
fst dword [esp + 0x4c]
fstp dword [esp + 0x48]
jmp 0x4e9595
mov dword [esp + 0x50], 0x3f800000
mov dword [esp + 0x4c], 0x3f800000
mov dword [esp + 0x48], 0x3f800000
lea edx, [eax + eax*4]
mov ecx, 0x3f800000
lea eax, [eax + edx*2]
shl eax, 3
lea edi, [esp + eax + 0x184]
mov dword [esp + eax + 0x18c], ecx
mov dword [esp + eax + 0x188], ecx
mov dword [edi], ecx
mov cl, byte [esp + eax + 0x166]
mov dl, byte [esp + eax + 0x165]
push ecx
mov cl, byte [esp + eax + 0x168]
push edx
movsx edx, byte [esp + eax + 0x171]
push ecx
push esi
push edx
mov edx, dword [esp + eax + 0x180]
lea ecx, [esp + eax + 0x168]
push ecx
push edx
lea ecx, [esp + 0x64]
lea edx, [esp + eax + 0x1b8]
push ecx
lea eax, [esp + eax + 0x1b0]
push edx
push eax
push edi
call fcn.0040ed80
mov ecx, dword [esp + 0x3c]
add esp, 0x2c
lea edx, [ecx + ecx*4]
lea edx, [ecx + edx*2]
inc ecx
mov dword [esp + 0x10], ecx
mov dword [esp + edx*8 + 0x1a8], eax
mov eax, dword [esp + 0x18]
cmp ecx, eax
jl 0x4e92d0
mov ecx, ebp
call fcn.004a0050
lea eax, [esp + 0x2c]
push 2
push eax
mov ecx, ebp
call fcn.004a00e0
lea ecx, [esp + 0x54]
push 2
push ecx
mov ecx, ebp
call fcn.004a0220
lea edx, [esp + 0x40]
push 2
push edx
mov ecx, ebp
call fcn.004a00e0
lea eax, [esp + 0x30]
push 2
push eax
mov ecx, ebp
call fcn.004a00e0
mov eax, dword [esp + 0x30]
test eax, eax
je 0x4e96cc
mov eax, dword [ebx + 0x80]
test al, 3
jne 0x4e96ab
mov edx, dword [ebx + 0x84]
lea ecx, [eax + eax*2 + 0xc]
shl ecx, 2
push ecx
push edx
call fcn.00509987
add esp, 8
mov dword [ebx + 0x84], eax
test eax, eax
jne 0x4e96ab
push str.moveUV_alloc_error_
call fcn.004e84f0
add esp, 4
mov eax, dword [ebx + 0x80]
mov ecx, dword [ebx + 0x84]
push 2
push 0
lea eax, [eax + eax*2]
lea edx, [ecx + eax*4 + 4]
mov ecx, ebp
push edx
call fcn.004a01b0
jmp 0x4e96d5
push 0
mov ecx, ebp
call fcn.0049fff0
mov eax, dword [esp + 0x2c]
shl eax, 5
push eax
call fcn.005095d5
mov ecx, dword [esp + 0x30]
mov esi, eax
xor edi, edi
add esp, 4
xor eax, eax
cmp ecx, edi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x1c], eax
jle 0x4e977a
shl eax, 3
push 3
push 2
lea ecx, [esi + eax*4]
mov dword [esp + 0x18], eax
push ecx
mov ecx, ebp
call fcn.004a01b0
cmp byte [esp + 0x54], 0x54
jne 0x4e972c
mov edx, dword [esp + 0x10]
push 2
push 2
mov ecx, ebp
lea eax, [esi + edx*4 + 0x18]
push eax
call fcn.004a01b0
cmp dword [esp + 0x40], edi
je 0x4e9748
mov ecx, dword [esp + 0x10]
push 3
push 2
lea edx, [esi + ecx*4 + 0xc]
mov ecx, ebp
push edx
call fcn.004a01b0
jmp 0x4e9760
mov eax, dword [esp + 0x10]
mov dword [esi + eax*4 + 0x14], edi
mov ecx, dword [esp + 0x10]
mov dword [esi + ecx*4 + 0x10], edi
mov edx, dword [esp + 0x10]
mov dword [esi + edx*4 + 0xc], edi
push 1
mov ecx, ebp
call fcn.0049fff0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
inc eax
cmp eax, ecx
mov dword [esp + 0x1c], eax
jl 0x4e96fb
mov ecx, ebp
call fcn.004a0050
lea eax, [esp + 0x28]
push 0
push eax
mov ecx, ebp
call fcn.004a00e0
mov eax, dword [esp + 0x28]
lea ecx, [eax + eax*2]
shl ecx, 3
push ecx
call fcn.005095d5
mov ecx, dword [esp + 0x2c]
mov edi, eax
add esp, 4
xor eax, eax
test ecx, ecx
mov dword [esp + 0x1c], eax
jle 0x4e9845
lea edx, [eax + eax*2]
mov ecx, ebp
add edx, edx
mov dword [esp + 0x10], edx
call fcn.004a0050
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x18]
push 2
push ecx
mov ecx, ebp
mov dword [edi + eax*4], 1
call fcn.004a00e0
mov eax, dword [esp + 0x18]
cmp eax, 0xffffffff
jne 0x4e97ee
xor eax, eax
mov dword [esp + 0x18], eax
lea edx, [eax + eax*4]
push 3
push 0
lea eax, [eax + edx*2]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + eax*8 + 0x1b0]
mov dword [edi + edx*4 + 4], ecx
mov eax, dword [esp + 0x20]
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + edx*8 + 0x188]
mov dword [edi + ecx*4 + 8], eax
mov edx, dword [esp + 0x18]
mov ecx, ebp
lea eax, [edi + edx*4 + 0xc]
push eax
call fcn.004a0110
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
inc eax
cmp eax, ecx
mov dword [esp + 0x1c], eax
jl 0x4e97b6
push 6
call fcn.004059e0
mov eax, dword [esp + 0x44]
add esp, 4
test eax, eax
je 0x4e9863
push 1
push 0
call fcn.00406520
add esp, 8
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
push 1
push eax
lea ecx, [eax + eax*2]
add ecx, ecx
push ecx
push edi
push edx
push esi
push 0
call fcn.0040c900
mov eax, dword [esp + 0x4c]
add esp, 0x1c
test eax, eax
jne 0x4e9897
push 2
push 0xa
push 0
call fcn.004054e0
add esp, 0xc
push 0
call fcn.00405df0
mov esi, eax
mov eax, dword [esp + 0x1c]
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
mov eax, dword [esp + edx*8 + 0x178]
push eax
push esi
call fcn.00405660
mov eax, dword [ebx]
add esp, 0xc
test eax, eax
je 0x4e98db
mov eax, dword [esp + 0x18]
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
mov ecx, ebx
mov eax, dword [esp + edx*8 + 0x178]
push eax
push esi
call fcn.004ebb30
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4e98f0
push 0
push 3
push esi
call fcn.004054e0
add esp, 0xc
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.005089dd
push edi
call fcn.005089dd
push 1
push esi
call fcn.004065c0
push 2
push esi
call fcn.004065c0
mov edi, dword [esp + 0x50]
add esp, 0x18
test edi, edi
je 0x4e9a6a
mov eax, dword [ebx + 0x6c]
test al, 3
jne 0x4e9952
mov ecx, dword [ebx + 0x4c]
lea edx, [eax + eax*4 + 0x14]
lea eax, [eax + edx*2 + 4]
shl eax, 2
push eax
push ecx
call fcn.00509987
add esp, 8
mov dword [ebx + 0x4c], eax
test eax, eax
jne 0x4e9952
push str._VApart_memory_alloc_error_
call fcn.004e84f0
add esp, 4
mov eax, dword [ebx + 0x6c]
mov ecx, dword [ebx + 0x4c]
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
lea edx, [ecx + eax*4]
lea ecx, [esp + 0xe0]
mov dword [esp + 0x24], edx
lea eax, [esp + 0xe0]
sub edx, ecx
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4e9975
mov edi, dword [esp + 0x24]
mov dword [edi + 0x10], esi
mov edx, dword [ebx + 0x70]
mov dword [edi + 0x14], edx
mov eax, dword [ebx + 0x70]
shl eax, 2
push eax
call fcn.005095d5
lea ecx, [esp + 0x2c]
lea edx, [esp + 0x30]
push ecx
push 0
push edx
push esi
mov dword [edi + 0x28], eax
call fcn.0040bb20
mov esi, eax
mov eax, dword [esp + 0x3c]
imul eax, dword [esp + 0x40]
shl eax, 2
push eax
mov dword [esp + 0x28], eax
call fcn.005095d5
mov ecx, dword [edi + 0x28]
mov dword [ecx], eax
mov ecx, dword [esp + 0x28]
mov edx, dword [edi + 0x28]
mov eax, ecx
shr ecx, 2
mov edi, dword [edx]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx + 0x70]
shl ecx, 2
push ecx
call fcn.005095d5
mov edx, dword [esp + 0x40]
add esp, 0x1c
mov dword [edx + 0x24], eax
mov ecx, dword [ebx + 0x70]
xor eax, eax
test ecx, ecx
mov dword [esp + 0x1c], eax
jle 0x4e9a20
mov ecx, edx
fild dword [esp + 0x1c]
mov edx, dword [ecx + 0x24]
fstp dword [edx + eax*4]
mov eax, dword [esp + 0x1c]
mov edx, dword [ebx + 0x70]
inc eax
cmp eax, edx
mov dword [esp + 0x1c], eax
jl 0x4e9a06
mov eax, dword [esp + 0x30]
test eax, eax
je 0x4e9a62
mov eax, dword [ebx + 0x80]
mov ecx, dword [ebx + 0x84]
lea eax, [eax + eax*2]
mov word [ecx + eax*4], 1
mov eax, dword [ebx + 0x80]
mov cx, word [ebx + 0x6c]
lea edx, [eax + eax*2]
mov eax, dword [ebx + 0x84]
mov word [eax + edx*4 + 2], cx
mov eax, dword [ebx + 0x80]
inc eax
mov dword [ebx + 0x80], eax
inc dword [ebx + 0x6c]
jmp 0x4ea1bb
mov eax, dword [ebx + 0x64]
test al, 3
jne 0x4e9a9d
mov ecx, dword [ebx + 0x48]
lea edx, [eax + eax*4 + 0x14]
lea eax, [eax + edx*2 + 4]
shl eax, 2
push eax
push ecx
call fcn.00509987
add esp, 8
mov dword [ebx + 0x48], eax
test eax, eax
jne 0x4e9a9d
push str._Spart_memory_alloc_error_
call fcn.004e84f0
add esp, 4
mov eax, dword [ebx + 0x64]
lea ecx, [esp + 0xe0]
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
mov edx, dword [ebx + 0x48]
lea edx, [edx + eax*4]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x4e9ab3
mov eax, dword [ebx + 0x64]
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
mov eax, dword [ebx + 0x48]
mov dword [eax + edx*4 + 0x10], esi
mov eax, dword [esp + 0x30]
test eax, eax
je 0x4e9b0f
mov eax, dword [ebx + 0x80]
mov edx, dword [ebx + 0x84]
lea ecx, [eax + eax*2]
mov word [edx + ecx*4], 0
mov eax, dword [ebx + 0x80]
mov ecx, dword [ebx + 0x84]
mov dx, word [ebx + 0x64]
lea eax, [eax + eax*2]
mov word [ecx + eax*4 + 2], dx
mov eax, dword [ebx + 0x80]
inc eax
mov dword [ebx + 0x80], eax
inc dword [ebx + 0x64]
jmp 0x4ea1bb
push 0x11
lea eax, [esp + 0x58]
push str.BeginRelationship
push eax
call fcn.00514dc0
add esp, 0xc
test eax, eax
jne 0x4e9d26
xor esi, esi
lea ecx, [esp + 0x1c]
push esi
push ecx
mov ecx, ebp
call fcn.004a00e0
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x10], esi
cmp eax, esi
jle 0x4e9b7f
mov ecx, ebp
call fcn.004a0050
lea edx, [esp + 0x18]
push esi
push edx
mov ecx, ebp
call fcn.004a00e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x18], esi
mov byte [esp + eax + 0x120], 0
inc eax
cmp eax, ecx
mov dword [esp + 0x10], eax
jl 0x4e9b4e
mov ecx, dword [esp + 0x34]
xor eax, eax
cmp ecx, esi
mov dword [esp + 0x14], eax
jle 0x4ea1bb
xor edi, edi
xor ecx, ecx
mov cl, byte [esp + eax + 0x120]
mov esi, ecx
mov cl, byte [esp + eax*2 + 0x7c]
test cl, cl
mov dword [esp + 0x18], esi
je 0x4e9c5a
cmp esi, edi
jne 0x4e9be7
xor edx, edx
mov dl, byte [esp + eax*2 + 0x7d]
mov eax, edx
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
mov eax, dword [ebx + 0x4c]
mov dword [eax + edx*4 + 0x1c], 1
mov ecx, dword [esp + 0x14]
xor eax, eax
mov al, byte [esp + ecx*2 + 0x7d]
mov ecx, dword [ebx + 0x4c]
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
mov edx, dword [ebx + 0x7c]
mov dword [ecx + eax*4 + 0x18], edx
jmp 0x4e9c37
mov dl, byte [esp + esi*2 + 0x7a]
xor ecx, ecx
mov cl, byte [esp + esi*2 + 0x7b]
test dl, dl
lea edx, [ecx + ecx*4]
mov dword [esp + 0x10], ecx
lea ecx, [ecx + edx*2]
je 0x4e9c04
mov edx, dword [ebx + 0x4c]
jmp 0x4e9c07
mov edx, dword [ebx + 0x48]
mov esi, dword [edx + ecx*4 + 0x10]
xor ecx, ecx
mov cl, byte [esp + eax*2 + 0x7d]
mov eax, ecx
mov ecx, dword [ebx + 0x4c]
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
mov dword [ecx + eax*4 + 0x18], esi
mov edx, dword [esp + 0x14]
xor eax, eax
mov al, byte [esp + edx*2 + 0x7d]
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
mov eax, dword [ebx + 0x4c]
mov dword [eax + edx*4 + 0x1c], edi
mov ecx, dword [esp + 0x14]
xor eax, eax
mov al, byte [esp + ecx*2 + 0x7d]
mov ecx, dword [ebx + 0x4c]
mov dword [esp + 0x18], eax
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
mov edx, dword [ecx + eax*4 + 0x18]
lea eax, [ecx + eax*4]
jmp 0x4e9cff
xor ecx, ecx
cmp esi, edi
jne 0x4e9c93
mov cl, byte [esp + eax*2 + 0x7d]
mov eax, ecx
mov ecx, dword [ebx + 0x48]
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
mov dword [ecx + eax*4 + 0x24], 1
mov edx, dword [esp + 0x14]
xor eax, eax
mov al, byte [esp + edx*2 + 0x7d]
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
mov eax, dword [ebx + 0x48]
mov ecx, dword [ebx + 0x7c]
mov dword [eax + edx*4 + 0x20], ecx
jmp 0x4e9ce1
mov cl, byte [esp + esi*2 + 0x7b]
mov dl, byte [esp + esi*2 + 0x7a]
test dl, dl
lea edx, [ecx + ecx*4]
mov dword [esp + 0x10], ecx
lea ecx, [ecx + edx*2]
je 0x4e9cae
mov edx, dword [ebx + 0x4c]
jmp 0x4e9cb1
mov edx, dword [ebx + 0x48]
mov esi, dword [edx + ecx*4 + 0x10]
xor ecx, ecx
mov cl, byte [esp + eax*2 + 0x7d]
mov eax, ecx
mov ecx, dword [ebx + 0x48]
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
mov dword [ecx + eax*4 + 0x20], esi
mov edx, dword [esp + 0x14]
xor eax, eax
mov al, byte [esp + edx*2 + 0x7d]
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
mov eax, dword [ebx + 0x48]
mov dword [eax + edx*4 + 0x24], edi
mov ecx, dword [esp + 0x14]
xor eax, eax
mov al, byte [esp + ecx*2 + 0x7d]
mov ecx, dword [ebx + 0x48]
mov dword [esp + 0x18], eax
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
mov edx, dword [ecx + eax*4 + 0x20]
lea eax, [ecx + eax*4]
mov eax, dword [eax + 0x10]
push edx
push eax
call fcn.0040b100
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x3c]
add esp, 8
inc eax
cmp eax, ecx
mov dword [esp + 0x14], eax
jl 0x4e9b93
jmp 0x4ea1bb
push 9
lea ecx, [esp + 0x58]
push str.BeginPose
push ecx
call fcn.00514dc0
add esp, 0xc
test eax, eax
jne 0x4e9e22
lea edi, [ebx + 0x68]
push eax
push edi
mov ecx, ebp
call fcn.004a00e0
mov eax, dword [edi]
lea edx, [eax + eax*2]
shl edx, 3
push edx
call fcn.005095d5
mov dword [ebx + 0x50], eax
mov eax, dword [edi]
add esp, 4
mov dword [esp + 0x10], 0
test eax, eax
jle 0x4ea1bb
mov ecx, ebp
call fcn.004a0050
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 0x50]
push 2
lea eax, [eax + eax*2]
lea edx, [ecx + eax*8 + 4]
mov ecx, ebp
push edx
call fcn.004a00e0
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 0x50]
push 2
lea eax, [eax + eax*2]
lea edx, [ecx + eax*8 + 8]
mov ecx, ebp
push edx
call fcn.004a00e0
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 0x50]
push 2
lea eax, [eax + eax*2]
lea edx, [ecx + eax*8 + 0xc]
mov ecx, ebp
push edx
call fcn.004a00e0
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 0x50]
push 2
lea eax, [eax + eax*2]
lea edx, [ecx + eax*8 + 0x10]
mov ecx, ebp
push edx
call fcn.004a00e0
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 0x50]
push 0
lea eax, [eax + eax*2]
lea edx, [ecx + eax*8 + 0x14]
mov ecx, ebp
push edx
call fcn.004a00e0
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 0x50]
lea eax, [eax + eax*2]
mov edx, dword [ecx + eax*8 + 8]
lea eax, [ecx + eax*8]
sub edx, dword [eax + 4]
inc edx
mov dword [eax], edx
mov eax, dword [esp + 0x10]
mov ecx, dword [edi]
inc eax
cmp eax, ecx
mov dword [esp + 0x10], eax
jl 0x4e9d74
jmp 0x4ea1bb
push 9
lea eax, [esp + 0x58]
push str.BeginMove
push eax
call fcn.00514dc0
add esp, 0xc
test eax, eax
jne 0x4e9ea5
mov eax, dword [ebx + 0x70]
mov dword [esp + 0x18], eax
lea ecx, [eax + eax*2]
shl ecx, 2
push ecx
call fcn.005095d5
add esp, 4
mov ecx, ebp
mov dword [ebx + 0x74], eax
mov edi, eax
push 0
call fcn.0049fff0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1c], 0
test eax, eax
jle 0x4ea1bb
lea edx, [esp + 0x10]
push 2
push edx
mov ecx, ebp
call fcn.004a00e0
push 3
push 0
push edi
mov ecx, ebp
call fcn.004a01b0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
add edi, 0xc
inc eax
cmp eax, ecx
mov dword [esp + 0x1c], eax
jl 0x4e9e72
jmp 0x4ea1bb
push 0xa
lea eax, [esp + 0x58]
push str.BeginFrame
push eax
call fcn.00514dc0
add esp, 0xc
test eax, eax
jne 0x4e9f9e
lea ecx, [esp + 0x20]
push 2
push ecx
mov ecx, ebp
call fcn.004a00e0
mov eax, dword [esp + 0x20]
xor edx, edx
dec eax
push 3
mov dword [esp + 0x24], eax
push 2
mov dl, byte [esp + eax*2 + 0x85]
mov eax, edx
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
mov eax, dword [ebx + 0x48]
lea edi, [eax + edx*4]
lea ecx, [edi + 0x14]
push ecx
mov ecx, ebp
call fcn.004a01b0
lea esi, [edi + 0x24]
push 2
push esi
mov ecx, ebp
call fcn.004a00e0
lea edx, [esp + 0x44]
push 0
push edx
mov ecx, ebp
call fcn.004a00e0
mov eax, dword [esp + 0x44]
mov dword [esp + 0x18], 0xc
test eax, eax
je 0x4e9f2f
mov eax, dword [esi]
or al, 0x80
mov dword [esi], eax
mov eax, dword [ebx + 0x70]
imul eax, dword [esp + 0x18]
shl eax, 2
push eax
call fcn.005095d5
mov dword [edi + 0x28], eax
mov ecx, dword [ebx + 0x70]
xor eax, eax
add esp, 4
cmp ecx, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], eax
jle 0x4ea1bb
mov ecx, ebp
call fcn.004a0050
mov ecx, dword [esp + 0x18]
mov edx, dword [edi + 0x28]
mov eax, dword [esp + 0x10]
push ecx
push 0
lea ecx, [edx + eax*4]
push ecx
mov ecx, ebp
call fcn.004a01b0
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov ecx, dword [ebx + 0x70]
inc eax
add esi, edx
cmp eax, ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], esi
jl 0x4e9f5b
jmp 0x4ea1bb
push 0xe
lea eax, [esp + 0x58]
push str.BeginMorphdata
push eax
call fcn.00514dc0
add esp, 0xc
test eax, eax
jne 0x4ea1b2
lea ecx, [esp + 0x20]
push 2
push ecx
mov ecx, ebp
call fcn.004a00e0
mov eax, dword [esp + 0x20]
xor edx, edx
dec eax
push 0
mov dword [esp + 0x24], eax
mov dl, byte [esp + eax*2 + 0x81]
mov eax, edx
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
mov eax, dword [ebx + 0x4c]
mov ecx, ebp
lea edi, [eax + edx*4]
lea esi, [edi + 0x14]
push esi
call fcn.004a00e0
lea ecx, [esp + 0x54]
push 2
push ecx
mov ecx, ebp
call fcn.004a0220
push 0xb
lea edx, [esp + 0x58]
push str.FrameWeight
push edx
call fcn.00514dc0
add esp, 0xc
test eax, eax
jne 0x4ea03b
push eax
mov ecx, ebp
call fcn.0049fff0
mov eax, dword [ebx + 0x70]
mov ecx, dword [edi + 0x24]
push eax
push 2
push ecx
mov ecx, ebp
call fcn.004a01b0
mov ecx, ebp
call fcn.004a0050
lea edx, [esp + 0x18]
push 2
push edx
mov ecx, ebp
call fcn.004a00e0
lea eax, [esp + 0x54]
push 0
push eax
mov ecx, ebp
call fcn.004a0220
mov dl, byte [esp + 0x54]
xor ecx, ecx
cmp dl, 0x54
mov edx, dword [edi + 0x10]
mov dword [esp + 0x1c], 1
mov eax, dword [esi]
sete cl
cmp eax, 1
mov dword [esp + 0x38], ecx
mov dword [esp + 0x24], edx
jle 0x4ea1bb
mov eax, dword [esp + 0x18]
shl eax, 5
push eax
call fcn.005095d5
mov ecx, dword [edi + 0x28]
mov edx, dword [esp + 0x20]
add esp, 4
mov esi, eax
mov dword [ecx + edx*4], esi
mov ecx, ebp
push 0
call fcn.0049fff0
mov ecx, dword [esp + 0x18]
xor eax, eax
test ecx, ecx
mov dword [esp + 0x10], eax
jle 0x4ea15f
shl eax, 3
mov dword [esp + 0x14], eax
push 3
lea eax, [esi + eax*4]
push 2
push eax
mov ecx, ebp
call fcn.004a01b0
mov ecx, dword [edi + 0x28]
mov eax, dword [esp + 0x14]
mov edx, dword [ecx]
mov ecx, dword [edx + eax*4 + 0xc]
mov dword [esi + eax*4 + 0xc], ecx
mov edx, dword [edi + 0x28]
mov eax, dword [esp + 0x14]
mov ecx, dword [edx]
mov edx, dword [ecx + eax*4 + 0x10]
mov dword [esi + eax*4 + 0x10], edx
mov ecx, dword [edi + 0x28]
mov eax, dword [esp + 0x14]
mov edx, dword [ecx]
mov ecx, dword [edx + eax*4 + 0x14]
mov dword [esi + eax*4 + 0x14], ecx
mov eax, dword [esp + 0x38]
test eax, eax
je 0x4ea11f
mov edx, dword [esp + 0x14]
push 2
push 2
mov ecx, ebp
lea eax, [esi + edx*4 + 0x18]
push eax
call fcn.004a01b0
jmp 0x4ea141
mov ecx, dword [edi + 0x28]
mov eax, dword [esp + 0x14]
mov edx, dword [ecx]
mov ecx, dword [edx + eax*4 + 0x18]
mov dword [esi + eax*4 + 0x18], ecx
mov edx, dword [edi + 0x28]
mov eax, dword [esp + 0x14]
mov ecx, dword [edx]
mov edx, dword [ecx + eax*4 + 0x1c]
mov dword [esi + eax*4 + 0x1c], edx
push 1
mov ecx, ebp
call fcn.0049fff0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
inc eax
cmp eax, ecx
mov dword [esp + 0x10], eax
jl 0x4ea0b8
mov eax, dword [esp + 0x24]
push 0
push 0
push 0
push eax
call fcn.0040bb20
push esi
mov esi, dword [esp + 0x38]
push esi
mov dword [esp + 0x54], eax
call fcn.0040bb90
push 1
push esi
call fcn.004065c0
push 2
push esi
call fcn.004065c0
mov ecx, dword [esp + 0x64]
push ecx
push esi
call fcn.0040bb90
mov eax, dword [esp + 0x4c]
add esp, 0x30
inc eax
mov dword [esp + 0x1c], eax
mov ecx, dword [edi + 0x14]
cmp eax, ecx
jl 0x4ea081
jmp 0x4ea1bb
push 0
mov ecx, ebp
call fcn.0049fff0
mov ecx, ebp
call fcn.0049ff70
test eax, eax
jg 0x4e912b
pop edi
mov ecx, ebp
call fcn.0049fea0
push ebp
call fcn.00507830
mov ecx, dword [esp + 0xba4]
add esp, 4
mov dword fs:[0], ecx
pop esi
pop ebp
pop ebx
add esp, 0xba0
ret
sub esp, 0xa0
push ebp
mov ebp, ecx
push esi
push edi
lea esi, [ebp + 4]
push 0x8000
push esi
call fcn.0050be71
mov edi, eax
add esp, 8
cmp edi, 0xffffffff
mov dword [esp + 0x1c], edi
jne 0x4ea82f
push esi
push str.file__s_open_error
call fcn.004e84f0
add esp, 8
pop edi
pop esi
pop ebp
add esp, 0xa0
ret
lea eax, [esp + 0x54]
push 0x58
push eax
push edi
call fcn.0050b977
mov ecx, ebp
lea edx, [esp + 0x78]
add esp, 0xc
sub ecx, edx
lea eax, [esp + 0x6c]
lea edx, [ecx + 0x54]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4ea84e
movsx eax, word [esp + 0x8e]
movsx ecx, word [esp + 0x88]
movsx edx, word [esp + 0x8a]
mov esi, dword [esp + 0x98]
mov dword [ebp + 0x70], eax
movsx eax, word [esp + 0x8c]
push ebx
mov ebx, dword [esp + 0x98]
mov dword [ebp + 0x68], ecx
mov dword [ebp + 0x64], edx
movsx ecx, word [esp + 0x94]
mov dx, word [esp + 0x88]
mov dword [ebp + 0x6c], eax
mov ax, word [esp + 0x8a]
sub esi, ebx
push esi
mov dword [ebp + 0x80], ecx
mov word [ebp + 0x88], dx
mov word [ebp + 0x8a], ax
call fcn.005095d5
push esi
push eax
push edi
mov dword [ebp + 0x50], eax
call fcn.0050b977
mov esi, dword [esp + 0xb0]
mov eax, dword [esp + 0xac]
sub esi, eax
push esi
call fcn.005095d5
push esi
push eax
push edi
mov dword [ebp + 0x74], eax
call fcn.0050b977
add esp, 0x20
mov ecx, ebp
push 0x40800000
call fcn.004e8c90
mov dword [ebp + 0x7c], eax
mov eax, dword [ebp + 0x80]
test eax, eax
je 0x4ea936
mov esi, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
sub esi, ebx
push esi
call fcn.005095d5
push esi
push eax
push edi
mov dword [ebp + 0x84], eax
call fcn.0050b977
add esp, 0x10
mov ecx, dword [ebp + 0x6c]
mov eax, dword [ebp + 0x64]
add ecx, eax
shl ecx, 2
push ecx
call fcn.005095d5
mov ebx, dword [ebp + 0x6c]
mov edx, dword [ebp + 0x64]
add ebx, edx
mov dword [ebp + 0x78], eax
lea edi, [ebx + ebx*4]
shl edi, 3
push edi
call fcn.005095d5
mov edx, dword [esp + 0x28]
push edi
push eax
push edx
mov dword [esp + 0x4c], eax
call fcn.0050b977
mov esi, dword [esp + 0xbc]
mov ecx, dword [esp + 0xb8]
sub esi, ecx
sub esi, edi
push esi
call fcn.005095d5
push esi
mov dword [esp + 0x50], eax
push eax
mov eax, dword [esp + 0x40]
push eax
call fcn.0050b977
lea esi, [ebx + ebx]
push esi
call fcn.005095d5
mov ecx, esi
mov edi, eax
mov edx, ecx
xor eax, eax
shr ecx, 2
mov dword [esp + 0x54], edi
add esp, 0x28
rep stosd dword es:[edi], eax
mov ecx, edx
xor edx, edx
and ecx, 3
rep stosb byte es:[edi], al
xor ecx, ecx
test ebx, ebx
jle 0x4eaa05
mov eax, dword [esp + 0x38]
lea esi, [eax + 0x14]
mov eax, dword [esi - 4]
cmp eax, 1
jne 0x4ea9e7
mov eax, dword [esi]
mov edi, dword [ebp + 0x64]
add eax, edi
mov edi, dword [esp + 0x2c]
add eax, eax
mov byte [eax + edi], dl
mov byte [eax + edi + 1], cl
jmp 0x4ea9fa
test eax, eax
jne 0x4ea9fd
mov edi, dword [esi]
mov eax, dword [esp + 0x2c]
add edi, edi
mov byte [edi + eax], dl
mov byte [edi + eax + 1], cl
add ecx, dword [esi + 4]
inc edx
add esi, 0x28
cmp edx, ebx
jl 0x4ea9c9
test ecx, ecx
jle 0x4eaaad
mov edx, dword [esp + 0x34]
mov edi, ecx
mov ebx, 0x3f800000
lea esi, [edx + 0x34]
cmp dword [ebp], 0
je 0x4eaa3b
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x44], 0
jmp 0x4eaa53
mov dword [esp + 0x4c], 0x3f800000
mov dword [esp + 0x48], 0x3f800000
mov dword [esp + 0x44], 0x3f800000
mov dl, byte [esi - 0x34]
lea eax, [esi - 0x34]
lea ecx, [esi - 4]
cmp dl, 0x6b
mov dword [esi + 4], ebx
mov dword [esi], ebx
mov dword [ecx], ebx
jne 0x4eaa6b
mov byte [eax], 0x4b
mov dl, byte [esi - 0x22]
push edx
mov dl, byte [esi - 0x23]
push edx
mov dl, byte [esi - 0x24]
push edx
xor edx, edx
cmp byte [eax], 0x4b
sete dl
push edx
movsx edx, byte [esi - 0x1f]
push edx
push eax
mov eax, dword [esi - 0x1c]
lea edx, [esp + 0x5c]
push eax
push edx
lea eax, [esi + 0x14]
lea edx, [esi + 8]
push eax
push edx
push ecx
call fcn.0040ed80
mov dword [esi + 0x20], eax
add esp, 0x2c
add esi, 0x58
dec edi
jne 0x4eaa1b
mov eax, dword [ebp + 0x64]
xor edi, edi
cmp eax, edi
je 0x4eb115
lea ecx, [eax + eax*4]
lea esi, [eax + ecx*2]
shl esi, 2
push esi
call fcn.005095d5
mov edx, dword [esp + 0x24]
push esi
push eax
push edx
mov dword [ebp + 0x48], eax
call fcn.0050b977
mov eax, dword [ebp + 0x64]
add esp, 0x10
cmp eax, edi
mov dword [esp + 0x1c], edi
jle 0x4eafdf
xor esi, esi
mov dword [esp + 0x28], esi
mov eax, dword [ebp + 0x48]
add eax, esi
mov cl, byte [eax + 0x24]
test cl, cl
jns 0x4eab32
push 0x40800000
push 0x40800000
push 0x40800000
mov ecx, ebp
call fcn.004e8ee0
mov ecx, dword [ebp + 0x48]
mov dword [esi + ecx + 0x10], eax
mov eax, dword [ebp + 0x48]
mov edx, dword [ebp + 0x7c]
mov ecx, dword [esi + eax + 0x10]
push edx
push ecx
call fcn.0040b100
add esp, 8
jmp 0x4eafc2
mov edi, dword [eax + 0x20]
mov eax, dword [eax + 0x10]
mov ebx, eax
mov dword [esp + 0x24], eax
shl ebx, 5
push ebx
call fcn.005095d5
mov cl, byte [esp + 0x86]
add esp, 4
test cl, 1
mov dword [esp + 0x18], eax
je 0x4eade0
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
shl eax, 4
sub esi, eax
push eax
add esi, ebx
push esi
push edx
call fcn.0050b977
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x28]
add esp, 0xc
movsx eax, byte [eax + ecx*2]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + edx*8 + 0x24]
test ecx, ecx
je 0x4eacb2
mov eax, dword [esp + 0x24]
test eax, eax
jle 0x4eadef
mov ecx, dword [esp + 0x18]
lea eax, [ecx + 8]
mov ecx, dword [esp + 0x24]
movsx edx, word [esi]
mov dword [esp + 0x10], edx
add esi, 2
movsx edx, word [esp + 0x84]
fild dword [esp + 0x10]
mov dword [esp + 0x10], edx
add esi, 2
fidiv dword [esp + 0x10]
add esi, 2
add eax, 0x20
add esi, 2
add esi, 2
add esi, 2
add esi, 2
add esi, 2
dec ecx
fstp dword [eax - 0x28]
movsx edx, word [esi - 0xe]
mov dword [esp + 0x10], edx
movsx edx, word [esp + 0x84]
fild dword [esp + 0x10]
mov dword [esp + 0x10], edx
fidiv dword [esp + 0x10]
fstp dword [eax - 0x24]
movsx edx, word [esi - 0xc]
mov dword [esp + 0x10], edx
movsx edx, word [esp + 0x84]
fild dword [esp + 0x10]
mov dword [esp + 0x10], edx
fidiv dword [esp + 0x10]
fstp dword [eax - 0x20]
movsx edx, word [esi - 0xa]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul dword [0x5a8454]
fstp dword [eax - 0x1c]
movsx edx, word [esi - 8]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul dword [0x5a8454]
fstp dword [eax - 0x18]
movsx edx, word [esi - 6]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul dword [0x5a8454]
fstp dword [eax - 0x14]
movsx edx, word [esi - 4]
mov dword [esp + 0x10], edx
movsx edx, word [esp + 0x8a]
fild dword [esp + 0x10]
mov dword [esp + 0x10], edx
fidiv dword [esp + 0x10]
fstp dword [eax - 0x10]
movsx edx, word [esi - 2]
mov dword [esp + 0x10], edx
movsx edx, word [esp + 0x8a]
fild dword [esp + 0x10]
mov dword [esp + 0x10], edx
fidiv dword [esp + 0x10]
fstp dword [eax - 0xc]
jne 0x4eabb2
jmp 0x4eadef
mov ecx, dword [esp + 0x24]
test ecx, ecx
jle 0x4eadef
mov eax, dword [esp + 0x18]
add eax, 8
movsx edx, word [esi]
mov dword [esp + 0x10], edx
add esi, 2
movsx edx, word [esp + 0x84]
fild dword [esp + 0x10]
mov dword [esp + 0x10], edx
add esi, 2
fidiv dword [esp + 0x10]
add esi, 2
add eax, 0x20
add esi, 2
add esi, 2
add esi, 2
add esi, 2
add esi, 2
dec ecx
fstp dword [eax - 0x28]
movsx edx, word [esi - 0xe]
mov dword [esp + 0x10], edx
movsx edx, word [esp + 0x84]
fild dword [esp + 0x10]
mov dword [esp + 0x10], edx
fidiv dword [esp + 0x10]
fstp dword [eax - 0x24]
movsx edx, word [esi - 0xc]
mov dword [esp + 0x10], edx
movsx edx, word [esp + 0x84]
fild dword [esp + 0x10]
mov dword [esp + 0x10], edx
fidiv dword [esp + 0x10]
fstp dword [eax - 0x20]
movsx edx, word [esi - 0xa]
mov dword [esp + 0x10], edx
movsx edx, word [esp + 0x8a]
fild dword [esp + 0x10]
mov dword [esp + 0x10], edx
fidiv dword [esp + 0x10]
fstp dword [eax - 0x1c]
movsx edx, word [esi - 8]
mov dword [esp + 0x10], edx
movsx edx, word [esp + 0x8a]
fild dword [esp + 0x10]
mov dword [esp + 0x10], edx
fidiv dword [esp + 0x10]
fstp dword [eax - 0x18]
movsx edx, word [esi - 6]
mov dword [esp + 0x10], edx
movsx edx, word [esp + 0x8a]
fild dword [esp + 0x10]
mov dword [esp + 0x10], edx
fidiv dword [esp + 0x10]
fstp dword [eax - 0x14]
movsx edx, word [esi - 4]
mov dword [esp + 0x10], edx
movsx edx, word [esp + 0x8a]
fild dword [esp + 0x10]
mov dword [esp + 0x10], edx
fidiv dword [esp + 0x10]
fstp dword [eax - 0x10]
movsx edx, word [esi - 2]
mov dword [esp + 0x10], edx
movsx edx, word [esp + 0x8a]
fild dword [esp + 0x10]
mov dword [esp + 0x10], edx
fidiv dword [esp + 0x10]
fstp dword [eax - 0xc]
jne 0x4eacc5
jmp 0x4eadef
push ebx
push eax
mov eax, dword [esp + 0x28]
push eax
call fcn.0050b977
add esp, 0xc
lea ebx, [edi + edi*2]
shl ebx, 3
push ebx
call fcn.005095d5
lea ecx, [edi + edi*4]
mov esi, eax
add ecx, ecx
mov dword [esp + 0x18], eax
sub esi, ecx
push ecx
mov ecx, dword [esp + 0x28]
add esi, ebx
push esi
push ecx
call fcn.0050b977
add esp, 0x10
test edi, edi
jle 0x4eae64
mov eax, dword [esp + 0x14]
mov ecx, edi
movsx edx, word [esi]
add esi, 2
mov dword [eax], edx
add eax, 4
movsx edx, byte [esi]
inc esi
mov dword [eax], edx
add eax, 4
movsx edx, byte [esi]
inc esi
mov dword [eax], edx
add eax, 4
movsx edx, word [esi]
add esi, 2
mov dword [eax], edx
add eax, 4
movsx edx, word [esi]
add esi, 2
mov dword [eax], edx
add eax, 4
movsx edx, word [esi]
mov dword [eax], edx
add esi, 2
add eax, 4
dec ecx
jne 0x4eae23
mov esi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x1c]
test edi, edi
movsx eax, byte [esi + ebx*2 + 1]
mov dword [esp + 0x30], eax
jle 0x4eaea5
mov ecx, dword [esp + 0x14]
mov edx, edi
add ecx, 4
mov eax, dword [ecx]
mov esi, dword [esp + 0x30]
add eax, esi
add ecx, 0x18
dec edx
lea esi, [eax + eax*4]
lea eax, [eax + esi*2]
mov esi, dword [esp + 0x34]
mov eax, dword [esi + eax*8 + 0x54]
mov dword [ecx - 0x18], eax
jne 0x4eae82
mov esi, dword [esp + 0x2c]
push 6
call fcn.004059e0
movsx eax, byte [esi + ebx*2]
mov edx, dword [esp + 0x3c]
add esp, 4
lea ecx, [eax + eax*4]
mov eax, dword [edx + ecx*8 + 0x24]
test eax, eax
je 0x4eaece
push 1
push 0
call fcn.00406520
add esp, 8
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
lea eax, [edi + edi*2]
push 1
add eax, eax
push edi
push eax
mov eax, dword [esp + 0x24]
push ecx
push edx
push eax
push 0
call fcn.0040c900
add esp, 0x1c
lea ecx, [esp + 0x50]
lea edx, [esp + 0x54]
push ecx
push edx
push ebx
push 0
mov ecx, ebp
call fcn.004eb9f0
test eax, eax
jne 0x4eaf15
push 2
push 0xa
push eax
call fcn.004054e0
add esp, 0xc
movsx eax, byte [esi + ebx*2 + 1]
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + edx*8 + 0x20]
lea esi, [eax + edx*8]
push ecx
push 0
call fcn.00405660
mov edx, dword [ebp + 0x78]
mov eax, dword [esi + 0x20]
add esp, 8
mov dword [edx + ebx*4], eax
mov al, byte [esi]
cmp al, 0x4b
jne 0x4eaf5c
cmp dword [esi + 0x10], 0xff0000
jne 0x4eaf5c
push 0
push 3
push 0
call fcn.004054e0
add esp, 0xc
push 0
call fcn.00405df0
mov ecx, dword [ebp + 0x48]
mov edi, dword [esp + 0x2c]
add esp, 4
mov dword [edi + ecx + 0x10], eax
mov eax, dword [ebp]
test eax, eax
je 0x4eaf8b
mov eax, dword [ebp + 0x48]
mov edx, dword [esi + 0x24]
push edx
mov ecx, dword [edi + eax + 0x10]
push ecx
mov ecx, ebp
call fcn.004ebb30
mov edx, dword [ebp + 0x48]
mov dword [edi + edx + 0x20], 0
mov ecx, dword [ebp + 0x48]
mov eax, dword [ebp + 0x7c]
mov edx, dword [edi + ecx + 0x10]
push eax
push edx
call fcn.0040b100
mov eax, dword [esp + 0x1c]
push eax
call fcn.005089dd
mov ecx, dword [esp + 0x24]
push ecx
call fcn.005089dd
mov esi, dword [esp + 0x38]
add esp, 0x10
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebp + 0x64]
inc eax
add esi, 0x2c
cmp eax, ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x28], esi
jl 0x4eaaf0
xor edi, edi
mov eax, dword [ebp + 0x70]
mov dword [esp + 0x1c], edi
lea ebx, [eax + eax*2]
mov eax, dword [ebp + 0x64]
shl ebx, 4
cmp eax, edi
jle 0x4eb115
mov dword [esp + 0x28], edi
push ebx
call fcn.005095d5
mov edx, dword [ebp + 0x48]
mov edi, eax
mov eax, dword [esp + 0x2c]
add esp, 4
mov dword [eax + edx + 0x28], edi
mov al, byte [esp + 0x82]
test al, 1
je 0x4eb0e7
mov eax, dword [ebp + 0x70]
mov ecx, dword [esp + 0x20]
mov esi, edi
lea eax, [eax + eax*2]
shl eax, 3
sub esi, eax
push eax
add esi, ebx
push esi
push ecx
call fcn.0050b977
mov eax, dword [ebp + 0x70]
add esp, 0xc
xor ecx, ecx
test eax, eax
jle 0x4eb0f6
mov eax, 9
movsx edx, word [esi]
mov dword [esp + 0x10], edx
add esi, 2
fild dword [esp + 0x10]
add edi, 4
dec eax
fmul dword [0x5ab17c]
fstp dword [edi - 4]
jne 0x4eb050
movsx eax, word [esi]
movsx edx, word [esp + 0x86]
mov dword [esp + 0x10], eax
add esi, 2
fild dword [esp + 0x10]
mov dword [esp + 0x10], edx
add edi, 4
add esi, 2
add edi, 4
fidiv dword [esp + 0x10]
add esi, 2
add edi, 4
inc ecx
fstp dword [edi - 0xc]
movsx eax, word [esi - 4]
movsx edx, word [esp + 0x86]
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov dword [esp + 0x10], edx
fidiv dword [esp + 0x10]
fstp dword [edi - 8]
movsx eax, word [esi - 2]
movsx edx, word [esp + 0x86]
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov dword [esp + 0x10], edx
fidiv dword [esp + 0x10]
fstp dword [edi - 4]
cmp ecx, dword [ebp + 0x70]
jl 0x4eb04b
jmp 0x4eb0f6
mov eax, dword [esp + 0x20]
push ebx
push edi
push eax
call fcn.0050b977
add esp, 0xc
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
mov ecx, dword [ebp + 0x64]
inc eax
add edx, 0x2c
cmp eax, ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x28], edx
jl 0x4eaffb
mov eax, dword [ebp + 0x6c]
test eax, eax
je 0x4eb7a6
lea ecx, [eax*4]
push ecx
call fcn.005095d5
mov edx, dword [ebp + 0x6c]
mov dword [esp + 0x14], eax
shl edx, 2
push edx
call fcn.005095d5
mov esi, dword [ebp + 0x6c]
mov dword [esp + 0x44], eax
lea eax, [esi + esi*4]
lea esi, [esi + eax*2]
shl esi, 2
push esi
call fcn.005095d5
mov ecx, dword [esp + 0x2c]
push esi
push eax
push ecx
mov dword [ebp + 0x4c], eax
call fcn.0050b977
mov eax, dword [ebp + 0x6c]
add esp, 0x18
test eax, eax
mov dword [esp + 0x1c], 0
jle 0x4eb414
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x3c]
sub eax, ecx
mov dword [esp + 0x30], 0
mov dword [esp + 0x18], ecx
mov dword [esp + 0x28], eax
mov edx, dword [ebp + 0x4c]
mov eax, dword [esp + 0x30]
add eax, edx
mov dl, byte [esp + 0x82]
test dl, 2
mov ecx, dword [eax + 0x18]
mov dword [esp + 0x40], ecx
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x24], ecx
je 0x4eb30d
mov esi, dword [eax + 0x20]
neg esi
sbb esi, esi
and esi, 0xfffffffd
add esi, 5
imul esi, ecx
lea ebx, [esi*4]
push ebx
call fcn.005095d5
mov edx, dword [esp + 0x1c]
mov edi, eax
lea eax, [esi + esi]
mov esi, edi
sub esi, eax
push eax
mov eax, dword [esp + 0x28]
add esi, ebx
push esi
push eax
mov dword [edx], edi
call fcn.0050b977
mov ecx, dword [ebp + 0x4c]
mov edx, dword [esp + 0x40]
add esp, 0x10
mov eax, dword [ecx + edx + 0x20]
test eax, eax
mov eax, dword [esp + 0x24]
je 0x4eb262
test eax, eax
jle 0x4eb32e
movsx ecx, word [esi]
movsx edx, word [esp + 0x8a]
mov dword [esp + 0x14], ecx
add esi, 2
fild dword [esp + 0x14]
mov dword [esp + 0x14], edx
add edi, 4
add esi, 2
add edi, 4
fidiv dword [esp + 0x14]
dec eax
fstp dword [edi - 8]
movsx ecx, word [esi - 2]
movsx edx, word [esp + 0x8a]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
mov dword [esp + 0x14], edx
fidiv dword [esp + 0x14]
fstp dword [edi - 4]
jne 0x4eb211
jmp 0x4eb32e
test eax, eax
jle 0x4eb32e
movsx ecx, word [esi]
mov dword [esp + 0x14], ecx
add esi, 2
fild dword [esp + 0x14]
add edi, 4
add esi, 2
add edi, 4
add esi, 2
fmul dword [0x5a8454]
add edi, 4
add esi, 2
add edi, 4
add esi, 2
fstp dword [edi - 0x10]
movsx edx, word [esi - 8]
mov dword [esp + 0x14], edx
add edi, 4
fild dword [esp + 0x14]
dec eax
fmul dword [0x5a8454]
fstp dword [edi - 0x10]
movsx ecx, word [esi - 6]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fmul dword [0x5a8454]
fstp dword [edi - 0xc]
movsx edx, word [esi - 4]
movsx ecx, word [esp + 0x8a]
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
mov dword [esp + 0x14], ecx
fidiv dword [esp + 0x14]
fstp dword [edi - 8]
movsx edx, word [esi - 2]
movsx ecx, word [esp + 0x8a]
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
mov dword [esp + 0x14], ecx
fidiv dword [esp + 0x14]
fstp dword [edi - 4]
jne 0x4eb26a
jmp 0x4eb32e
lea esi, [ecx + ecx*4]
shl esi, 2
push esi
call fcn.005095d5
mov edx, dword [esp + 0x1c]
push esi
push eax
mov dword [edx], eax
mov eax, dword [esp + 0x2c]
push eax
call fcn.0050b977
add esp, 0x10
mov ebx, dword [esp + 0x40]
lea edi, [ebx + ebx*2]
shl edi, 3
push edi
call fcn.005095d5
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x1c]
mov esi, eax
lea eax, [ebx + ebx*4]
add eax, eax
mov dword [esp + 0x18], esi
mov dword [ecx + edx], esi
sub esi, eax
add esi, edi
push eax
mov eax, dword [esp + 0x28]
push esi
push eax
call fcn.0050b977
add esp, 0x10
test ebx, ebx
jle 0x4eb3b2
mov eax, dword [esp + 0x14]
mov ecx, ebx
movsx edx, word [esi]
add esi, 2
mov dword [eax], edx
add eax, 4
movsx edx, byte [esi]
inc esi
mov dword [eax], edx
add eax, 4
movsx edx, byte [esi]
inc esi
mov dword [eax], edx
add eax, 4
movsx edx, word [esi]
add esi, 2
mov dword [eax], edx
add eax, 4
movsx edx, word [esi]
add esi, 2
mov dword [eax], edx
add eax, 4
movsx edx, word [esi]
mov dword [eax], edx
add esi, 2
add eax, 4
dec ecx
jne 0x4eb371
mov eax, dword [ebp + 0x64]
mov ecx, dword [esp + 0x1c]
add eax, ecx
mov ecx, dword [esp + 0x2c]
test ebx, ebx
movsx edx, byte [ecx + eax*2 + 1]
jle 0x4eb3ea
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x34]
lea ecx, [eax + 4]
mov eax, dword [ecx]
add ecx, 0x18
add eax, edx
dec ebx
lea edi, [eax + eax*4]
lea eax, [eax + edi*2]
mov eax, dword [esi + eax*8 + 0x54]
mov dword [ecx - 0x18], eax
jne 0x4eb3d3
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x30]
mov edx, dword [esp + 0x18]
mov ecx, dword [ebp + 0x6c]
inc eax
add esi, 0x2c
add edx, 4
cmp eax, ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x30], esi
mov dword [esp + 0x18], edx
jl 0x4eb192
mov edi, dword [ebp + 0x70]
mov eax, dword [ebp + 0x6c]
shl edi, 2
xor ebx, ebx
test eax, eax
jle 0x4eb453
xor esi, esi
push edi
call fcn.005095d5
mov ecx, dword [ebp + 0x4c]
push edi
mov dword [ecx + esi + 0x24], eax
mov edx, dword [ebp + 0x4c]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + esi + 0x24]
push eax
push ecx
call fcn.0050b977
mov eax, dword [ebp + 0x6c]
add esp, 0x10
inc ebx
add esi, 0x2c
cmp ebx, eax
jl 0x4eb425
mov eax, dword [ebp + 0x6c]
xor edi, edi
cmp eax, edi
mov dword [esp + 0x1c], edi
jle 0x4eb78f
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x3c]
sub eax, ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 0x64]
mov esi, dword [esp + 0x1c]
mov edx, dword [ebp + 0x4c]
add eax, esi
add eax, eax
mov dword [esp + 0x30], eax
mov eax, dword [edx + edi + 0x14]
shl eax, 2
push eax
call fcn.005095d5
mov ecx, dword [ebp + 0x4c]
add esp, 4
mov dword [ecx + edi + 0x28], eax
mov edx, dword [ebp + 0x4c]
mov ecx, dword [edx + edi + 0x10]
lea eax, [edx + edi]
mov dword [esp + 0x24], ecx
mov edx, dword [eax + 0x18]
mov dword [esp + 0x40], edx
mov dl, byte [esp + 0x82]
test dl, 2
je 0x4eb503
mov edx, dword [eax + 0x20]
lea ebx, [ecx + ecx*4]
test edx, edx
jne 0x4eb4cd
lea ebx, [ecx + ecx*2]
mov ecx, dword [eax + 0x14]
add ebx, ebx
xor esi, esi
test ecx, ecx
jle 0x4eb549
push ebx
call fcn.005095d5
mov ecx, dword [ebp + 0x4c]
push ebx
push eax
mov edx, dword [ecx + edi + 0x28]
mov dword [edx + esi*4], eax
mov eax, dword [esp + 0x2c]
push eax
call fcn.0050b977
mov ecx, dword [ebp + 0x4c]
add esp, 0x10
inc esi
cmp esi, dword [ecx + edi + 0x14]
jl 0x4eb4d8
jmp 0x4eb549
mov ebx, dword [esp + 0x24]
mov ecx, dword [eax + 0x14]
xor esi, esi
lea ebx, [ebx + ebx*2]
shl ebx, 3
test ecx, ecx
jle 0x4eb549
push ebx
call fcn.005095d5
mov edx, dword [ebp + 0x4c]
push ebx
mov ecx, dword [edx + edi + 0x28]
mov dword [ecx + esi*4], eax
mov edx, dword [ebp + 0x4c]
mov eax, dword [edx + edi + 0x28]
mov edx, dword [esp + 0x28]
mov ecx, dword [eax + esi*4]
push ecx
push edx
call fcn.0050b977
mov eax, dword [ebp + 0x4c]
add esp, 0x10
inc esi
cmp esi, dword [eax + edi + 0x14]
jl 0x4eb516
push 6
call fcn.004059e0
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
add esp, 4
movsx eax, byte [edx + ecx]
mov ecx, dword [esp + 0x38]
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*8 + 0x24]
test edx, edx
je 0x4eb57a
push 1
push 0
call fcn.00406520
add esp, 8
mov ebx, dword [esp + 0x24]
mov edx, ebx
shl edx, 5
push edx
call fcn.005095d5
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x18]
add esp, 4
mov esi, dword [eax]
mov al, byte [esp + 0x82]
test al, 2
je 0x4eb5c9
mov ecx, dword [ebp + 0x4c]
mov edx, dword [ecx + edi + 0x20]
lea eax, [ecx + edi]
push edx
mov dx, word [ebp + 0x88]
mov eax, dword [eax + 0x28]
push ebx
mov ecx, dword [eax]
mov eax, dword [esp + 0x20]
push ecx
push edx
push eax
mov ecx, ebp
call fcn.004eb860
jmp 0x4eb5dd
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
push ebx
push 0
push ecx
push edx
mov ecx, ebp
call fcn.004eb810
mov eax, dword [ebp + 0x4c]
mov ecx, dword [eax + edi + 0x20]
test ecx, ecx
je 0x4eb618
test byte [esp + 0x82], 2
je 0x4eb618
mov eax, dword [esp + 0x18]
test ebx, ebx
jle 0x4eb65a
mov ecx, ebx
mov edx, dword [esi]
add eax, 0x18
add esi, 4
mov dword [eax], edx
add eax, 4
mov edx, dword [esi]
add esi, 4
mov dword [eax], edx
add eax, 4
dec ecx
jne 0x4eb5fc
jmp 0x4eb65a
mov eax, dword [esp + 0x18]
test ebx, ebx
jle 0x4eb65a
mov ecx, ebx
mov edx, dword [esi]
add eax, 0xc
add esi, 4
mov dword [eax], edx
add eax, 4
mov edx, dword [esi]
add esi, 4
mov dword [eax], edx
add eax, 4
mov edx, dword [esi]
add esi, 4
mov dword [eax], edx
add eax, 4
mov edx, dword [esi]
add esi, 4
mov dword [eax], edx
add eax, 4
mov edx, dword [esi]
add esi, 4
mov dword [eax], edx
add eax, 4
dec ecx
jne 0x4eb622
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x28]
push 1
push eax
lea eax, [eax + eax*2]
add eax, eax
push eax
mov eax, dword [ecx + edx]
mov ecx, dword [esp + 0x24]
push eax
push ebx
push ecx
push 0
call fcn.0040c900
mov ecx, dword [esp + 0x38]
add esp, 0x1c
lea edx, [esp + 0x50]
lea eax, [esp + 0x54]
push edx
push eax
push ecx
push 1
mov ecx, ebp
call fcn.004eb9f0
test eax, eax
jne 0x4eb6ac
push 2
push 0xa
push eax
call fcn.004054e0
add esp, 0xc
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
movsx eax, byte [eax + edx + 1]
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + edx*8 + 0x20]
lea esi, [eax + edx*8]
push ecx
push 0
call fcn.00405660
mov edx, dword [ebp + 0x64]
mov ecx, dword [esp + 0x24]
mov eax, dword [ebp + 0x78]
add edx, ecx
mov ecx, dword [esi + 0x20]
add esp, 8
mov dword [eax + edx*4], ecx
mov al, byte [esi]
cmp al, 0x4b
jne 0x4eb704
cmp dword [esi + 0x10], 0xff0000
jne 0x4eb704
push 0
push 3
push 0
call fcn.004054e0
add esp, 0xc
push 0
call fcn.00405df0
mov edx, dword [ebp + 0x4c]
mov ebx, dword [esp + 0x18]
mov dword [edx + edi + 0x10], eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [ebx + eax]
push ecx
call fcn.005089dd
mov edx, dword [ebx]
push edx
call fcn.005089dd
mov eax, dword [esp + 0x24]
push eax
call fcn.005089dd
mov ecx, dword [ebp + 0x4c]
add esp, 0x10
mov dword [ecx + edi + 0x18], 0
mov eax, dword [ebp]
test eax, eax
je 0x4eb75d
mov eax, dword [ebp + 0x4c]
mov edx, dword [esi + 0x24]
push edx
mov ecx, dword [eax + edi + 0x10]
push ecx
mov ecx, ebp
call fcn.004ebb30
mov eax, dword [ebp + 0x4c]
mov edx, dword [ebp + 0x7c]
push edx
mov ecx, dword [eax + edi + 0x10]
push ecx
call fcn.0040b100
mov eax, dword [esp + 0x24]
mov ecx, dword [ebp + 0x6c]
add esp, 8
inc eax
add ebx, 4
add edi, 0x2c
cmp eax, ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ebx
jl 0x4eb476
mov edx, dword [esp + 0x3c]
push edx
call fcn.005089dd
mov eax, dword [esp + 0x14]
push eax
call fcn.005089dd
add esp, 8
mov ecx, dword [esp + 0x38]
push ecx
call fcn.005089dd
mov edx, dword [esp + 0x38]
push edx
call fcn.005089dd
mov eax, dword [esp + 0x34]
push eax
call fcn.005089dd
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.0050b6a7
add esp, 0x10
pop ebx
pop edi
pop esi
pop ebp
add esp, 0xa0
ret