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

Disassembly:
mov ecx, dword [0x9aee30]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x47d1fe
sub esp, 0x68
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 4]
mov edx, 1
shl edx, cl
mov ebx, dword [eax + 8]
mov dword [esp + 0x5c], ebx
mov ebp, dword [eax]
mov dword [esp + 0x58], ebp
mov esi, dword [esp + 0x80]
add esi, ebp
cmp ecx, 0x20
sbb edi, edi
and edx, edi
mov dword [esp + 0x54], edx
lea edi, [edx + ebx - 2]
mov dword [esp + 0x1c], edi
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x50], eax
jmp 0x47ccbe
mov ecx, dword [esp + 0x4c]
shl ecx, 1
mov eax, dword [esp + 0x50]
mov edx, eax
shr eax, 0x1f
or ecx, eax
shl edx, 1
mov eax, dword [esp + 0x48]
lea esi, [eax - 1]
mov ebp, dword [esp + 0x58]
mov ebx, dword [esp + 0x5c]
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
test eax, eax
setne dl
test ecx, ecx
xchg edi, ebx
setne bl
xchg edi, ebx
or edi, edx
xchg edi, eax
test al, al
xchg edi, eax
je 0x47cd47
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x48], esi
lea edx, [ebp - 0x1e]
mov edi, ecx
mov ecx, edx
shr edi, cl
neg ecx
mov dword [esp + 0x44], ecx
mov ebx, dword [esp + 0x4c]
shl ebx, cl
add ebp, 2
mov ecx, ebp
mov esi, dword [esp + 0x4c]
shr esi, cl
shr eax, cl
cmp edx, 0x20
sbb edx, edx
and edi, edx
mov edx, dword [esp + 0x44]
cmp edx, 0x20
sbb edx, edx
and ebx, edx
cmp ecx, 0x20
sbb edx, edx
and eax, edx
or eax, ebx
or eax, edi
test eax, eax
sete al
test edx, esi
sete dl
and eax, edx
test al, al
jne 0x47cc90
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x58]
mov esi, dword [esp + 0x48]
movzx edx, byte [esp + 0x85]
test dl, dl
je 0x47cd81
or eax, 1
jmp 0x47cd81
mov eax, dword [esp + 0x4c]
mov edx, eax
shr edx, 1
mov ecx, dword [esp + 0x50]
mov edi, ecx
shl edi, 0x1f
or edi, edx
and eax, 1
shr ecx, 1
or eax, edi
mov edx, dword [esp + 0x48]
lea esi, [edx + 1]
mov ebp, dword [esp + 0x58]
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], esi
lea edx, [ebp - 0x1d]
mov edi, ecx
mov ecx, edx
shr edi, cl
neg ecx
mov dword [esp + 0x44], ecx
mov ebx, dword [esp + 0x50]
shl ebx, cl
add ebp, 3
mov ecx, ebp
mov esi, dword [esp + 0x50]
shr esi, cl
shr eax, cl
cmp edx, 0x20
sbb edx, edx
and edi, edx
mov edx, dword [esp + 0x44]
cmp edx, 0x20
sbb edx, edx
and ebx, edx
cmp ecx, 0x20
sbb edx, edx
and eax, edx
or eax, ebx
or eax, edi
test eax, eax
setne al
test edx, esi
setne dl
or eax, edx
test al, al
jne 0x47cd58
mov edx, dword [esp + 0x5c]
mov esi, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
jmp 0x47ce05
mov ebx, eax
shr ebx, 1
mov ebp, ecx
shl ebp, 0x1f
or ebp, ebx
and eax, 1
shr ecx, 1
or eax, ebp
inc esi
test ecx, ecx
seta bl
xchg ebp, ebx
sete bl
xchg ebp, ebx
cmp eax, 1
xchg edi, ebx
seta bl
xchg edi, ebx
and ebp, edi
or ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x47ce2c
lea ebx, [edx - 1]
cmp esi, ebx
jl 0x47cdf2
mov ebx, eax
and eax, 3
shr ebx, 2
mov ebp, ecx
shl ecx, 0x1e
or ecx, ebx
mov ebx, ecx
and ecx, 1
or ecx, eax
shr ebp, 2
lea eax, [esi + 2]
cmp ecx, 3
xchg edi, ebx
sete bl
xchg edi, ebx
and edi, 1
xchg edi, eax
test al, al
xchg edi, eax
je 0x47cee9
mov dword [esp + 0x40], eax
mov dword [esp + 0x48], esi
mov edi, dword [esp + 0x58]
lea ecx, [edi - 0x1f]
mov dword [esp + 0x50], ecx
mov edx, 1
shl edx, cl
neg ecx
mov dword [esp + 0x4c], ecx
mov eax, 1
shr eax, cl
inc edi
mov ecx, edi
mov esi, 1
shl esi, cl
add ebx, 1
mov dword [esp + 0x44], ebx
adc ebp, 0
mov ebx, dword [esp + 0x4c]
cmp ebx, 0x20
sbb ebx, ebx
and eax, ebx
mov ebx, dword [esp + 0x50]
cmp ebx, 0x20
sbb ebx, ebx
and edx, ebx
or edx, eax
cmp edx, ebp
sete al
cmp ecx, 0x20
sbb edx, edx
and edx, esi
mov ebx, dword [esp + 0x44]
cmp ebx, edx
sete dl
and edx, eax
test dl, dl
je 0x47cee1
shr ebx, 1
mov edx, ebp
shl edx, 0x1f
or ebx, edx
shr ebp, 1
mov edx, dword [esp + 0x48]
lea eax, [edx + 3]
jmp 0x47cee5
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x50], ebp
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ebx
mov ecx, dword [esp + 0x58]
shr ebx, cl
mov edi, ebp
shr ebp, cl
lea esi, [ecx - 0x20]
mov dword [esp + 0x44], esi
mov ecx, esi
shr edi, cl
neg ecx
mov dword [esp + 0x3c], ecx
mov eax, dword [esp + 0x50]
shl eax, cl
cmp esi, 0x20
sbb esi, esi
mov dword [esp + 0x38], esi
and edi, esi
mov esi, dword [esp + 0x58]
cmp esi, 0x20
sbb esi, esi
and ebx, esi
cmp ecx, 0x20
sbb ecx, ecx
and eax, ecx
or eax, ebx
or edi, eax
test esi, ebp
sete al
test edi, edi
sete bl
and ebx, eax
test bl, bl
je 0x47cf4b
mov eax, edx
jmp 0x47cf51
mov eax, edx
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x1c]
cmp edx, ebx
jle 0x47d055
mov edx, ecx
mov ecx, dword [esp + 0x3c]
mov ebx, 1
shr ebx, cl
mov ecx, dword [esp + 0x44]
mov ebp, 1
shl ebp, cl
mov ecx, dword [esp + 0x58]
mov edi, 1
shl edi, cl
and ebx, edx
mov edx, dword [esp + 0x38]
and ebp, edx
or ebp, ebx
mov dword [esp + 0x50], ebp
and edi, esi
mov dword [esp + 0x4c], edi
mov edx, dword [esp + 0x54]
lea eax, [edx + eax - 1]
mov dword [esp + 0x5c], eax
mov edx, dword [esp + 0x6c]
test edx, edx
jne 0x47cfae
lea edx, [0x9aece0]
mov dword [esp], 0
mov dword [esp + 4], edx
mov eax, dword [esp + 0x70]
mov dword [esp + 8], eax
call fcn.00454610
mov eax, dword [esp + 0x10]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x60], ecx
lea edx, [0x6aab00]
mov dword [esp], edx
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0xa
lea ecx, [0x6d16cb]
mov dword [eax], ecx
mov ecx, dword [esp + 0x14]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x9aef70]
test ecx, ecx
jne 0x47d00e
mov edx, dword [esp + 0x60]
jmp 0x47d019
call fcn.0046c890
mov edx, dword [esp + 0x60]
mov dword [edi], edx
mov dword [eax + 8], edx
mov edx, dword [0x964ad8]
mov ebx, dword [0x964adc]
mov dword [eax + 0x10], edx
mov edx, dword [0x9aef70]
test edx, edx
je 0x47d03c
call fcn.0046c890
mov dword [edi], ebx
mov dword [eax + 0x14], ebx
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x5c]
lea ebx, [0x749238]
mov ebp, eax
mov eax, dword [esp + 0x4c]
jmp 0x47d061
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
xor ebx, ebx
xor ebp, ebp
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x64], ebp
mov dword [esp + 0x18], ebx
mov esi, dword [esp + 0x74]
mov edi, dword [esi]
mov dword [esp + 0x58], edi
mov ecx, edi
mov ebp, 1
shl ebp, cl
mov dword [esp + 0x44], ebp
sub edx, dword [esi + 8]
mov dword [esp + 0x5c], edx
mov ebx, dword [esi + 4]
mov dword [esp + 0x34], ebx
mov ecx, ebx
mov esi, 1
shl esi, cl
lea eax, [edi - 0x20]
mov dword [esp + 0x3c], eax
mov ecx, eax
mov ebp, 1
shl ebp, cl
neg eax
mov ecx, eax
mov edi, 1
shr edi, cl
mov edx, dword [esp + 0x3c]
cmp edx, 0x20
sbb edx, edx
mov dword [esp + 0x38], edx
and ebp, edx
cmp eax, 0x20
sbb edx, edx
and edi, edx
or ebp, edi
cmp ebx, 0x20
sbb edi, edi
and esi, edi
dec esi
mov edi, dword [esp + 0x5c]
and esi, edi
mov dword [esp + 0x5c], esi
mov edi, esi
sar esi, 0x1f
mov ecx, dword [esp + 0x3c]
shl edi, cl
mov ecx, dword [esp + 0x58]
shl esi, cl
mov ecx, eax
mov ebx, dword [esp + 0x5c]
mov eax, ebx
shr ebx, cl
and ebx, edx
mov edx, dword [esp + 0x38]
and edi, edx
mov ecx, dword [esp + 0x58]
shl eax, cl
cmp ecx, 0x20
sbb edx, edx
mov ecx, ebp
mov ebp, dword [esp + 0x44]
and ebp, edx
and esi, edx
or ebx, esi
or edi, ebx
and eax, edx
mov edx, ebp
add ebp, 0xffffffff
mov ebx, ecx
adc ecx, 0xffffffff
mov esi, dword [esp + 0x4c]
and ecx, esi
mov esi, dword [esp + 0x50]
and ebp, esi
or ecx, edi
or ebp, eax
movzx eax, byte [esp + 0x84]
test al, al
je 0x47d18e
mov dword [esp + 0x50], edx
mov eax, dword [esp + 0x34]
cmp eax, 0x20
sbb esi, esi
mov edi, ecx
mov ecx, eax
shl edx, cl
shl ebx, cl
and ebx, esi
and edx, esi
lea ecx, [eax - 0x20]
mov dword [esp + 0x4c], ecx
mov eax, dword [esp + 0x50]
mov esi, eax
shl eax, cl
neg ecx
shr esi, cl
or ebp, edx
mov edx, dword [esp + 0x4c]
cmp edx, 0x20
sbb edx, edx
and eax, edx
cmp ecx, 0x20
sbb ecx, ecx
and ecx, esi
or ecx, ebx
or ecx, eax
or ecx, edi
mov eax, dword [esp + 0x74]
lea edx, [0x93e298]
cmp eax, edx
jne 0x47d1cd
mov dword [esp + 0x28], ebp
movss xmm0, dword [esp + 0x28]
cvtss2sd xmm0, xmm0
movsd qword [esp + 0x88], xmm0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x94], eax
add esp, 0x68
ret
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ecx
movsd xmm0, qword [esp + 0x20]
movsd qword [esp + 0x88], xmm0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x94], eax
add esp, 0x68
ret
call fcn.0046b490
jmp fcn.0047cc30