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

Disassembly:
sub esp, 0x60
mov eax, dword [0xcdc8b8]
push ebx
push esi
push edi
push 1
push eax
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], 0
call fcn.0046ca90
mov edi, dword [esp + 0x80]
mov esi, dword [esp + 0x7c]
mov ecx, dword [0xcdc8b8]
push edi
push esi
push ecx
call fcn.0045cad0
mov ecx, dword [0xcdc8b8]
lea edx, [esp + 0x60]
push edx
lea eax, [esp + 0x38]
push eax
push edi
push esi
push ecx
call fcn.0045c540
mov dword [esp + 0x40], eax
mov eax, esi
add esp, 0x28
dec eax
mov bl, 0x20
je 0x47b689
dec eax
je 0x47b665
dec eax
je 0x47b651
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x60
ret
mov al, byte [esp + 0x80]
test al, al
jne 0x47b69c
mov byte [esp + 0x80], bl
jmp 0x47b69c
mov al, byte [esp + 0x80]
test al, al
jne 0x47b677
mov byte [esp + 0x80], bl
mov dword [esp + 0x3c], 0x3fcccccd
mov dword [esp + 0x40], 0x3fdb6e2f
jmp 0x47b6ac
mov al, byte [esp + 0x80]
test al, al
jne 0x47b69c
mov byte [esp + 0x80], 0x16
mov dword [esp + 0x3c], 0x3f800000
mov dword [esp + 0x40], 0x3f800000
push ebp
push 0xbc
mov dword [esp + 0x4c], 0x3f800000
mov dword [esp + 0x50], 0x3f800000
call fcn.00476b10
mov esi, eax
xor ebp, ebp
add esp, 4
cmp esi, ebp
jne 0x47b6dc
pop ebp
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x60
ret
fld dword [esp + 0x58]
call fcn.0043bd30
movsx edx, ax
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fmul dword [esp + 0x40]
call fcn.0043bd30
cmp byte [esp + 0x84], bl
jbe 0x47b709
mov byte [esp + 0x84], bl
movzx edx, byte [esp + 0x84]
movsx ecx, ax
cmp ecx, edx
jge 0x47b71f
mov byte [esp + 0x84], al
movzx ebx, byte [esp + 0x84]
mov eax, ecx
cdq
idiv ebx
mov word [esp + 0x30], bp
mov word [esp + 0x32], bp
mov word [esp + 0x36], bp
mov word [esp + 0x38], bp
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
mov edi, eax
mov word [esp + 0x34], di
fstp dword [esp + 0x14]
fld dword [esp + 0x5c]
fmul dword [esp + 0x44]
call fcn.0043bd30
mov word [esp + 0x3a], ax
mov word [esp + 0x3e], ax
movsx eax, di
mov dword [esp + 0x28], eax
movzx ecx, word [esp + 0x80]
fild dword [esp + 0x28]
mov edx, dword [esp + 0x74]
push ecx
fst dword [esp + 0x14]
mov word [esp + 0x40], di
fdiv dword [esp + 0x44]
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
push edx
fst dword [esp + 0x60]
fstp dword [esi + 0xb0]
call fcn.004687c0
mov ebp, eax
mov edi, dword [ebp + 0x10]
push 1
push edi
mov dword [esp + 0x38], edi
call fcn.0046ca90
add esp, 0x10
test ebx, ebx
mov dword [esp + 0x20], 0
jle 0x47b8ce
lea eax, [esi + 0xc]
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], ebx
mov edi, edi
push ebp
call fcn.00468710
mov ecx, dword [esp + 0x1c]
mov edi, eax
push 1
push edi
mov dword [ecx], edi
call fcn.004654b0
mov edx, dword [esp + 0x28]
push edx
push edi
call fcn.00465f10
mov eax, dword [esp + 0x38]
push eax
push edi
call fcn.00465a20
lea ecx, [esp + 0x7c]
push ecx
push edi
call fcn.004654c0
lea edx, [esp + 0x54]
push edx
push edi
call fcn.00465b10
lea eax, [esp + 0x7c]
push eax
push edi
call fcn.004655b0
movsx ecx, word [esp + 0x64]
mov dword [esp + 0x60], ecx
add esp, 0x34
fild dword [esp + 0x2c]
fadd dword [esp + 0x10]
call fcn.0043bd30
movsx edx, word [esp + 0x34]
mov dword [esp + 0x2c], edx
mov word [esp + 0x30], ax
fild dword [esp + 0x2c]
fadd dword [esp + 0x10]
call fcn.0043bd30
mov word [esp + 0x34], ax
movsx eax, word [esp + 0x38]
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
fadd dword [esp + 0x10]
call fcn.0043bd30
movsx ecx, word [esp + 0x3c]
mov dword [esp + 0x2c], ecx
mov word [esp + 0x38], ax
fild dword [esp + 0x2c]
fadd dword [esp + 0x10]
call fcn.0043bd30
fld dword [esp + 0x58]
mov ecx, dword [esp + 0x18]
fadd dword [esp + 0x50]
add ecx, 4
dec ebx
fstp dword [esp + 0x50]
mov word [esp + 0x3c], ax
mov dword [esp + 0x18], ecx
jne 0x47b7f0
mov edi, dword [esp + 0x28]
fld dword [esp + 0x14]
fcomp dword [0x879dc4]
fnstsw ax
test ah, 0x44
jnp 0x47b98b
push ebp
call fcn.00468710
mov edx, dword [esp + 0x24]
mov dword [esi + edx*4 + 0xc], eax
movsx eax, word [esp + 0x38]
mov dword [esp + 0x30], eax
fild dword [esp + 0x30]
fsub dword [esp + 0x14]
fadd dword [esp + 0x18]
call fcn.0043bd30
movsx ecx, word [esp + 0x40]
mov dword [esp + 0x30], ecx
mov word [esp + 0x38], ax
fild dword [esp + 0x30]
fsub dword [esp + 0x14]
fadd dword [esp + 0x18]
call fcn.0043bd30
mov edx, dword [esp + 0x18]
push edi
mov word [esp + 0x44], ax
mov dword [esp + 0x60], edx
call fcn.00462bb0
mov edi, eax
push 1
push edi
call fcn.004654b0
mov eax, dword [esp + 0x2c]
push eax
push edi
call fcn.00465f10
mov ecx, dword [esp + 0x3c]
push ecx
push edi
call fcn.00465a20
lea edx, [esp + 0x80]
push edx
push edi
call fcn.004654c0
lea eax, [esp + 0x58]
push eax
push edi
call fcn.00465b10
lea ecx, [esp + 0x80]
push ecx
push edi
call fcn.004655b0
mov edi, dword [esp + 0x60]
add esp, 0x38
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x7c]
mov dword [esi], edx
mov edx, dword [esp + 0x40]
mov dword [esi + 0x94], eax
mov eax, dword [esp + 0x44]
lea ecx, [esi + 0x98]
mov dword [ecx], edx
mov edx, dword [esp + 0x48]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x4c]
mov dword [ecx + 8], edx
mov dl, byte [esp + 0x84]
mov dword [ecx + 0xc], eax
mov cl, byte [esp + 0x78]
mov al, 0x40
mov byte [esi + 0xa9], al
mov byte [esi + 0xab], al
mov eax, dword [esp + 0x14]
mov dword [esi + 4], ebp
mov dword [esi + 8], edi
mov byte [esi + 0xa8], 0
mov byte [esi + 0xaa], 2
mov byte [esi + 0xac], cl
mov byte [esi + 0xad], 0xff
mov byte [esi + 0xaf], dl
mov dword [esi + 0xb4], eax
mov ecx, dword [esp + 0x5c]
push esi
mov dword [esi + 0xb8], ecx
mov byte [esi + 0xae], 1
call fcn.0047b1e0
add esp, 4
pop ebp
pop edi
mov eax, esi
pop esi
pop ebx
add esp, 0x60
ret