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

Disassembly:
sub esp, 0x64
push ebp
push esi
push edi
mov edi, ecx
mov dword [esp + 0x4c], edi
mov ecx, 0x20
lea eax, [edi + 0x32ec]
mov byte [eax], 0
sub eax, 0x1a0
dec ecx
jne 0x4806a7
mov eax, dword [esp + 0x74]
push 0x64c2b0
push eax
call fcn.005faee1
mov ebp, eax
add esp, 8
test ebp, ebp
mov dword [esp + 0x74], ebp
je 0x48098f
lea esi, [edi + 0x8ea8]
push esi
push 0x651e50
push ebp
call fcn.005fc33a
mov ax, word [esi]
add esp, 0xc
dec ax
test ax, ax
jl 0x48098f
movsx eax, ax
inc eax
push ebx
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x14]
lea edx, [esp + 0x26]
push ecx
lea eax, [esp + 0x28]
push edx
lea ecx, [esp + 0x2a]
push eax
lea edx, [esp + 0x2c]
push ecx
lea eax, [esp + 0x3a]
push edx
lea ecx, [esp + 0x3c]
push eax
lea edx, [esp + 0x48]
push ecx
lea eax, [esp + 0x58]
push edx
lea ecx, [esp + 0x54]
push eax
lea edx, [esp + 0x52]
push ecx
lea eax, [esp + 0x54]
push edx
lea ecx, [esp + 0x44]
push eax
lea edx, [esp + 0x4a]
push ecx
lea eax, [esp + 0x52]
push edx
lea ecx, [esp + 0x54]
push eax
lea edx, [esp + 0x6e]
push ecx
lea eax, [esp + 0x88]
push edx
lea ecx, [esp + 0x88]
push eax
lea edx, [esp + 0x94]
push ecx
lea eax, [esp + 0xb0]
push edx
lea ecx, [esp + 0xa4]
push eax
lea edx, [esp + 0x66]
push ecx
push edx
push str._hd__s__s__d__d__d__hd__hd__hd__hd__hd__hd__hd__f__f__hd__hd__hd__hd__hd__hd__hd__hd
push ebp
xor ebx, ebx
call fcn.005fc33a
add esp, 0x64
cmp eax, 0xffffffff
je 0x48097f
mov ax, word [esp + 0x12]
cmp ax, 0x20
jge 0x48097f
test ax, ax
jl 0x48097f
movsx eax, ax
mov dword [esp + 0x38], 0x13
lea ecx, [eax + eax*2]
lea edx, [eax + ecx*4]
shl edx, 5
lea ebp, [edx + edi + 0x8c]
lea esi, [ebp + 0x4e]
mov eax, dword [esp + 0x78]
lea edi, [esi + 2]
push edi
push esi
push str._hd__hd
push eax
call fcn.005fc33a
mov word [esi + 4], bx
mov cx, word [esi]
imul cx, word [edi]
mov eax, dword [esp + 0x48]
add esp, 0x10
add ebx, ecx
add esi, 6
dec eax
mov dword [esp + 0x38], eax
jne 0x4807cf
xor ebx, ebx
xor esi, esi
cmp word [esp + 0x14], bx
jle 0x480842
mov ecx, dword [esp + 0x78]
lea edx, [esp + 0x16]
lea eax, [esp + 0x12]
push edx
push eax
push str._hd__hd
push ecx
call fcn.005fc33a
movsx edx, word [esp + 0x22]
mov ax, word [esp + 0x26]
add esp, 0x10
inc esi
mov word [ebp + edx*2 + 0xc6], ax
cmp si, word [esp + 0x14]
jl 0x48080c
mov ecx, dword [esp + 0x44]
mov dword [ebp + 0x28], ecx
mov edx, dword [esp + 0x48]
mov dword [ebp + 0x2c], edx
mov ax, word [esp + 0x18]
cmp ax, bx
jl 0x480866
mov ecx, dword [esp + 0x7c]
movsx eax, ax
mov eax, dword [ecx + eax*4]
jmp 0x480868
xor eax, eax
mov dword [ebp + 0x24], eax
mov dl, byte [esp + 0x1a]
mov byte [ebp + 0x32], dl
mov al, byte [esp + 0x1c]
mov byte [ebp + 0x31], al
mov cl, byte [esp + 0x1e]
mov byte [ebp + 0x30], cl
mov dl, byte [esp + 0x20]
mov byte [ebp + 0x33], dl
mov al, byte [esp + 0x22]
mov byte [ebp + 0x34], al
mov cl, byte [esp + 0x24]
mov byte [ebp + 0x36], cl
mov dl, byte [esp + 0x26]
lea eax, [esp + 0x54]
mov byte [ebp + 0x35], dl
push eax
call fcn.00499f70
lea edi, [esp + 0x58]
or ecx, 0xffffffff
xor eax, eax
add esp, 4
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [ebp + 2]
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [ebp + 0xf]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x64]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x4c]
mov dword [ebp + 0x48], ebx
mov dword [ebp + 0x1c], ecx
mov byte [ebp], 1
mov dx, word [esp + 0x28]
mov word [ebp + 0xc2], dx
mov ax, word [esp + 0x2a]
mov word [ebp + 0xc4], ax
mov cl, byte [esp + 0x2c]
mov byte [ebp + 0x37], cl
mov dx, word [esp + 0x2e]
mov word [ebp + 0x38], dx
fld dword [esp + 0x34]
fcomp dword [0x61b584]
fnstsw ax
test ah, 0x40
je 0x48093c
xor eax, eax
jmp 0x480949
fld dword [esp + 0x3c]
fdiv dword [esp + 0x34]
call fcn.005faa4c
mov word [ebp + 0x3a], ax
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x50]
mov dword [ebp + 0x3c], eax
mov ecx, dword [esp + 0x3c]
mov word [ebp + 0x44], bx
mov dword [ebp + 0x40], ecx
mov word [ebp + 0x46], bx
mov byte [ebp + 0x4c], 0
mov byte [ebp + 0x4d], 0
mov dx, word [esp + 0x30]
mov word [ebp + 0xc0], dx
mov ebp, dword [esp + 0x78]
mov eax, dword [esp + 0x40]
dec eax
mov dword [esp + 0x40], eax
jne 0x4806fe
pop ebx
push ebp
call fcn.005fade0
add esp, 4
pop edi
pop esi
pop ebp
add esp, 0x64
ret 8