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

Disassembly:
mov ecx, dword [0x6cfe90]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x473563
sub esp, 0x64
mov edx, dword [esp + 0x68]
test edx, edx
sete bl
mov ebp, dword [esp + 0x6c]
test ebp, ebp
xchg edi, ebx
sete bl
xchg edi, ebx
and ebx, edi
test bl, bl
je 0x473098
movzx eax, byte [esp + 0x74]
test al, al
je 0x473086
movss xmm0, dword [0x5b5ac8]
jmp 0x473089
xorps xmm0, xmm0
movss dword [esp + 0x78], xmm0
mov byte [esp + 0x7c], 1
add esp, 0x64
ret
mov ebx, dword [esp + 0x70]
lea edi, [ebx + 0x15c]
cmp edi, 0x2b7
ja 0x473536
nop
cmp ebp, 1
seta al
sete cl
and ecx, 1
or ecx, eax
test cl, cl
je 0x4730ca
xor ecx, ecx
mov esi, 0x20
jmp 0x4730d0
mov ecx, ebp
mov ebp, edx
xor esi, esi
mov dword [esp + 0x60], edi
test ecx, ecx
seta dl
sete al
cmp ebp, 0x10000
xchg edi, ebx
setae bl
xchg edi, ebx
and edi, eax
or edi, edx
xchg edi, eax
test al, al
xchg edi, eax
je 0x473103
shr ebp, 0x10
mov edx, ecx
shl edx, 0x10
or ebp, edx
shr ecx, 0x10
add esi, 0x10
test ecx, ecx
seta dl
xchg edi, ebx
sete bl
xchg edi, ebx
cmp ebp, 0x100
setae al
and eax, edi
or eax, edx
test al, al
je 0x473130
shr ebp, 8
mov edx, ecx
shl edx, 0x18
or ebp, edx
shr ecx, 8
add esi, 8
test ecx, ecx
jne 0x473554
cmp ebp, 0x100
jae 0x473548
imul eax, ebx, 0x3526a
sar eax, 0x10
add eax, 0xbf
mov dword [esp + 0x5c], eax
sar eax, 0x1f
mov dword [esp + 0x58], eax
mov ebx, dword [esp + 0x60]
shl ebx, 4
mov dword [esp + 0x60], ebx
lea edi, [0x688940]
mov ecx, dword [edi + ebx + 8]
mov dword [esp + 0x54], ecx
mov ebx, dword [edi + ebx + 0xc]
mov dword [esp + 0x50], ebx
lea edi, [0x589fa6]
movzx ebp, byte [edi + ebp]
lea ebp, [ebp + esi - 0x40]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
mov dword [esp + 0x20], ebp
mov ecx, ebp
mov edi, dword [esp + 0x6c]
shl edi, cl
mov eax, dword [esp + 0x68]
shl eax, cl
lea edx, [ecx - 0x20]
mov ecx, edx
mov ebx, dword [esp + 0x68]
shl ebx, cl
neg ecx
mov esi, dword [esp + 0x68]
shr esi, cl
sar ebp, 0x1f
mov dword [esp + 0x4c], ebp
mov ebp, dword [esp + 0x20]
cmp ebp, 0x20
sbb ebp, ebp
and eax, ebp
mov dword [esp + 0x48], eax
mov dword [esp], eax
and edi, ebp
cmp edx, 0x20
sbb edx, edx
and ebx, edx
cmp ecx, 0x20
sbb edx, edx
and esi, edx
or esi, edi
or esi, ebx
mov dword [esp + 0x44], esi
mov dword [esp + 4], esi
mov edx, dword [esp + 0x54]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x50]
mov dword [esp + 0xc], edx
call fcn.0046d690
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, edx
and edx, 0x3f
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x5c]
mov ecx, ebx
mov ebx, dword [esp + 0x20]
sub edi, ebx
mov dword [esp + 0x38], edi
mov ebx, dword [esp + 0x58]
mov edi, dword [esp + 0x4c]
sbb ebx, edi
mov dword [esp + 0x58], ebx
cmp edx, 0x3f
sete dl
cmp eax, 0xffffffff
xchg edi, ebx
sete bl
xchg edi, ebx
and edi, edx
xchg edi, eax
test al, al
xchg edi, eax
je 0x47338a
mov dword [esp + 0x2c], eax
mov edx, dword [esp + 0x48]
mov edi, edx
add edx, ebp
mov ebx, dword [esp + 0x44]
adc ebx, esi
mov eax, dword [esp + 0x44]
cmp eax, ebx
seta bl
sete al
cmp edx, edi
setb dl
and edx, eax
or edx, ebx
test dl, dl
jne 0x473288
mov ebx, dword [esp + 0x58]
mov eax, dword [esp + 0x2c]
jmp 0x47338a
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], esi
mov dword [esp + 0x54], ecx
mov eax, dword [esp + 0x60]
lea ecx, [0x688940]
mov edx, dword [ecx + eax + 4]
mov eax, dword [ecx + eax]
mov dword [esp], edi
mov ecx, dword [esp + 0x44]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call fcn.0046d690
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
add eax, edx
mov ebx, dword [esp + 0x28]
adc ecx, ebx
cmp ebx, ecx
seta bl
xchg ebp, ebx
sete bl
xchg ebp, ebx
cmp eax, edx
setb dl
and edx, ebp
or ebx, edx
test bl, bl
je 0x4732fa
mov ebx, dword [esp + 0x2c]
add ebx, 1
mov edx, dword [esp + 0x54]
adc edx, 0
jmp 0x473302
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x2c]
mov ebp, edx
and edx, 0x3f
cmp edx, 0x3f
sete dl
cmp ebx, 0xffffffff
xchg esi, ebx
sete bl
xchg esi, ebx
and esi, edx
xchg esi, eax
test al, al
xchg esi, eax
je 0x47337e
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xffffffff
xchg esi, ebx
sete bl
xchg esi, ebx
and edx, esi
test dl, dl
je 0x47337e
mov dword [esp + 0x40], eax
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x48]
add edx, edi
mov eax, dword [esp + 0x44]
adc esi, eax
cmp eax, esi
seta al
xchg esi, ebx
sete bl
xchg esi, ebx
cmp edx, edi
setb dl
and edx, esi
or edx, eax
test dl, dl
jne 0x47336c
mov eax, dword [esp + 0x40]
jmp 0x47337e
xorps xmm0, xmm0
movss dword [esp + 0x78], xmm0
mov byte [esp + 0x7c], 0
add esp, 0x64
ret
mov esi, ecx
mov ecx, ebp
mov ebp, eax
mov eax, ebx
mov ebx, dword [esp + 0x58]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], eax
mov edx, ecx
shr edx, 0x1f
mov edi, edx
xor edx, 1
mov dword [esp + 0x54], edx
add edi, 0x26
mov ebx, 0
adc ebx, 0
cmp ebx, 1
sbb ebx, ebx
xor ebx, 0xffffffff
or ebx, edi
mov edi, ecx
mov ecx, ebx
shr eax, cl
shr edi, cl
lea esi, [ecx - 0x20]
mov ecx, esi
mov ebp, dword [esp + 0x30]
shr ebp, cl
neg ecx
mov edx, dword [esp + 0x30]
shl edx, cl
cmp esi, 0x20
sbb esi, esi
and ebp, esi
cmp ecx, 0x20
sbb esi, esi
and edx, esi
cmp ebx, 0x20
sbb ebx, ebx
and eax, ebx
or edx, eax
or edx, ebp
and edi, ebx
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x54]
mov ebp, eax
sub eax, ebx
mov esi, dword [esp + 0x24]
test esi, esi
xchg esi, ebx
sete bl
xchg esi, ebx
mov ecx, eax
mov eax, dword [esp + 0x28]
test eax, eax
sete al
and eax, esi
test al, al
je 0x47346d
mov eax, dword [esp + 0x2c]
test eax, eax
sete al
mov esi, dword [esp + 0x30]
test esi, 0x3f
xchg esi, ebx
sete bl
xchg esi, ebx
and esi, eax
xchg esi, eax
test al, al
xchg esi, eax
je 0x473467
mov eax, edx
and edx, 3
cmp edx, 1
sete dl
and edx, 1
test dl, dl
jne 0x473455
sub ebp, ebx
jmp 0x473471
xorps xmm0, xmm0
movss dword [esp + 0x78], xmm0
mov byte [esp + 0x7c], 0
add esp, 0x64
ret
sub ebp, ebx
mov eax, edx
jmp 0x473471
sub ebp, ebx
mov eax, edx
mov edx, dword [esp + 0x58]
sbb edx, 0
mov ebx, eax
and eax, 1
add eax, ebx
mov dword [esp + 0x34], eax
adc edi, 0
mov dword [esp + 0x58], edi
mov ebx, eax
shr eax, 1
mov ebp, edi
shl edi, 0x1f
mov esi, ebp
shr ebp, 0x19
shl esi, 7
shr ebx, 0x19
or esi, ebx
or edi, eax
test ebp, ebp
seta al
sete bl
test esi, esi
xchg ebp, ebx
seta bl
xchg ebp, ebx
and ebx, ebp
or ebx, eax
test bl, bl
je 0x4734d1
mov edi, dword [esp + 0x34]
shr edi, 2
mov ebx, dword [esp + 0x58]
shl ebx, 0x1e
or edi, ebx
add ecx, 1
adc edx, 0
mov eax, ecx
add ecx, 0xffffffff
adc edx, 0xffffffff
test edx, edx
seta dl
sete bl
cmp ecx, 0xfe
setae cl
and ecx, ebx
or ecx, edx
test cl, cl
jne 0x473524
shl eax, 0x17
and edi, 0x7fffff
or eax, edi
movzx ecx, byte [esp + 0x74]
test cl, cl
je 0x47350b
or eax, 0x80000000
mov dword [esp + 0x3c], eax
movss xmm0, dword [esp + 0x3c]
movss dword [esp + 0x78], xmm0
mov byte [esp + 0x7c], 1
add esp, 0x64
ret
xorps xmm0, xmm0
movss dword [esp + 0x78], xmm0
mov byte [esp + 0x7c], 0
add esp, 0x64
ret
xorps xmm0, xmm0
movss dword [esp + 0x78], xmm0
mov byte [esp + 0x7c], 0
add esp, 0x64
ret
mov eax, ebp
mov ecx, 0x100
call fcn.00464b40
mov esi, ecx
mov eax, ebp
mov ecx, 0x100
call fcn.00464bf0
nop
call fcn.004636b0
jmp fcn.00473040