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

Disassembly:
sub esp, 0x7c
and dword [esp + 0x18], 0
fld1
fstp dword [esp + 0x50]
push ebx
push ebp
fld1
fstp dword [esp + 0x5c]
push esi
mov esi, dword [esp + 0x8c]
fld1
test esi, esi
fstp dword [esp + 0x64]
push 4
pop eax
fld1
mov ebp, ecx
fstp dword [esp + 0x68]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], 0xa
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], 0xd
mov dword [esp + 0x84], eax
je 0x4e8690
mov ebx, dword [esi + 0x6c]
test ebx, ebx
mov dword [esp + 0x28], ebx
jne 0x4e8697
xor al, al
jmp 0x4e93df
test byte [ebx], 1
je 0x4e8690
push edi
mov edi, dword [esi + 0x5c]
mov eax, edi
imul eax, eax, 0xd8
push eax
call fcn.005bca7e
and dword [esp + 0x20], 0
test edi, edi
pop ecx
mov dword [esp + 0x30], eax
mov dword [ebx + 0xc], eax
jle 0x4e93d5
mov ecx, dword [esp + 0x1c]
mov edx, ecx
imul ecx, ecx, 0xd8
imul edx, edx, 0x88
add edx, dword [esi + 0x64]
add ecx, dword [esp + 0x30]
movzx esi, byte [edx]
movzx edi, byte [edx + 0x3c]
movzx ebx, byte [edx + 0x14]
movzx eax, byte [edx + 0x28]
mov dword [esp + 0x20], esi
lea esi, [edi + edi]
or esi, ebx
shl esi, 1
or esi, eax
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x20]
shl esi, 1
or esi, ebx
add ebx, eax
add ebx, dword [esp + 0x18]
push 1
lea edi, [ebx + edi + 1]
sar edi, 1
pop eax
cmp edi, eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], esi
mov dword [ecx + 0xc], edi
jge 0x4e8729
mov dword [ecx + 0xc], eax
mov dl, byte [edx + 0x84]
mov dword [ecx], esi
and edx, eax
mov eax, dword [ecx + 8]
and eax, 0xfffffffe
or edx, eax
xor eax, eax
cmp dword [ecx + 0xc], eax
mov dword [ecx + 8], edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], eax
jle 0x4e936c
jmp 0x4e875b
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
imul eax, eax, 0x64
cmp esi, 0xa
lea ebx, [eax + ecx + 0x10]
jg 0x4e8a0f
je 0x4e8a33
test esi, esi
jl 0x4e9345
mov eax, dword [esp + 0x20]
cmp eax, 6
jle 0x4e8a33
cmp eax, 7
je 0x4e8e52
cmp eax, 8
je 0x4e8a33
cmp eax, 9
jne 0x4e9345
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x85], 0
je 0x4e8a33
cmp dword [esp + 0x14], 0
jne 0x4e9345
lea edi, [ebx + 0x20]
lea esi, [esp + 0x60]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [eax + 0x50]
mov ecx, dword [eax + 0x80]
lea edi, [ebx + 0x30]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edx, dword [esp + 0x90]
and dword [ebx + 8], 0
and dword [ebx + 0x18], 0
lea esi, [eax + 0x60]
lea edi, [ebx + 0x40]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebx + 0x60], ecx
mov ecx, dword [eax + 0x10]
lea esi, [eax + 0x70]
mov eax, dword [eax + 0x4c]
mov dword [ebx + 0x10], ecx
mov ecx, dword [ebp + 0x47478]
push 1
mov dword [ebp + 0x4747c], ecx
xor ecx, ecx
mov dword [ebx + 0x14], eax
pop eax
cmp dword [edx + 0x34], eax
lea edi, [ebx + 0x50]
movsd dword es:[edi], dword [esi]
setg cl
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ecx
push 0x97
mov ecx, ebp
movsd dword es:[edi], dword [esi]
mov dword [ebx + 4], 2
mov dword [ebx + 0xc], 3
mov dword [ebx + 0x1c], eax
call fcn.004e5118
mov eax, dword [esp + 0x10]
mov al, byte [eax + 0x84]
neg al
mov ecx, ebp
sbb eax, eax
and eax, 0xfffffffe
add eax, 3
push eax
push 0x16
call fcn.004e5118
push 1
pop esi
push esi
push 0x1d
mov ecx, ebp
call fcn.004e5118
push esi
push 0x1b
mov ecx, ebp
call fcn.004e5118
push 2
push 0x13
mov ecx, ebp
call fcn.004e5118
push 6
push 0x14
mov ecx, ebp
call fcn.004e5118
push esi
push 0xf
mov ecx, ebp
call fcn.004e5118
push esi
push 0x18
mov ecx, ebp
call fcn.004e5118
push 7
push 0x19
mov ecx, ebp
call fcn.004e5118
cmp dword [ebp + 0x1fc], 0
jl 0x4e88dc
push 2
push 2
xor edi, edi
push edi
mov ecx, ebp
call fcn.004e5192
push edi
push 3
push edi
mov ecx, ebp
call fcn.004e5192
push 4
push esi
push edi
mov ecx, ebp
call fcn.004e5192
jmp 0x4e88e1
push 1
xor edi, edi
pop esi
cmp dword [ebp + 0x1fc], edi
jl 0x4e8935
push 2
push 5
push edi
mov ecx, ebp
call fcn.004e5192
push edi
push 6
push edi
mov ecx, ebp
call fcn.004e5192
push 4
push 4
push edi
mov ecx, ebp
call fcn.004e5192
cmp dword [ebp + 0x1fc], edi
jl 0x4e8935
push esi
push 0xd
push edi
mov ecx, ebp
call fcn.004e5192
push esi
push 0xe
push edi
mov ecx, ebp
call fcn.004e5192
push esi
push 0x19
push edi
mov ecx, ebp
call fcn.004e5192
cmp dword [ebp + 0x1fc], edi
mov eax, dword [ebp + 0x47794]
mov dword [esp + 0x34], eax
jl 0x4e8975
push eax
push 0x13
push edi
mov ecx, ebp
call fcn.004e5192
push 2
push 0x10
push edi
mov ecx, ebp
call fcn.004e5192
push esi
push 0x11
push edi
mov ecx, ebp
call fcn.004e5192
push 2
push 0x12
push edi
mov ecx, ebp
call fcn.004e5192
cmp dword [ebp + 0x1fc], esi
jl 0x4e89f3
push 2
push 2
push esi
mov ecx, ebp
call fcn.004e5192
push esi
push 3
push esi
mov ecx, ebp
call fcn.004e5192
push 7
push esi
push esi
mov ecx, ebp
call fcn.004e5192
cmp dword [ebp + 0x1fc], esi
jl 0x4e89f3
push 2
push 5
push esi
mov ecx, ebp
call fcn.004e5192
push esi
push 6
push esi
mov ecx, ebp
call fcn.004e5192
push 3
push 4
push esi
mov ecx, ebp
call fcn.004e5192
cmp dword [ebp + 0x1fc], esi
jl 0x4e89f3
push esi
push 0xd
push esi
mov ecx, ebp
call fcn.004e5192
push esi
push 0xe
push esi
mov ecx, ebp
call fcn.004e5192
push esi
push 0x19
push esi
mov ecx, ebp
call fcn.004e5192
cmp dword [ebp + 0x1fc], esi
mov eax, dword [ebp + 0x47794]
mov dword [esp + 0x38], eax
jl 0x4e933d
push eax
jmp 0x4e92f0
cmp esi, 0xb
je 0x4e8e52
cmp esi, 0xc
je 0x4e8a33
jle 0x4e9345
cmp dword [esp + 0x20], 0xf
jle 0x4e8e52
jmp 0x4e9345
mov ecx, dword [esp + 0x10]
lea esi, [ecx + 0x50]
lea edi, [ebx + 0x30]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea edi, [ebx + 0x20]
lea esi, [esp + 0x60]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edx, dword [ecx + 0x80]
lea esi, [ecx + 0x60]
lea edi, [ebx + 0x40]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [ecx + 0x70]
lea edi, [ebx + 0x50]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
xor eax, eax
movsd dword es:[edi], dword [esi]
mov dword [ebx + 0x60], edx
or edx, 0xffffffff
cmp byte [ecx], al
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
movsd dword es:[edi], dword [esi]
mov dword [ebx + 0x10], edx
mov dword [ebx + 8], edx
mov dword [ebx + 0x18], edx
mov dword [ebx + 0x14], edx
mov dword [ebx + 0xc], edx
mov dword [ebx + 0x1c], edx
je 0x4e8a9f
mov edx, dword [ecx + 0x10]
mov dword [ebx + 0x10], edx
mov dword [ebx + 8], eax
push 1
mov dword [ebx + 0x18], eax
mov dword [esp + 0x5c], ecx
pop eax
cmp byte [ecx + 0x28], 0
lea edx, [ecx + 0x28]
je 0x4e8ac0
mov dword [esp + eax*4 + 0x58], edx
mov edx, dword [ecx + 0x38]
mov dword [ebx + eax*4 + 0x10], edx
mov dword [ebx + eax*4 + 8], 1
mov dword [ebx + eax*4 + 0x18], eax
inc eax
cmp byte [ecx + 0x14], 0
lea edx, [ecx + 0x14]
je 0x4e8ae1
mov dword [esp + eax*4 + 0x58], edx
mov edx, dword [ecx + 0x24]
mov dword [ebx + eax*4 + 0x10], edx
mov dword [ebx + eax*4 + 8], 2
mov dword [ebx + eax*4 + 0x18], eax
inc eax
cmp byte [ecx + 0x3c], 0
lea edx, [ecx + 0x3c]
je 0x4e8b01
mov ecx, dword [ecx + 0x4c]
mov dword [ebx + eax*4 + 0x10], ecx
mov dword [ebx + eax*4 + 8], 3
mov dword [esp + eax*4 + 0x58], edx
mov dword [ebx + eax*4 + 0x18], eax
mov eax, dword [ebx + 0x10]
mov esi, dword [ebx + 0x14]
xor ecx, ecx
xor edi, edi
cmp eax, edi
setge cl
xor eax, eax
cmp esi, edi
mov esi, dword [esp + 0x10]
setge al
add ecx, eax
mov eax, dword [ebp + 0x47478]
mov dword [ebp + 0x4747c], eax
mov al, byte [esi + 0x84]
neg al
mov dword [ebx + 4], ecx
mov ecx, ebp
sbb eax, eax
and eax, 0xfffffffe
add eax, 3
push eax
push 0x16
call fcn.004e5118
cmp byte [esi + 0x85], 0
je 0x4e8bfd
mov eax, dword [esp + 0x58]
cmp eax, edi
je 0x4e8bfd
mov eax, dword [eax + 4]
dec eax
je 0x4e8b72
dec eax
je 0x4e8b72
dec eax
je 0x4e8bdd
dec eax
je 0x4e8bc1
dec eax
je 0x4e8b72
dec eax
push 1
pop esi
push esi
push 0x1b
mov ecx, ebp
call fcn.004e5118
push 5
push 0x13
mov ecx, ebp
call fcn.004e5118
push 6
push 0x14
mov ecx, ebp
call fcn.004e5118
push esi
push 0xf
mov ecx, ebp
call fcn.004e5118
push esi
push 0x18
mov ecx, ebp
call fcn.004e5118
push 7
push 0x19
mov ecx, ebp
call fcn.004e5118
mov eax, dword [esp + 0x58]
cmp dword [eax + 4], 4
jne 0x4e8bf8
push edi
jmp 0x4e8bf9
push 1
pop esi
push esi
push 0x1b
mov ecx, ebp
call fcn.004e5118
push 2
push 0x13
mov ecx, ebp
call fcn.004e5118
push 2
jmp 0x4e8b8c
push 1
pop esi
push esi
push 0x1b
mov ecx, ebp
call fcn.004e5118
push 9
push 0x13
mov ecx, ebp
call fcn.004e5118
push esi
jmp 0x4e8b8c
push esi
push 0x1c
jmp 0x4e8c23
push 1
pop esi
push esi
push 0xf
mov ecx, ebp
call fcn.004e5118
push 0x5f
push 0x18
mov ecx, ebp
call fcn.004e5118
push 7
push 0x19
mov ecx, ebp
call fcn.004e5118
push edi
push 0x1b
mov ecx, ebp
call fcn.004e5118
cmp dword [ebx + 0x10], edi
jl 0x4e8d11
mov eax, dword [esp + 0x58]
mov edi, dword [eax + 8]
neg edi
sbb edi, edi
and edi, 0xfffffffe
add edi, 3
cmp dword [ebp + 0x1fc], 0
jl 0x4e8cd4
push 2
push 2
push 0
mov ecx, ebp
call fcn.004e5192
push 0
push 3
push 0
mov ecx, ebp
call fcn.004e5192
push 4
push esi
push 0
mov ecx, ebp
call fcn.004e5192
cmp dword [ebp + 0x1fc], 0
jl 0x4e8cd4
push 2
push 5
push 0
mov ecx, ebp
call fcn.004e5192
push 0
push 6
push 0
mov ecx, ebp
call fcn.004e5192
push 4
push 4
push 0
mov ecx, ebp
call fcn.004e5192
cmp dword [ebp + 0x1fc], 0
jl 0x4e8cd4
push edi
push 0xd
push 0
mov ecx, ebp
call fcn.004e5192
push edi
push 0xe
push 0
mov ecx, ebp
call fcn.004e5192
push edi
push 0x19
push 0
mov ecx, ebp
call fcn.004e5192
cmp dword [ebp + 0x1fc], 0
mov eax, dword [ebp + 0x47794]
mov dword [esp + 0x3c], eax
jl 0x4e8d64
push eax
push 0x13
xor edi, edi
push edi
mov ecx, ebp
call fcn.004e5192
push 2
push 0x10
push edi
mov ecx, ebp
call fcn.004e5192
push esi
push 0x11
push edi
mov ecx, ebp
call fcn.004e5192
push 2
push 0x12
jmp 0x4e8d5c
cmp dword [ebp + 0x1fc], edi
jl 0x4e8d64
push edi
push 2
push edi
mov ecx, ebp
call fcn.004e5192
push edi
push 3
push edi
mov ecx, ebp
call fcn.004e5192
push 2
push esi
push edi
mov ecx, ebp
call fcn.004e5192
cmp dword [ebp + 0x1fc], edi
jl 0x4e8d64
push edi
push 5
push edi
mov ecx, ebp
call fcn.004e5192
push edi
push 6
push edi
mov ecx, ebp
call fcn.004e5192
push 2
push 4
push edi
mov ecx, ebp
call fcn.004e5192
cmp dword [ebx + 0x14], 0
jl 0x4e8e3f
mov eax, dword [esp + 0x5c]
mov edi, dword [eax + 8]
mov ecx, dword [eax + 4]
mov ecx, dword [esp + ecx*4 + 0x70]
neg edi
sbb edi, edi
and edi, 0xfffffffe
add edi, 3
cmp dword [ebp + 0x1fc], esi
mov dword [esp + 0x40], ecx
jl 0x4e8e0a
push 2
push 2
push esi
mov ecx, ebp
call fcn.004e5192
push esi
push 3
push esi
mov ecx, ebp
call fcn.004e5192
push dword [esp + 0x40]
mov ecx, ebp
push esi
push esi
call fcn.004e5192
cmp dword [ebp + 0x1fc], esi
jl 0x4e8e0a
push 2
push 5
push esi
mov ecx, ebp
call fcn.004e5192
push esi
push 6
push esi
mov ecx, ebp
call fcn.004e5192
push 3
push 4
push esi
mov ecx, ebp
call fcn.004e5192
cmp dword [ebp + 0x1fc], esi
jl 0x4e8e0a
push edi
push 0xd
push esi
mov ecx, ebp
call fcn.004e5192
push edi
push 0xe
push esi
mov ecx, ebp
call fcn.004e5192
push edi
push 0x19
push esi
mov ecx, ebp
call fcn.004e5192
cmp dword [ebp + 0x1fc], esi
mov dword [esp + 0x44], 0xbf800000
jl 0x4e933d
push dword [esp + 0x44]
mov ecx, ebp
push 0x13
push esi
call fcn.004e5192
push 3
push 0x10
push esi
mov ecx, ebp
call fcn.004e5192
push 3
jmp 0x4e9307
cmp dword [ebp + 0x1fc], esi
jl 0x4e933d
push 0
jmp 0x4e9320
or eax, 0xffffffff
cmp dword [esp + 0x14], 0
push 0x11
mov dword [ebx + 0x10], eax
mov dword [ebx + 8], eax
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x14], eax
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x1c], eax
lea edx, [ebx + 0x20]
pop ecx
jne 0x4e9094
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x10]
cmp byte [ecx], al
lea esi, [esp + 0x60]
mov edi, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [ecx + 0x50]
lea edi, [ebx + 0x30]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [ecx + 0x70]
lea edi, [ebx + 0x50]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
je 0x4e8eb3
mov edx, dword [ecx + 0x10]
mov dword [ebx + 0x10], edx
mov dword [ebx + 8], eax
push 1
mov dword [ebx + 0x18], eax
pop eax
cmp byte [ecx + 0x28], 0
je 0x4e8ecd
mov ecx, dword [ecx + 0x38]
mov dword [ebx + eax*4 + 0x10], ecx
mov dword [ebx + eax*4 + 8], 1
mov dword [ebx + eax*4 + 0x18], eax
inc eax
push 1
pop esi
mov dword [ebx + 4], eax
mov eax, dword [ebp + 0x47478]
push esi
push 0xf
mov ecx, ebp
mov dword [ebp + 0x4747c], eax
call fcn.004e5118
push 0x5f
push 0x18
mov ecx, ebp
call fcn.004e5118
push 7
push 0x19
mov ecx, ebp
call fcn.004e5118
xor edi, edi
push edi
push 0x1b
mov ecx, ebp
call fcn.004e5118
mov eax, dword [esp + 0x10]
mov al, byte [eax + 0x84]
neg al
mov ecx, ebp
sbb eax, eax
and eax, 0xfffffffe
add eax, 3
push eax
push 0x16
call fcn.004e5118
push edi
push 0x1d
mov ecx, ebp
call fcn.004e5118
cmp dword [ebp + 0x1fc], edi
jl 0x4e8fb1
push 2
push 2
push edi
mov ecx, ebp
call fcn.004e5192
push edi
push 3
push edi
mov ecx, ebp
call fcn.004e5192
push 4
push esi
push edi
mov ecx, ebp
call fcn.004e5192
cmp dword [ebp + 0x1fc], edi
jl 0x4e8fb1
push 2
push 5
push edi
mov ecx, ebp
call fcn.004e5192
push edi
push 6
push edi
mov ecx, ebp
call fcn.004e5192
push 4
push 4
push edi
mov ecx, ebp
call fcn.004e5192
cmp dword [ebp + 0x1fc], edi
jl 0x4e8fb1
push esi
push 0xd
push edi
mov ecx, ebp
call fcn.004e5192
push esi
push 0xe
push edi
mov ecx, ebp
call fcn.004e5192
push esi
push 0x19
push edi
mov ecx, ebp
call fcn.004e5192
cmp dword [ebp + 0x1fc], edi
mov eax, dword [ebp + 0x47794]
mov dword [esp + 0x48], eax
jl 0x4e8ff1
push eax
push 0x13
push edi
mov ecx, ebp
call fcn.004e5192
push 2
push 0x10
push edi
mov ecx, ebp
call fcn.004e5192
push esi
push 0x11
push edi
mov ecx, ebp
call fcn.004e5192
push 2
push 0x12
push edi
mov ecx, ebp
call fcn.004e5192
cmp dword [ebx + 0x14], edi
jl 0x4e9317
cmp dword [ebp + 0x1fc], esi
jl 0x4e9078
push 2
push 2
push esi
mov ecx, ebp
call fcn.004e5192
push esi
push 3
push esi
mov ecx, ebp
call fcn.004e5192
push 4
push esi
push esi
mov ecx, ebp
call fcn.004e5192
cmp dword [ebp + 0x1fc], esi
jl 0x4e9078
push 2
push 5
push esi
mov ecx, ebp
call fcn.004e5192
push esi
push 6
push esi
mov ecx, ebp
call fcn.004e5192
push 3
push 4
push esi
mov ecx, ebp
call fcn.004e5192
cmp dword [ebp + 0x1fc], esi
jl 0x4e9078
push esi
push 0xd
push esi
mov ecx, ebp
call fcn.004e5192
push esi
push 0xe
push esi
mov ecx, ebp
call fcn.004e5192
push esi
push 0x19
push esi
mov ecx, ebp
call fcn.004e5192
cmp dword [ebp + 0x1fc], esi
mov eax, dword [ebp + 0x47794]
mov dword [esp + 0x4c], eax
jl 0x4e933d
push eax
jmp 0x4e92f0
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x10]
lea esi, [esp + 0x60]
mov edi, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [eax + 0x50]
lea edi, [ebx + 0x30]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [eax + 0x70]
lea edi, [ebx + 0x50]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [eax + 0x80]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [eax + 0x60]
lea edi, [ebx + 0x40]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebx + 0x60], ecx
xor ecx, ecx
cmp byte [eax + 0x14], cl
je 0x4e90ed
mov ecx, dword [eax + 0x24]
mov dword [ebx + 0x10], ecx
mov ecx, dword [esp + 0x18]
mov dword [ebx + 8], 2
push 1
mov dword [ebx + 0x18], ecx
pop ecx
cmp byte [eax + 0x3c], 0
je 0x4e910d
mov eax, dword [eax + 0x4c]
mov dword [ebx + ecx*4 + 0x10], eax
mov eax, dword [esp + 0x18]
add eax, ecx
mov dword [ebx + ecx*4 + 8], 3
mov dword [ebx + ecx*4 + 0x18], eax
inc ecx
cmp dword [ebx + 0x10], 0
mov dword [ebx + 4], ecx
jge 0x4e9120
mov eax, dword [ebx + 0x14]
or dword [ebx + 0x14], 0xffffffff
mov dword [ebx + 0x10], eax
mov eax, dword [ebp + 0x47478]
mov dword [ebp + 0x4747c], eax
mov eax, dword [esp + 0x10]
mov al, byte [eax + 0x84]
neg al
mov ecx, ebp
sbb eax, eax
and eax, 0xfffffffe
add eax, 3
push eax
push 0x16
call fcn.004e5118
push 1
pop esi
push esi
push 0x1d
mov ecx, ebp
call fcn.004e5118
push esi
push 0x1b
mov ecx, ebp
call fcn.004e5118
push 2
push 0x13
mov ecx, ebp
call fcn.004e5118
push 2
push 0x14
mov ecx, ebp
call fcn.004e5118
push esi
push 0xf
mov ecx, ebp
call fcn.004e5118
push esi
push 0x18
mov ecx, ebp
call fcn.004e5118
push 7
push 0x19
mov ecx, ebp
call fcn.004e5118
xor edi, edi
cmp dword [ebp + 0x1fc], edi
jl 0x4e9216
push 2
push 2
push edi
mov ecx, ebp
call fcn.004e5192
push edi
push 3
push edi
mov ecx, ebp
call fcn.004e5192
push 4
push esi
push edi
mov ecx, ebp
call fcn.004e5192
cmp dword [ebp + 0x1fc], edi
jl 0x4e9216
push 2
push 5
push edi
mov ecx, ebp
call fcn.004e5192
push edi
push 6
push edi
mov ecx, ebp
call fcn.004e5192
push 2
push 4
push edi
mov ecx, ebp
call fcn.004e5192
cmp dword [ebp + 0x1fc], edi
jl 0x4e9216
push esi
push 0xd
push edi
mov ecx, ebp
call fcn.004e5192
push esi
push 0xe
push edi
mov ecx, ebp
call fcn.004e5192
push esi
push 0x19
push edi
mov ecx, ebp
call fcn.004e5192
cmp dword [ebp + 0x1fc], edi
mov eax, dword [ebp + 0x47794]
mov dword [esp + 0x50], eax
jl 0x4e9256
push eax
push 0x13
push edi
mov ecx, ebp
call fcn.004e5192
push 2
push 0x10
push edi
mov ecx, ebp
call fcn.004e5192
push esi
push 0x11
push edi
mov ecx, ebp
call fcn.004e5192
push 2
push 0x12
push edi
mov ecx, ebp
call fcn.004e5192
cmp dword [ebx + 0x14], edi
jl 0x4e9317
cmp dword [ebp + 0x1fc], esi
jl 0x4e92dd
push 2
push 2
push esi
mov ecx, ebp
call fcn.004e5192
push esi
push 3
push esi
mov ecx, ebp
call fcn.004e5192
push 4
push esi
push esi
mov ecx, ebp
call fcn.004e5192
cmp dword [ebp + 0x1fc], esi
jl 0x4e92dd
push 2
push 5
push esi
mov ecx, ebp
call fcn.004e5192
push esi
push 6
push esi
mov ecx, ebp
call fcn.004e5192
push 3
push 4
push esi
mov ecx, ebp
call fcn.004e5192
cmp dword [ebp + 0x1fc], esi
jl 0x4e92dd
push esi
push 0xd
push esi
mov ecx, ebp
call fcn.004e5192
push esi
push 0xe
push esi
mov ecx, ebp
call fcn.004e5192
push esi
push 0x19
push esi
mov ecx, ebp
call fcn.004e5192
cmp dword [ebp + 0x1fc], esi
mov eax, dword [ebp + 0x47794]
mov dword [esp + 0x54], eax
jl 0x4e933d
push eax
push 0x13
push esi
mov ecx, ebp
call fcn.004e5192
push 2
push 0x10
push esi
mov ecx, ebp
call fcn.004e5192
push esi
push 0x11
push esi
mov ecx, ebp
call fcn.004e5192
push 2
push 0x12
jmp 0x4e9335
cmp dword [ebp + 0x1fc], esi
jl 0x4e933d
push edi
push esi
mov ecx, ebp
call fcn.004e5238
push esi
push esi
push esi
mov ecx, ebp
call fcn.004e5192
push esi
push 4
push esi
mov ecx, ebp
call fcn.004e5192
push ebx
mov ecx, ebp
call fcn.004e528d
mov eax, dword [ebx + 4]
add dword [esp + 0x18], eax
inc dword [esp + 0x14]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
cmp ecx, dword [eax + 0xc]
jl 0x4e8753
mov esi, dword [esp + 0x90]
mov ecx, eax
jmp 0x4e9373
mov esi, dword [esp + 0x90]
mov edx, dword [ecx + 0xc]
or dword [ecx + 4], 0xffffffff
test edx, edx
mov ebx, dword [esp + 0x2c]
jle 0x4e93a2
lea eax, [ecx + 0x2c]
mov edi, edx
mov edx, dword [eax - 4]
cmp dword [ecx + 4], edx
jge 0x4e9392
mov dword [ecx + 4], edx
mov edx, dword [eax]
cmp dword [ecx + 4], edx
jge 0x4e939c
mov dword [ecx + 4], edx
add eax, 0x64
dec edi
jne 0x4e9387
inc dword [ecx + 4]
inc dword [esp + 0x1c]
mov edi, dword [esi + 0x5c]
cmp dword [esp + 0x1c], edi
jl 0x4e86c3
test edi, edi
jle 0x4e93d5
mov eax, dword [esp + 0x30]
add eax, 4
mov ecx, dword [eax]
cmp dword [esp + 0x28], ecx
jge 0x4e93cd
mov dword [esp + 0x28], ecx
add eax, 0xd8
dec edi
jne 0x4e93c1
mov eax, dword [esp + 0x28]
mov dword [ebx + 8], eax
mov al, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x7c
ret 4