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

Disassembly:
push ebp
push edi
push esi
push ebx
mov eax, 0x139c
call fcn.0061c580
sub esp, eax
mov ebx, dword [esp + 0x13b4]
mov ebx, dword [ebx + 0x510]
mov dword [esp + 0x20], ebx
mov esi, dword [esp + 0x13b4]
mov esi, dword [esi + 0x508]
mov dword [esp + 0x10], esi
mov edi, dword [esp + 0x13b4]
mov edi, dword [edi + 0x504]
mov dword [esp + 0x44], edi
cmp edi, 0
jle 0x4e49a4
lea eax, [esp + 0x7c]
mov edx, edi
shl edx, 2
lea ecx, [eax + edx]
nop
lea esi, [esi]
mov dword [eax], 0xffffff38
add eax, 4
cmp eax, ecx
jne 0x4e4060
lea eax, [esp + 0x180]
lea ecx, [eax + edx]
mov esi, esi
lea edi, [edi]
mov dword [eax], 0xffffff38
add eax, 4
cmp eax, ecx
jne 0x4e4080
lea eax, [esp + 0x284]
lea ecx, [eax + edx]
mov esi, esi
lea edi, [edi]
mov dword [eax], 0
add eax, 4
cmp eax, ecx
jne 0x4e40a0
lea eax, [esp + 0x388]
lea ecx, [eax + edx]
mov esi, esi
lea edi, [edi]
mov dword [eax], 1
add eax, 4
cmp eax, ecx
jne 0x4e40c0
lea eax, [esp + 0x48c]
add edx, eax
lea esi, [esi]
lea edi, [edi]
mov dword [eax], 0xffffffff
add eax, 4
cmp eax, edx
jne 0x4e40e0
mov ebx, dword [esp + 0x44]
dec ebx
mov dword [esp + 0x18], ebx
test ebx, ebx
jle 0x4e497d
mov ebx, dword [esp + 0x13b4]
add ebx, 4
lea esi, [esp + 0x590]
mov dword [esp + 0x50], esi
mov edi, esi
xor ebp, ebp
xor esi, esi
mov eax, dword [esp + 0x20]
add eax, 0x458
mov dword [esp + 0x1c], eax
lea esi, [esi]
lea edi, [edi]
inc esi
mov ecx, dword [ebx - 4]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x10]
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov eax, dword [ebx]
mov dword [esp], eax
mov edx, dword [esp + 0x13b8]
mov eax, dword [esp + 0x13bc]
call fcn.004e36f0
add ebp, eax
add ebx, 4
add edi, 0x38
cmp esi, dword [esp + 0x18]
jne 0x4e4130
test ebp, ebp
je 0x4e497d
mov dword [esp + 0x64], 0xffffff38
mov dword [esp + 0x68], 0xffffff38
mov ebx, dword [esp + 0x20]
add ebx, 0x454
mov dword [esp + 0x54], ebx
mov edx, dword [esp + 0x44]
dec edx
mov dword [esp + 4], ebx
lea eax, [esp + 0x68]
mov dword [esp], eax
lea ecx, [esp + 0x64]
mov eax, dword [esp + 0x50]
call fcn.004e39c0
mov edi, dword [esp + 0x64]
mov dword [esp + 0x7c], edi
mov dword [esp + 0x180], edi
mov ebp, dword [esp + 0x68]
mov dword [esp + 0x184], ebp
mov dword [esp + 0x80], ebp
cmp dword [esp + 0x44], 2
jle 0x4e49ed
mov dword [esp + 0x38], 2
lea esi, [esi]
lea edi, [edi]
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x13b4]
mov esi, dword [edi + esi*4 + 0x208]
mov dword [esp + 0x40], esi
mov edi, dword [esp + esi*4 + 0x284]
mov dword [esp + 0x30], edi
mov ebx, dword [esp + esi*4 + 0x388]
mov dword [esp + 0x34], ebx
cmp dword [esp + edi*4 + 0x48c], ebx
je 0x4e4570
mov esi, dword [esp + 0x13b4]
mov esi, dword [esi + edi*4 + 0x208]
mov dword [esp + 0x48], esi
mov edi, dword [esp + 0x13b4]
mov edi, dword [edi + ebx*4 + 0x208]
mov dword [esp + 0x4c], edi
mov esi, dword [esp + 0x30]
mov dword [esp + esi*4 + 0x48c], ebx
mov edi, dword [esp + 0x20]
mov ecx, dword [edi + esi*4 + 0x344]
mov ebx, dword [edi + ebx*4 + 0x344]
mov dword [esp + 0x18], ebx
mov eax, esi
shl eax, 2
mov esi, dword [esp + eax + 0x7c]
mov dword [esp + 0x2c], esi
mov eax, dword [esp + eax + 0x180]
test esi, esi
js 0x4e4910
test eax, eax
js 0x4e4296
add dword [esp + 0x2c], eax
sar dword [esp + 0x2c], 1
mov eax, dword [esp + 0x34]
shl eax, 2
mov edi, dword [esp + eax + 0x7c]
mov dword [esp + 0x3c], edi
mov eax, dword [esp + eax + 0x180]
test edi, edi
js 0x4e4920
test eax, eax
js 0x4e42c0
add dword [esp + 0x3c], eax
sar dword [esp + 0x3c], 1
cmp dword [esp + 0x2c], 0xffffffff
je 0x4e49f6
cmp dword [esp + 0x3c], 0xffffffff
je 0x4e49f6
mov ebx, dword [esp + 0x3c]
sub ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x18]
sub esi, ecx
mov dword [esp + 0x10], esi
mov eax, ebx
cdq
idiv esi
mov dword [esp + 0x24], eax
test ebx, ebx
js 0x4e4930
mov edx, eax
inc edx
mov dword [esp + 0x28], edx
lea eax, [ecx*4]
mov esi, dword [esp + 0x13bc]
fld dword [esi + eax]
fld dword [0x7a2140]
fmul st(1)
fadd dword [0x7a2144]
fnstcw word [esp + 0x5a]
mov dx, word [esp + 0x5a]
mov dh, 0xc
mov word [esp + 0x58], dx
fldcw word [esp + 0x58]
fistp dword [esp + 0x5c]
fldcw word [esp + 0x5a]
mov edx, dword [esp + 0x5c]
test edx, edx
js 0x4e4940
cmp edx, 0x3ff
jle 0x4e4354
mov edx, 0x3ff
mov edi, dword [esp + 0x20]
fld dword [edi + 0x458]
fld st(0)
mov esi, dword [esp + 0x13b8]
fadd dword [esi + eax]
fucomp st(2)
fnstsw ax
fstp st(1)
test ah, 5
je 0x4e4730
fld dword [edi + 0x448]
mov edi, dword [esp + 0x2c]
sub edi, edx
mov edx, edi
imul edx, edi
test ebx, ebx
js 0x4e4781
mov eax, dword [esp + 0x10]
imul eax, dword [esp + 0x24]
test eax, eax
js 0x4e4794
sub ebx, eax
mov dword [esp + 0x1c], ebx
mov edi, dword [esp + 0x2c]
mov ebp, 1
xor esi, esi
fld dword [0x7a2140]
lea esi, [esi]
inc ecx
cmp dword [esp + 0x18], ecx
jle 0x4e47a0
add esi, dword [esp + 0x1c]
cmp dword [esp + 0x10], esi
jg 0x4e4710
sub esi, dword [esp + 0x10]
add edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x13bc]
fld dword [ebx + ecx*4]
fld st(0)
fmul st(2)
fadd dword [0x7a2144]
fldcw word [esp + 0x58]
fistp dword [esp + 0x5c]
fldcw word [esp + 0x5a]
mov ebx, dword [esp + 0x5c]
test ebx, ebx
js 0x4e4720
cmp ebx, 0x3ff
jle 0x4e441a
mov ebx, 0x3ff
mov eax, edi
sub eax, ebx
imul eax, eax
add edx, eax
inc ebp
fld st(3)
mov eax, dword [esp + 0x13b8]
fadd dword [eax + ecx*4]
fucompp
fnstsw ax
test ah, 5
jne 0x4e43c0
test ebx, ebx
je 0x4e43c0
mov dword [esp + 0x5c], edi
fild dword [esp + 0x5c]
mov dword [esp + 0x5c], ebx
fild dword [esp + 0x5c]
fld st(1)
fadd st(4)
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x45
je 0x4e447f
fxch st(1)
mov ebx, dword [esp + 0x20]
fsub dword [ebx + 0x44c]
fucompp
fnstsw ax
test ah, 0x45
jne 0x4e43c0
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x4e44a0
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x4e44a0
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x4e44a0
fstp st(0)
fstp st(0)
nop
mov dword [esp + 0x6c], 0xffffff38
mov dword [esp + 0x70], 0xffffff38
mov dword [esp + 0x74], 0xffffff38
mov dword [esp + 0x78], 0xffffff38
mov edx, dword [esp + 0x40]
sub edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x48]
shl ecx, 3
mov ebx, dword [esp + 0x50]
lea eax, [ebx + ecx*8]
sub eax, ecx
mov esi, dword [esp + 0x54]
mov dword [esp + 4], esi
lea edi, [esp + 0x70]
mov dword [esp], edi
lea ecx, [esp + 0x6c]
call fcn.004e39c0
mov ebx, eax
mov edx, dword [esp + 0x4c]
sub edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x40]
shl ecx, 3
mov esi, dword [esp + 0x50]
lea eax, [esi + ecx*8]
sub eax, ecx
mov edi, dword [esp + 0x54]
mov dword [esp + 4], edi
lea ecx, [esp + 0x78]
mov dword [esp], ecx
lea ecx, [esp + 0x74]
call fcn.004e39c0
test ebx, ebx
je 0x4e4830
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x6c], edi
mov edx, dword [esp + 0x74]
mov dword [esp + 0x70], edx
test eax, eax
je 0x4e483c
mov dword [esp + 0x74], edx
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x78], esi
test ebx, ebx
je 0x4e4947
mov edi, dword [esp + 0x38]
mov dword [esp + edi*4 + 0x7c], 0xffffff38
mov dword [esp + edi*4 + 0x180], 0xffffff38
lea esi, [esi]
inc dword [esp + 0x38]
mov edi, dword [esp + 0x44]
cmp dword [esp + 0x38], edi
jne 0x4e41f0
mov edi, dword [esp + 0x7c]
mov esi, dword [esp + 0x180]
mov ebp, dword [esp + 0x80]
mov ebx, dword [esp + 0x184]
mov eax, dword [esp + 0x44]
shl eax, 2
mov dword [esp + 4], eax
mov eax, dword [esp + 0x13b0]
mov dword [esp], eax
call fcn.004d04d0
mov dword [esp + 0x10], eax
test edi, edi
js 0x4e45cd
test esi, esi
js 0x4e4999
add esi, edi
sar esi, 1
mov eax, dword [esp + 0x10]
mov dword [eax], esi
test ebp, ebp
js 0x4e45e3
test ebx, ebx
js 0x4e498e
add ebx, ebp
sar ebx, 1
mov eax, dword [esp + 0x10]
mov dword [eax + 4], ebx
cmp dword [esp + 0x44], 2
jle 0x4e46ff
mov ebp, dword [esp + 0x13b4]
add ebp, 0x408
mov ebx, 2
jmp 0x4e4652
add esi, eax
mov edx, dword [esp + ebx*4 + 0x7c]
test edx, edx
js 0x4e46ce
mov eax, dword [esp + ebx*4 + 0x180]
test eax, eax
js 0x4e4635
add edx, eax
sar edx, 1
test edx, edx
js 0x4e46e0
cmp esi, edx
je 0x4e46e0
mov eax, dword [esp + 0x10]
mov dword [eax + ebx*4], edx
inc ebx
add ebp, 4
cmp ebx, dword [esp + 0x44]
je 0x4e46fb
mov eax, dword [ebp]
mov edx, dword [ebp - 0xfc]
mov esi, dword [esp + 0x20]
mov esi, dword [esi + eax*4 + 0x344]
mov dword [esp + 0x14], esi
mov edi, dword [esp + 0x10]
mov esi, dword [edi + eax*4]
and esi, 0x7fff
mov ecx, dword [edi + edx*4]
and ecx, 0x7fff
sub ecx, esi
mov dword [esp + 0x18], ecx
test ecx, ecx
js 0x4e4970
mov edi, dword [esp + 0x20]
mov eax, dword [edi + ebx*4 + 0x344]
sub eax, dword [esp + 0x14]
imul eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
mov edi, dword [edi + edx*4 + 0x344]
sub edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
cdq
idiv edi
test ecx, ecx
jns 0x4e4610
sub esi, eax
mov edx, dword [esp + ebx*4 + 0x7c]
test edx, edx
jns 0x4e461e
mov edx, dword [esp + ebx*4 + 0x180]
test edx, edx
jns 0x4e4635
lea esi, [esi]
or esi, 0x8000
mov eax, dword [esp + 0x10]
mov dword [eax + ebx*4], esi
inc ebx
add ebp, 4
cmp ebx, dword [esp + 0x44]
jne 0x4e4652
mov eax, dword [esp + 0x10]
add esp, 0x139c
pop ebx
pop esi
pop edi
pop ebp
ret
add edi, dword [esp + 0x24]
jmp 0x4e43e1
xor ebx, ebx
jmp 0x4e440d
fild dword [esp + 0x2c]
fld dword [edi + 0x448]
mov dword [esp + 0x5c], edx
fild dword [esp + 0x5c]
fld st(2)
fadd st(2)
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x45
je 0x4e4490
fxch st(2)
fsub dword [edi + 0x44c]
fucomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x45
je 0x4e449a
mov edi, dword [esp + 0x2c]
sub edi, edx
mov edx, edi
imul edx, edi
test ebx, ebx
jns 0x4e4392
neg ebx
mov eax, dword [esp + 0x10]
imul eax, dword [esp + 0x24]
test eax, eax
jns 0x4e43a3
neg eax
jmp 0x4e43a3
fstp st(0)
fstp st(1)
mov dword [esp + 0x5c], ebp
fild dword [esp + 0x5c]
mov esi, dword [esp + 0x20]
fld dword [esi + 0x450]
fxch st(2)
fmul st(0)
fdiv st(1)
fucomp st(2)
fnstsw ax
test ah, 0x45
je 0x4e4800
fld dword [esi + 0x44c]
fmul st(0)
fdivrp st(1)
fucomp st(1)
fnstsw ax
test ah, 0x45
je 0x4e4806
mov eax, edx
cdq
idiv ebp
mov dword [esp + 0x5c], eax
fild dword [esp + 0x5c]
fucompp
fnstsw ax
test ah, 0x45
jne 0x4e4808
jmp 0x4e44a0
fstp st(0)
fstp st(0)
jmp 0x4e4808
fstp st(0)
mov ebx, dword [esp + 0x38]
mov dword [esp + ebx*4 + 0x7c], 0xffffff38
mov dword [esp + ebx*4 + 0x180], 0xffffff38
jmp 0x4e4570
mov edx, dword [esp + 0x70]
test eax, eax
jne 0x4e4542
mov ecx, dword [esp + 0x74]
mov ebx, dword [esp + 0x78]
mov dword [esp + 0x3c], ebx
mov eax, dword [esp + 0x6c]
mov esi, dword [esp + 0x30]
mov dword [esp + esi*4 + 0x180], eax
test esi, esi
jne 0x4e485f
mov dword [esp + 0x7c], eax
mov edi, dword [esp + 0x38]
mov dword [esp + edi*4 + 0x7c], edx
mov dword [esp + edi*4 + 0x180], ecx
mov esi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x34]
mov dword [esp + ebx*4 + 0x7c], esi
dec ebx
je 0x4e494e
test edx, edx
js 0x4e495d
mov edx, dword [esp + 0x40]
dec edx
js 0x4e48bf
mov ecx, dword [esp + edx*4 + 0x388]
cmp ecx, dword [esp + 0x34]
jne 0x4e48bf
lea eax, [esp + edx*4 + 0x388]
mov ebx, dword [esp + 0x38]
jmp 0x4e48b7
sub eax, 4
cmp dword [eax], ecx
jne 0x4e48bf
mov dword [eax], ebx
dec edx
cmp edx, 0xffffffff
jne 0x4e48b0
mov edx, dword [esp + 0x40]
inc edx
cmp dword [esp + 0x44], edx
jle 0x4e4570
mov ecx, dword [esp + edx*4 + 0x284]
cmp ecx, dword [esp + 0x30]
jne 0x4e4570
lea eax, [esp + edx*4 + 0x284]
mov ebx, dword [esp + 0x44]
mov esi, dword [esp + 0x38]
jmp 0x4e48fb
add eax, 4
cmp dword [eax], ecx
jne 0x4e4570
mov dword [eax], esi
inc edx
cmp edx, ebx
jne 0x4e48f0
jmp 0x4e4570
mov dword [esp + 0x2c], eax
jmp 0x4e4296
mov dword [esp + 0x3c], eax
jmp 0x4e42c0
dec eax
mov dword [esp + 0x28], eax
jmp 0x4e4300
xor edx, edx
jmp 0x4e4347
mov ecx, edx
jmp 0x4e4848
mov dword [esp + 0x184], esi
test edx, edx
jns 0x4e4889
test ecx, ecx
jns 0x4e4889
jmp 0x4e4570
mov eax, ecx
neg eax
mov dword [esp + 0x18], eax
jmp 0x4e468e
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
jmp 0x4e46ff
mov ebx, ebp
mov eax, dword [esp + 0x10]
jmp 0x4e45e3
mov esi, edi
mov eax, dword [esp + 0x10]
jmp 0x4e45cd
jne 0x4e40ed
mov eax, dword [esp + 0x20]
add eax, 0x458
mov dword [esp + 0xc], eax
mov esi, dword [esp + 0x10]
mov dword [esp + 8], esi
lea edi, [esp + 0x590]
mov dword [esp + 0x50], edi
mov dword [esp + 4], edi
mov dword [esp], esi
xor ecx, ecx
mov edx, dword [esp + 0x13b8]
mov eax, dword [esp + 0x13bc]
call fcn.004e36f0
mov ebp, eax
jmp 0x4e416e
mov ebx, ebp
mov esi, edi
jmp 0x4e459b
mov dword [esp], 1
call fcn.0062b698
lea esi, [esi]
lea edi, [edi]