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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x473c82
sub esp, 0x68
mov edx, dword [esp + 0x6c]
test edx, edx
sete bl
mov ebp, dword [esp + 0x70]
test ebp, ebp
xchg edi, ebx
sete bl
xchg edi, ebx
and edi, ebx
xchg edi, eax
test al, al
xchg edi, eax
je 0x47375f
movzx eax, byte [esp + 0x78]
test al, al
je 0x47374a
movss xmm0, dword [0x750524]
jmp 0x47374d
xorps xmm0, xmm0
movss dword [esp + 0x7c], xmm0
mov byte [esp + 0x80], 1
add esp, 0x68
ret
mov ebx, dword [esp + 0x74]
lea edi, [ebx + 0x15c]
cmp edi, 0x2b7
ja 0x473c52
cmp ebp, 1
mov eax, edi
xchg edi, ebx
seta bl
xchg edi, ebx
mov ecx, ebx
sete bl
nop
and ebx, 1
or ebx, edi
test bl, bl
je 0x47379b
mov ebx, ebp
xor esi, esi
mov edi, 0x20
jmp 0x4737a3
mov ebx, ebp
mov esi, ebx
mov ebp, edx
xor edi, edi
mov dword [esp + 0x3c], edi
cmp ebp, 0x10000
setae bl
test esi, esi
seta dl
xchg edi, ebx
sete bl
xchg edi, ebx
and edi, ebx
or edi, edx
xchg edi, eax
test al, al
xchg edi, eax
je 0x4737dc
shr ebp, 0x10
mov edx, esi
shl esi, 0x10
or ebp, esi
shr edx, 0x10
mov ebx, dword [esp + 0x3c]
lea edi, [ebx + 0x10]
jmp 0x4737e2
mov edx, esi
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x34], edx
test edx, edx
seta bl
mov esi, edi
xchg edi, ebx
sete bl
xchg edi, ebx
cmp ebp, 0x100
setae dl
and edx, edi
or edx, ebx
test dl, dl
je 0x47381b
shr ebp, 8
mov edx, dword [esp + 0x34]
mov ebx, edx
shl edx, 0x18
or ebp, edx
shr ebx, 8
lea edi, [esi + 8]
jmp 0x473821
mov edi, esi
mov ebx, dword [esp + 0x34]
test ebx, ebx
jne 0x473c73
cmp ebp, 0x100
jae 0x473c67
mov dword [esp + 0x64], eax
imul edx, ecx, 0x3526a
sar edx, 0x10
add edx, 0xbf
mov dword [esp + 0x60], edx
lea ebx, [0x6e4d48]
movzx ebx, byte [ebx + ebp]
lea ebx, [ebx + edi - 0x40]
neg ebx
mov dword [esp + 0x20], ebx
sub edx, ebx
mov dword [esp + 0x38], edx
cmp ebx, 0x20
sbb esi, esi
mov dword [esp + 0x5c], esi
lea ecx, [ebx - 0x20]
mov dword [esp + 0x58], ecx
cmp ecx, 0x20
sbb edi, edi
neg ecx
mov dword [esp + 0x54], ecx
cmp ecx, 0x20
sbb edx, edx
mov ecx, dword [esp + 0x58]
mov ebp, dword [esp + 0x6c]
shl ebp, cl
mov ecx, ebx
mov eax, dword [esp + 0x70]
shl eax, cl
and eax, esi
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0x6c]
shr esi, cl
and esi, edx
or esi, eax
and ebp, edi
or esi, ebp
mov dword [esp + 0x58], esi
mov eax, dword [esp + 0x64]
shl eax, 4
mov dword [esp + 0x64], eax
lea edx, [0x8c5a00]
mov ebp, dword [edx + eax + 8]
mov edi, dword [edx + eax + 0xc]
mov dword [esp + 4], esi
mov ecx, ebx
mov eax, dword [esp + 0x6c]
shl eax, cl
mov edx, dword [esp + 0x5c]
and eax, edx
mov dword [esp + 0x5c], eax
mov dword [esp], eax
mov dword [esp + 0xc], edi
mov dword [esp + 8], ebp
call fcn.0046dbb0
mov eax, dword [esp + 0x60]
mov edx, eax
sar eax, 0x1f
mov ebx, dword [esp + 0x20]
mov ebp, ebx
sar ebx, 0x1f
sub edx, ebp
sbb eax, ebx
mov edx, dword [esp + 0x14]
mov ebx, edx
and edx, 0x3f
cmp edx, 0x3f
sete dl
mov ebp, dword [esp + 0x10]
cmp ebp, 0xffffffff
xchg esi, ebx
sete bl
xchg esi, ebx
and esi, edx
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
xchg esi, eax
test al, al
xchg esi, eax
je 0x473a7d
mov dword [esp + 0x24], edx
mov dword [esp + 0x50], eax
mov esi, dword [esp + 0x5c]
mov ecx, esi
add esi, edx
mov eax, dword [esp + 0x58]
adc eax, edi
mov edx, dword [esp + 0x58]
cmp edx, eax
seta al
sete dl
cmp esi, ecx
xchg esi, ebx
setb bl
xchg esi, ebx
and esi, edx
or esi, eax
xchg esi, eax
test al, al
xchg esi, eax
jne 0x473978
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x24]
jmp 0x473a7d
mov dword [esp + 0x28], edi
mov dword [esp + 0x54], ebx
mov dword [esp + 0x2c], ebp
mov eax, dword [esp + 0x64]
lea edx, [0x8c5a00]
mov ebx, dword [edx + eax]
mov eax, dword [edx + eax + 4]
mov edx, dword [esp + 0x58]
mov dword [esp + 4], edx
mov dword [esp], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebx
call fcn.0046dbb0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
add eax, ecx
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x28]
adc edx, ebx
cmp ebx, edx
seta bl
xchg ebp, ebx
sete bl
xchg ebp, ebx
cmp eax, ecx
setb cl
and ecx, ebp
or ebx, ecx
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
test bl, bl
je 0x4739f2
mov ebx, dword [esp + 0x2c]
add ebx, 1
mov esi, dword [esp + 0x54]
adc esi, 0
jmp 0x4739fa
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x54]
mov dword [esp + 0x2c], ebx
mov edi, esi
and esi, 0x3f
cmp esi, 0x3f
xchg esi, ebx
sete bl
xchg esi, ebx
cmp ebx, 0xffffffff
sete bl
and ebx, esi
test bl, bl
je 0x473a6f
cmp edx, 0xffffffff
sete bl
cmp eax, 0xffffffff
xchg esi, ebx
sete bl
xchg esi, ebx
and esi, ebx
xchg esi, eax
test al, al
xchg esi, eax
je 0x473a6f
mov ebx, dword [esp + 0x5c]
add ecx, ebx
mov esi, dword [esp + 0x58]
adc ebp, esi
cmp esi, ebp
xchg ebp, ebx
seta bl
xchg ebp, ebx
xchg esi, ebx
sete bl
xchg esi, ebx
cmp ecx, ebx
setb bl
and ebx, esi
or ebx, ebp
test bl, bl
je 0x473a6f
xorps xmm0, xmm0
movss dword [esp + 0x7c], xmm0
mov byte [esp + 0x80], 0
add esp, 0x68
ret
mov ebx, edi
mov ebp, dword [esp + 0x2c]
mov edi, edx
mov edx, eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], ebx
mov ecx, ebx
shr ecx, 0x1f
mov dword [esp + 0x5c], ecx
mov esi, ecx
add ecx, 0x26
xor esi, 1
mov ebx, dword [esp + 0x38]
sub ebx, esi
mov dword [esp + 0x58], ebx
mov ebx, dword [esp + 0x5c]
add ebx, 0x26
mov ebx, 0
adc ebx, 0
cmp ebx, 1
sbb ebx, ebx
xor ebx, 0xffffffff
or ecx, ebx
mov dword [esp + 0x5c], ecx
cmp ecx, 0x20
sbb ebx, ebx
mov dword [esp + 0x54], ebx
lea ebx, [ecx - 0x20]
mov dword [esp + 0x4c], ebx
cmp ebx, 0x20
sbb ebp, ebp
mov dword [esp + 0x48], ebp
neg ebx
cmp ebx, 0x20
sbb ebp, ebp
mov dword [esp + 0x44], ebp
mov ebp, dword [esp + 0x38]
sub ebp, esi
sbb eax, 0
mov dword [esp + 0x50], eax
test edi, edi
xchg ebp, ebx
sete bl
xchg ebp, ebx
test edx, edx
sete dl
mov esi, dword [esp + 0x2c]
shr esi, cl
mov eax, dword [esp + 0x54]
and esi, eax
mov ecx, ebx
mov edi, dword [esp + 0x30]
mov ebx, edi
shl edi, cl
mov ecx, edx
mov edx, dword [esp + 0x44]
and edi, edx
or edi, esi
mov edx, ecx
mov ecx, dword [esp + 0x4c]
mov esi, ebx
shr ebx, cl
mov ecx, edx
mov edx, dword [esp + 0x48]
and ebx, edx
or edi, ebx
mov edx, ecx
mov ecx, dword [esp + 0x5c]
mov ebx, esi
shr esi, cl
and esi, eax
and ebp, edx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x473b87
test ebx, 0x3f
sete al
mov ecx, dword [esp + 0x2c]
test ecx, ecx
sete cl
and eax, ecx
test al, al
je 0x473b83
mov eax, edi
and edi, 3
cmp edi, 1
sete cl
and ecx, 1
test cl, cl
je 0x473b89
xorps xmm0, xmm0
movss dword [esp + 0x7c], xmm0
mov byte [esp + 0x80], 0
add esp, 0x68
ret
mov eax, edi
jmp 0x473b89
mov eax, edi
mov ecx, eax
and eax, 1
add eax, ecx
adc esi, 0
mov ecx, esi
shr esi, 0x19
test esi, esi
seta dl
sete bl
mov ebp, ecx
shl ecx, 7
mov esi, eax
shr eax, 0x19
or ecx, eax
test ecx, ecx
seta al
mov ecx, esi
shr esi, 1
mov edi, ebp
shl ebp, 0x1f
or ebp, esi
and ebx, eax
or ebx, edx
test bl, bl
je 0x473bdc
mov ebx, dword [esp + 0x58]
add ebx, 1
mov eax, dword [esp + 0x50]
adc eax, 0
shr ecx, 2
shl edi, 0x1e
or edi, ecx
jmp 0x473be6
mov ebx, dword [esp + 0x58]
mov eax, dword [esp + 0x50]
mov edi, ebp
mov ecx, ebx
add ebx, 0xffffffff
adc eax, 0xffffffff
test eax, eax
seta al
sete dl
cmp ebx, 0xfe
setae bl
and ebx, edx
or ebx, eax
test bl, bl
jne 0x473c3d
shl ecx, 0x17
and edi, 0x7fffff
or ecx, edi
movzx eax, byte [esp + 0x78]
test al, al
je 0x473c21
or ecx, 0x80000000
mov dword [esp + 0x40], ecx
movss xmm0, dword [esp + 0x40]
movss dword [esp + 0x7c], xmm0
mov byte [esp + 0x80], 1
add esp, 0x68
ret
xorps xmm0, xmm0
movss dword [esp + 0x7c], xmm0
mov byte [esp + 0x80], 0
add esp, 0x68
ret
xorps xmm0, xmm0
movss dword [esp + 0x7c], xmm0
mov byte [esp + 0x80], 0
add esp, 0x68
ret
mov eax, ebp
mov ecx, 0x100
call fcn.00463160
mov esi, ebx
mov eax, ebp
mov ecx, 0x100
call fcn.00463230
nop
call fcn.00461cc0
jmp fcn.00473700