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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x47d4a9
sub esp, 0x74
lea edi, [esp + 0x98]
xor eax, eax
call fcn.0046537b
mov ecx, dword [esp + 0x94]
test ecx, ecx
je 0x47d490
mov eax, dword [esp + 0x78]
mov dword [esp], eax
mov eax, dword [esp + 0x7c]
dec eax
mov dword [esp + 4], eax
mov dword [esp + 8], 0xc
call fcn.0047d110
mov eax, dword [esp + 0xc]
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x38], ecx
mov edx, dword [esp + 0x8c]
mov dword [esp], edx
mov edx, dword [esp + 0x90]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x3b9aca00
call fcn.0047d110
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x58], ecx
mov edx, dword [esp + 0x88]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x3c
call fcn.0047d110
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x54], ecx
mov edx, dword [esp + 0x84]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x3c
call fcn.0047d110
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0x80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x18
call fcn.0047d110
mov eax, dword [esp + 0xc]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x48], ecx
mov edx, dword [esp + 0x5c]
mov dword [esp], edx
call fcn.0047cb30
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x38]
lea ebx, [0x5a2ee0]
mov ebx, dword [ebx + edx*4]
mov ebp, ebx
sar ebx, 0x1f
add eax, ebp
mov dword [esp + 0x3c], eax
adc ecx, ebx
mov dword [esp + 0x44], ecx
mov ebx, dword [esp + 0x5c]
mov dword [esp], ebx
call fcn.0047d0b0
movzx eax, byte [esp + 4]
test al, al
je 0x47d315
mov ecx, dword [esp + 0x38]
inc ecx
cmp ecx, 3
jl 0x47d30b
mov eax, dword [esp + 0x3c]
add eax, 1
mov ecx, dword [esp + 0x44]
adc ecx, 0
jmp 0x47d31d
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x44]
jmp 0x47d31d
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x4c]
dec edx
mov ebx, edx
add edx, eax
mov ebp, eax
mov eax, edx
mov esi, 0x15180
mul esi
mov esi, ebx
sar ebx, 0x1f
add esi, ebp
adc ebx, ecx
imul ecx, ebx, 0x15180
add ecx, edx
mov edx, dword [esp + 0x48]
imul edx, edx, 0xe10
mov ebx, dword [esp + 0x50]
imul ebx, ebx, 0x3c
add edx, ebx
mov ebx, dword [esp + 0x54]
add edx, ebx
mov ebx, edx
sar edx, 0x1f
add ebx, eax
mov dword [esp + 0x40], ebx
adc ecx, edx
mov dword [esp + 0x44], ecx
add ebx, 0xe5263700
mov dword [esp + 0x2c], ebx
adc ecx, 0x80000001
mov dword [esp + 0x30], ecx
mov esi, dword [esp + 0x94]
mov dword [esp], esi
mov dword [esp + 8], ecx
mov dword [esp + 4], ebx
call fcn.0047d560
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
test ecx, ecx
je 0x47d43c
mov dword [esp + 0x34], ecx
mov eax, ecx
sar ecx, 0x1f
mov edi, dword [esp + 0x40]
sub edi, eax
mov eax, dword [esp + 0x44]
sbb eax, ecx
add edi, 0xe5263700
adc eax, 0x80000001
cmp ebx, eax
setg cl
sete bl
cmp edi, edx
setb dl
and edx, ebx
or edx, ecx
test dl, dl
jne 0x47d3fd
cmp esi, eax
setl cl
sete dl
cmp edi, ebp
setae bl
and ebx, edx
or ebx, ecx
test bl, bl
je 0x47d41a
mov ecx, dword [esp + 0x94]
mov dword [esp], ecx
mov dword [esp + 8], eax
mov dword [esp + 4], edi
call fcn.0047d560
mov ecx, dword [esp + 0x14]
jmp 0x47d41e
mov ecx, dword [esp + 0x34]
mov eax, ecx
sar ecx, 0x1f
mov ebx, dword [esp + 0x40]
sub ebx, eax
mov eax, dword [esp + 0x44]
sbb eax, ecx
add ebx, 0xe5263700
adc eax, 0x80000001
jmp 0x47d444
mov eax, dword [esp + 0x30]
mov ebx, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov dword [esp], ebx
mov eax, dword [esp + 0x58]
mov dword [esp + 8], eax
call fcn.0047ced0
lea edi, [esp + 0x60]
lea esi, [esp + 0xc]
call fcn.0046585e
lea eax, [esp + 0x60]
mov dword [esp], eax
mov ecx, dword [esp + 0x94]
mov dword [esp + 4], ecx
call fcn.0047b0a0
lea edi, [esp + 0x98]
lea esi, [esp + 0x60]
call fcn.0046585e
add esp, 0x74
ret
lea eax, [0x4ec7e0]
mov dword [esp], eax
lea eax, [0x518198]
mov dword [esp + 4], eax
call fcn.00438510
nop
call fcn.00463e70
jmp fcn.0047d1a0