Function at 0x484340
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 0x48476c
cmp dword [eax + 0x78], 4
jne 0x48476c
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], SysStringLen
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.00490d80
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.004924b0
mov eax, dword [esp + 0xd4]
cmp eax, ebp
jne 0x4843d9
lea eax, [esi + 0x30]
lea ecx, [esp + 0xb4]
push ecx
push eax
mov edx, ecx
push edx
call fcn.0043ce30
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 0x484418
cmp dword [eax + 0xc], ebp
jbe 0x484418
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 0x48447f
mov eax, dword [eax + 8]
cmp eax, ebp
je 0x48447f
mov eax, dword [eax + 0x3e0]
jmp 0x484481
xor eax, eax
push eax
lea ecx, [esp + 0x9c]
push ecx
call fcn.0043d240
add esp, 8
cmp edi, ebp
jne 0x48466a
lea ecx, [esp + 0x14]
call fcn.004911e0
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 0x484745
mov eax, ebx
and eax, 8
mov dword [esp + 0x40], eax
je 0x484619
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.00491880
mov edi, eax
cmp edi, ebp
mov dword [esp + 0x5c], edi
je 0x48475d
cmp dword [edi + 0x78], 3
jne 0x48475d
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
test bl, 4
je 0x484535
mov eax, dword [esp + 0x4c]
push eax
lea ecx, [esp + 0xb8]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00490ed0
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 0x48455a
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 0x48457d
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 0x484652
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 0x4845bc
mov ebp, 0x5000
mov dword [esp + 0x3c], 0x46a00000
mov edx, dword [esp + 0x44]
mov eax, dword [edx + 0x2c]
test eax, eax
je 0x48462a
mov eax, dword [eax + 8]
test eax, eax
je 0x48462a
mov edx, dword [eax + 0x3e0]
test edx, edx
je 0x48462a
mov ecx, edx
call fcn.004a7130
test al, al
je 0x484622
fld dword [0x5d7850]
mov eax, dword [esp + 0x70]
test eax, eax
fdiv dword [esp + 0x3c]
fild dword [esp + 0x70]
jge 0x4845ff
fadd dword [0x5dba00]
mov ecx, dword [esp + 0x18]
fmulp st(1)
mov esi, dword [esp + 0x14]
fst dword [esp + 0xa4]
fstp dword [esp + 0x98]
jmp 0x484650
mov edi, dword [esp + 0x5c]
jmp 0x484508
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.004911d0
mov dword [esp + 0x6c], ebp
mov ecx, dword [esp + 0x18]
cmp ecx, ebp
jl 0x48475d
mov eax, dword [esp + 0x1c]
cmp eax, 0xffffffff
je 0x48468a
add eax, 3
cmp ecx, eax
jg 0x48475d
mov ecx, dword [esp + 0x50]
push ecx
lea ecx, [esp + 0x18]
call fcn.00491210
mov edx, dword [esp + 0x48]
push edx
lea ecx, [esp + 0x18]
mov dword [esp + 0x68], eax
call fcn.004912a0
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x10]
cmp eax, ebp
mov byte [esp + 0x94], 0
jbe 0x4846e4
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 0x4846e4
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.0043ce30
mov edx, dword [esp + 0xec]
push edx
lea eax, [esp + 0x68]
push eax
call dword [esp + 0xf0]
add esp, 0x14
test al, al
je 0x48475d
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 0x484492
lea ecx, [esp + 0x14]
call fcn.004911e0
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