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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x4d14ab
mov eax, dword fs:[0]
push eax
sub esp, 0xa4
push ebx
push ebp
push esi
push edi
mov eax, dword [0x54d158]
xor eax, esp
push eax
lea eax, [esp + 0xb8]
mov dword fs:[0], eax
mov edi, ecx
mov dword [esp + 0x4c], edi
cmp dword [edi + 0x48], 0
je 0x48fdc4
call fcn.00486460
test eax, eax
je 0x48fdc4
lea esi, [edi + 0xf0]
mov ecx, esi
call fcn.004778c0
mov ecx, edi
call fcn.004884f0
push eax
mov ecx, esi
call fcn.00477b70
mov ecx, esi
xor ebp, ebp
call fcn.00477730
mov ebx, eax
test ebx, ebx
jle 0x48f7bc
push 0
push ebp
mov ecx, esi
call fcn.00477b10
add ebp, 1
cmp ebp, ebx
jl 0x48f7ab
lea ebx, [edi + 0xe8]
mov ecx, ebx
xor ebp, ebp
call fcn.00477730
test eax, eax
mov dword [esp + 0x3c], eax
jle 0x48f7f3
push 1
push ebp
mov ecx, ebx
call fcn.004779b0
and eax, 0xffffff
push eax
mov ecx, esi
call fcn.00477b10
add ebp, 1
cmp ebp, dword [esp + 0x3c]
jl 0x48f7d3
mov eax, dword [edi + 0x1c]
xor ecx, ecx
cmp eax, ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], ecx
jne 0x48f80a
mov dword [esp + 0x1c], ecx
jmp 0x48f814
mov eax, dword [eax - 0xc]
shr eax, 2
mov dword [esp + 0x1c], eax
lea ebp, [edi + 0x6c]
push ebp
lea esi, [edi + 0x60]
push esi
mov ecx, edi
call fcn.0048a120
mov ecx, edi
call fcn.0048a080
lea ecx, [edi + 0x20]
call fcn.00476520
mov ecx, edi
call fcn.0048b010
mov eax, 1
push ebp
mov ecx, esi
mov dword [edi + 0x64], eax
mov dword [edi + 0x70], eax
mov dword [edi + 0x78], eax
call fcn.00477890
mov ecx, ebx
call fcn.00477730
xor ebp, ebp
cmp eax, ebp
jle 0x48f89c
mov ebx, eax
mov edi, edi
push 4
call fcn.004a08b1
add esp, 4
mov dword [esp + 0x50], eax
cmp eax, ebp
mov dword [esp + 0xc0], ebp
je 0x48f882
mov ecx, eax
call fcn.00474bb0
jmp 0x48f884
xor eax, eax
push eax
mov ecx, esi
mov dword [esp + 0xc4], 0xffffffff
call fcn.00477890
sub ebx, 1
jne 0x48f860
push 1
mov ecx, esi
call fcn.00477970
cmp eax, ebp
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ebp
je 0x48fdc4
lea ecx, [edi + 0x90]
mov dword [esp + 0x2c], ebp
call fcn.00477730
cmp eax, ebp
mov dword [esp + 0x50], eax
jle 0x48fd63
mov eax, dword [esp + 0x2c]
push eax
lea ecx, [edi + 0x90]
call fcn.004779b0
mov ecx, dword [edi + 0x54]
mov esi, eax
and esi, 0xffffff
push esi
call fcn.00492900
mov ebx, eax
test ebx, ebx
mov dword [esp + 0x44], ebx
je 0x48fd4c
cmp byte [ebx + 0xc], 8
je 0x48fd4c
lea ecx, [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x44]
lea edx, [esp + 0x40]
push edx
lea eax, [esp + 0x3c]
push eax
push ebx
lea ebp, [edi + 0xe8]
push ebp
push ecx
mov ecx, edi
call fcn.0048a1f0
test eax, eax
mov dword [esp + 0x30], eax
jge 0x48fa0e
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
push 0
push 0
push edx
push esi
push ebp
push eax
push ecx
lea eax, [edi + 0x60]
push eax
mov ecx, edi
call fcn.00486080
push 0
lea esi, [edi + 0x20]
push eax
mov ecx, esi
call fcn.00475bf0
push eax
mov ecx, esi
mov dword [esp + 0x34], eax
call fcn.00492950
mov ebp, eax
test ebp, ebp
mov dword [esp + 0x28], ebp
je 0x48fd4c
mov eax, dword [edi + 0x1c]
test eax, eax
je 0x48f98c
mov eax, dword [eax - 0xc]
shr eax, 2
push eax
mov ecx, ebp
call fcn.004cd3c0
xor esi, esi
cmp dword [esp + 0x1c], esi
jle 0x48f9d6
lea esp, [esp]
push esi
lea ecx, [edi + 0x14]
call fcn.00492900
test eax, eax
je 0x48f9cd
cmp word [eax + 0x18], 0x10
jl 0x48f9cd
movsx eax, word [eax + 0x20]
test eax, eax
jl 0x48f9cd
push eax
mov ecx, ebx
call fcn.00499f50
push eax
push esi
mov ecx, ebp
call fcn.0049a060
add esi, 1
cmp esi, dword [esp + 0x1c]
jl 0x48f9a0
push 0
lea ecx, [esp + 0x78]
call fcn.0047d570
lea edx, [esp + 0x74]
push edx
mov ecx, ebp
mov dword [esp + 0xc4], 1
call fcn.00499f40
lea ecx, [esp + 0x74]
mov dword [esp + 0xc0], 0xffffffff
call fcn.0047d5b0
jmp 0x48fa29
mov eax, dword [esp + 0x30]
push eax
lea ecx, [edi + 0x20]
call fcn.00492950
mov ebp, eax
test ebp, ebp
mov dword [esp + 0x28], eax
je 0x48fd4c
mov ebx, dword [esp + 0x1c]
push ebx
mov ecx, ebp
call fcn.00499f50
mov ecx, eax
call fcn.0047dec0
mov esi, eax
add esi, 1
push 0x5507c0
lea ecx, [esp + 0x68]
mov dword [esp + 0x28], esi
call fcn.0047d510
test ebx, ebx
mov dword [esp + 0xc0], 2
mov dword [esp + 0x20], 0
jle 0x48fd1d
mov edi, edi
mov ecx, dword [esp + 0x20]
push ecx
lea ecx, [edi + 0x14]
call fcn.00492900
mov ebx, eax
test ebx, ebx
je 0x48fd04
cmp word [ebx + 0x18], 0x10
jg 0x48fd04
movsx esi, word [ebx + 0x20]
test esi, esi
jl 0x48fd04
mov edx, dword [esp + 0x20]
push edx
mov ecx, ebp
call fcn.00499f50
mov ecx, dword [esp + 0x44]
push esi
mov edi, eax
call fcn.00499f50
test edi, edi
mov esi, eax
je 0x48fac6
cmp word [edi], 0
je 0x48fac6
xor eax, eax
jmp 0x48facb
mov eax, 1
xor ecx, ecx
test eax, eax
sete cl
test esi, esi
mov dword [esp + 0x18], ecx
je 0x48fae4
cmp word [esi], 0
je 0x48fae4
xor eax, eax
jmp 0x48fae9
mov eax, 1
xor edx, edx
test eax, eax
sete dl
mov ecx, edi
mov ebp, edx
mov dword [esp + 0x48], ebp
call fcn.0047e0c0
fstp qword [esp + 0x5c]
mov ecx, esi
call fcn.0047e0c0
fstp qword [esp + 0x54]
push 0x5507c0
lea ecx, [esp + 0x68]
call fcn.0047d2d0
movsx eax, word [ebx + 0x1a]
cmp eax, 0xd0
ja case.0x48fb30.1
movzx eax, byte [eax + 0x48fe10]
jmp dword [eax*4 + 0x48fde0]
cmp dword [esp + 0x18], 0
lea ecx, [esp + 0x64]
je 0x48fb5c
fld qword [esp + 0x5c]
sub esp, 8
fadd qword [0x531dd8]
fstp qword [esp]
call fcn.0047d360
jmp case.0x48fb30.1
push 1
call fcn.0047d0a0
jmp case.0x48fb30.1
cmp dword [esp + 0x18], 0
lea ecx, [esp + 0x64]
je 0x48fb8b
fild dword [esp + 0x48]
sub esp, 8
fadd qword [esp + 0x64]
fstp qword [esp]
call fcn.0047d360
jmp case.0x48fb30.1
push ebp
call fcn.0047d0a0
jmp case.0x48fb30.1
fld qword [esp + 0x54]
sub esp, 8
cmp dword [esp + 0x20], 0
lea ecx, [esp + 0x6c]
je 0x48fc5e
fadd qword [esp + 0x64]
fstp qword [esp]
call fcn.0047d360
jmp case.0x48fb30.1
cmp dword [esp + 0x18], 0
push esi
je 0x48fbd3
mov ecx, edi
call fcn.0047e630
test eax, eax
jl 0x48fbd2
mov esi, edi
push esi
lea ecx, [esp + 0x68]
call fcn.0047cf50
jmp case.0x48fb30.1
cmp dword [esp + 0x18], 0
push esi
je 0x48fbd3
mov ecx, edi
call fcn.0047e630
test eax, eax
jge 0x48fbf6
mov esi, edi
push esi
lea ecx, [esp + 0x68]
call fcn.0047cf50
jmp case.0x48fb30.1
sub esp, 8
cmp dword [esp + 0x2c], 1
jle 0x48fc79
mov ecx, dword [esp + 0x2c]
add ecx, 0xffffffff
mov dword [esp + 0x50], ecx
fild dword [esp + 0x50]
lea ecx, [esp + 0x6c]
fmul qword [esp + 0x64]
fadd qword [esp + 0x5c]
fidiv dword [esp + 0x2c]
fstp qword [esp]
call fcn.0047d0e0
jmp case.0x48fb30.1
sub esp, 8
cmp dword [esp + 0x2c], 1
lea ecx, [esp + 0x6c]
jne 0x48fc5a
fld qword [esp + 0x5c]
fstp qword [esp]
call fcn.0047d0e0
jmp case.0x48fb30.1
fld qword [esp + 0x64]
fstp qword [esp]
call fcn.0047d0e0
jmp case.0x48fb30.1
test ebp, ebp
je 0x48fc8b
cmp dword [esp + 0x18], 0
je 0x48fc8b
sub esp, 8
fld qword [esp + 0x5c]
lea ecx, [esp + 0x6c]
fstp qword [esp]
call fcn.0047d0e0
jmp case.0x48fb30.1
fld qword [esp + 0x5c]
sub esp, 8
lea ecx, [esp + 0x6c]
fstp qword [esp]
call fcn.0047d0e0
jmp case.0x48fb30.1
sub esp, 8
test ebp, ebp
lea ecx, [esp + 0x6c]
je 0x48fc5a
fld qword [esp + 0x5c]
fstp qword [esp]
call fcn.0047d0e0
jmp case.0x48fb30.1
movzx eax, word [ebx + 4]
cmp ax, 1
je 0x48fcdc
cmp ax, 0xa
je 0x48fcdc
cmp ax, 0xc
je 0x48fcdc
push 0
lea ecx, [esp + 0x68]
call fcn.0047d0a0
jmp case.0x48fb30.1
add ebx, 0xc
push ebx
lea ecx, [esp + 0x68]
call fcn.0047d060
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x64]
push edx
push eax
call fcn.0049a060
mov ebp, dword [esp + 0x28]
mov edi, dword [esp + 0x4c]
mov eax, dword [esp + 0x20]
add eax, 1
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x20], eax
jl 0x48fa70
mov esi, dword [esp + 0x24]
push esi
lea ecx, [esp + 0x68]
call fcn.0047d340
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x64]
push ecx
push edx
mov ecx, ebp
call fcn.0049a060
lea ecx, [esp + 0x64]
mov dword [esp + 0xc0], 0xffffffff
call fcn.0047d5b0
mov eax, dword [esp + 0x2c]
add eax, 1
cmp eax, dword [esp + 0x50]
mov dword [esp + 0x2c], eax
jl 0x48f8d0
xor ebp, ebp
cmp dword [esp + 0x30], 0x7ffffffe
ja 0x48fdc4
mov ecx, edi
call fcn.004864a0
mov ecx, edi
call fcn.004864c0
mov ecx, edi
call fcn.0048b110
lea ecx, [edi + 0x80]
call fcn.004778c0
lea ecx, [edi + 0x90]
call fcn.004778c0
mov ecx, edi
mov dword [edi + 0x8c], ebp
mov dword [edi + 0x7c], ebp
call fcn.0048eaf0
mov eax, 1
mov ecx, dword [esp + 0xb8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
xor eax, eax
mov ecx, dword [esp + 0xb8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret