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

Disassembly:
sub esp, 0xc4
push ebp
push esi
mov esi, ecx
mov eax, dword [esi + 0x18]
xor ebp, ebp
cmp eax, ebp
mov dword [esp + 0x3c], esi
je 0x49039c
cmp dword [eax + 0x78], 4
jne 0x49039c
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], 0x7fffffff
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], ebp
mov byte [esp + 0x2c], 0
mov edx, dword [eax + 0x74]
mov ecx, dword [eax + 0x68]
mov eax, dword [eax + 0x70]
push ebx
push edx
push ebp
mov dword [esp + 0x58], ecx
push eax
lea ecx, [esp + 0x1c]
call fcn.0049c9d0
mov ecx, dword [esi + 0x18]
mov bl, byte [ecx + 0x7e]
xor edx, edx
cmp bl, 0x21
sete dl
lea eax, [esp + 0xb4]
push eax
lea ecx, [esp + 0x14]
mov dword [esp + 0x4c], edx
call fcn.0049e5f0
mov eax, dword [esp + 0xd4]
cmp eax, ebp
jne 0x490009
lea eax, [esi + 0x30]
lea ecx, [esp + 0xb4]
push ecx
push eax
mov edx, ecx
push edx
call fcn.0043e4f0
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x1c]
add esp, 0xc
cmp eax, ebp
mov dword [esp + 0x34], ebp
mov dword [esp + 0xc], ebp
je 0x490048
cmp dword [eax + 0xc], ebp
jbe 0x490048
mov ecx, dword [esi + 4]
mov eax, dword [ecx + 0x1c]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0xc], edx
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dl, byte [eax + ecx]
inc eax
mov dword [esp + 0x14], eax
mov cl, byte [eax + ecx]
inc eax
mov dword [esp + 0x14], eax
movzx eax, cl
movzx edx, dl
mov dword [esp + 0x44], eax
mov eax, dword [esi + 0x2c]
push edi
xor edi, edi
cmp eax, ebp
mov dword [esp + 0x50], edx
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x60], ebp
mov dword [esp + 0x64], ebp
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x70], ebp
mov dword [esp + 0x74], ebp
mov byte [esp + 0x94], 0
je 0x4900af
mov eax, dword [eax + 8]
cmp eax, ebp
je 0x4900af
mov eax, dword [eax + 0x3e0]
jmp 0x4900b1
xor eax, eax
push eax
lea ecx, [esp + 0x9c]
push ecx
call fcn.0043e900
add esp, 8
cmp edi, ebp
jne 0x49029a
lea ecx, [esp + 0x14]
call fcn.0049ce30
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
mov al, byte [ecx + esi]
movzx ebx, al
inc ecx
cmp ebx, ebp
mov dword [esp + 0x18], ecx
je 0x490375
mov eax, ebx
and eax, 8
mov dword [esp + 0x40], eax
je 0x490249
lea eax, [ecx + esi]
add ecx, 2
xor edx, edx
mov dword [esp + 0x18], ecx
mov dh, byte [eax + 1]
mov ecx, dword [esp + 0x54]
mov dl, byte [eax]
push edx
call fcn.0049d9e0
mov edi, eax
cmp edi, ebp
mov dword [esp + 0x5c], edi
je 0x49038d
cmp dword [edi + 0x78], 3
jne 0x49038d
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
test bl, 4
je 0x490165
mov eax, dword [esp + 0x4c]
push eax
lea ecx, [esp + 0xb8]
push ecx
lea ecx, [esp + 0x1c]
call fcn.0049cb20
mov edx, dword [eax]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x5c]
mov dword [esp + 0x60], edx
test bl, 1
je 0x49018a
lea eax, [ecx + esi]
xor edx, edx
add ecx, 2
mov dword [esp + 0x18], ecx
mov dh, byte [eax + 1]
movzx eax, byte [eax]
movsx edx, dx
or edx, eax
mov dword [esp + 0xa8], edx
xor ebp, ebp
test bl, 2
je 0x4901ad
lea eax, [ecx + esi]
add ecx, 2
xor edx, edx
mov dword [esp + 0x18], ecx
mov dh, byte [eax + 1]
movzx eax, byte [eax]
movsx edx, dx
or edx, eax
mov dword [esp + 0xac], edx
cmp dword [esp + 0x40], ebp
je 0x490282
lea edx, [ecx + esi]
xor eax, eax
add ecx, 2
mov dword [esp + 0x18], ecx
mov ah, byte [edx + 1]
mov ebp, 0x400
mov dword [esp + 0x3c], 0x44800000
mov al, byte [edx]
mov dword [esp + 0x70], eax
cmp byte [edi + 0x7e], 0x4b
jne 0x4901ec
mov ebp, 0x5000
mov dword [esp + 0x3c], 0x46a00000
mov edx, dword [esp + 0x44]
mov eax, dword [edx + 0x2c]
test eax, eax
je 0x49025a
mov eax, dword [eax + 8]
test eax, eax
je 0x49025a
mov edx, dword [eax + 0x3e0]
test edx, edx
je 0x49025a
mov ecx, edx
call fcn.004b4e30
test al, al
je 0x490252
fld dword [0x5f6864]
mov eax, dword [esp + 0x70]
test eax, eax
fdiv dword [esp + 0x3c]
fild dword [esp + 0x70]
jge 0x49022f
fadd dword [0x5fb11c]
mov ecx, dword [esp + 0x18]
fmulp st(1)
mov esi, dword [esp + 0x14]
fst dword [esp + 0xa4]
fstp dword [esp + 0x98]
jmp 0x490280
mov edi, dword [esp + 0x5c]
jmp 0x490138
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
mov eax, 0x10000
cdq
idiv ebp
mov dword [esp + 0xb0], 0
imul eax, dword [esp + 0x70]
mov dword [esp + 0xa4], eax
mov dword [esp + 0x98], eax
xor ebp, ebp
mov al, byte [ecx + esi]
inc ecx
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x14]
movzx edi, al
call fcn.0049ce20
mov dword [esp + 0x6c], ebp
mov ecx, dword [esp + 0x18]
cmp ecx, ebp
jl 0x49038d
mov eax, dword [esp + 0x1c]
cmp eax, 0xffffffff
je 0x4902ba
add eax, 3
cmp ecx, eax
jg 0x49038d
mov ecx, dword [esp + 0x50]
push ecx
lea ecx, [esp + 0x18]
call fcn.0049ce60
mov edx, dword [esp + 0x48]
push edx
lea ecx, [esp + 0x18]
mov dword [esp + 0x68], eax
call fcn.0049cef0
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x10]
cmp eax, ebp
mov byte [esp + 0x94], 0
jbe 0x490314
mov esi, eax
mov eax, dword [esp + 0x38]
mov cl, byte [eax]
dec esi
inc eax
test cl, cl
mov dword [esp + 0x10], esi
mov dword [esp + 0x38], eax
mov byte [esp + 0x94], 1
jne 0x490314
mov byte [esp + 0x94], 0
lea edx, [esp + 0x78]
push edx
lea eax, [esp + 0xbc]
push eax
lea ecx, [esp + 0xa0]
push ecx
call fcn.0043e4f0
mov edx, dword [esp + 0xec]
push edx
lea eax, [esp + 0x68]
push eax
call dword [esp + 0xf0]
add esp, 0x14
test al, al
je 0x49038d
mov ecx, dword [esp + 0x74]
mov esi, dword [esp + 0xa8]
mov eax, dword [esp + 0x68]
add esi, ecx
mov ecx, dword [esp + 0x6c]
dec edi
inc ecx
inc eax
mov dword [esp + 0xa8], esi
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x68], eax
jmp 0x4900c2
lea ecx, [esp + 0x14]
call fcn.0049ce30
pop edi
pop ebx
pop esi
mov al, 1
pop ebp
add esp, 0xc4
ret 0xc
pop edi
pop ebx
pop esi
xor al, al
pop ebp
add esp, 0xc4
ret 0xc
pop esi
xor al, al
pop ebp
add esp, 0xc4
ret 0xc