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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x474421
sub esp, 0x74
mov edx, dword [esp + 0x7c]
test edx, edx
sete bl
mov ebp, dword [esp + 0x78]
test ebp, ebp
xchg edi, ebx
sete bl
xchg edi, ebx
and edi, ebx
xchg edi, eax
test al, al
xchg edi, eax
je 0x473ea6
movzx eax, byte [esp + 0x84]
test al, al
je 0x473ea1
nop
movss xmm0, dword [0x8a7118]
movss dword [esp + 0x88], xmm0
mov byte [esp + 0x8c], 1
add esp, 0x74
ret
xorps xmm0, xmm0
jmp 0x473e8c
mov ebx, dword [esp + 0x80]
lea edi, [ebx + 0x15c]
cmp edi, 0x2b7
ja 0x4743e9
cmp edx, 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 0x4743dc
mov ebx, edx
xor esi, esi
mov edi, 0x20
mov dword [esp + 0x3c], edi
test esi, esi
xchg ebp, ebx
seta bl
xchg ebp, ebx
cmp edx, 0x10000
setae bl
test esi, esi
xchg edi, ebx
sete bl
xchg edi, ebx
and edi, ebx
or edi, ebp
xchg edi, eax
test al, al
xchg edi, eax
je 0x4743d1
shr edx, 0x10
mov ebx, esi
shl esi, 0x10
or edx, esi
shr ebx, 0x10
mov ebp, dword [esp + 0x3c]
lea edi, [ebp + 0x10]
mov dword [esp + 0x34], ebx
test ebx, ebx
xchg ebp, ebx
sete bl
xchg ebp, ebx
mov esi, edi
xchg edi, ebx
seta bl
xchg edi, ebx
cmp edx, 0x100
setae bl
and ebx, ebp
or edi, ebx
xchg edi, eax
test al, al
xchg edi, eax
je 0x4743c6
shr edx, 8
mov ebx, dword [esp + 0x34]
mov ebp, ebx
shl ebx, 0x18
or edx, ebx
shr ebp, 8
lea edi, [esi + 8]
test ebp, ebp
jne 0x474412
cmp edx, 0x100
jae 0x474406
lea ebx, [0xa8d460]
movzx edx, byte [ebx + edx]
lea edx, [edx + edi - 0x40]
neg edx
test edx, edx
jl 0x474401
mov dword [esp + 0x48], edx
mov dword [esp + 0x70], eax
imul ebx, ecx, 0x3526a
sar ebx, 0x10
add ebx, 0xbf
mov dword [esp + 0x6c], ebx
sub ebx, edx
mov dword [esp + 0x38], ebx
cmp edx, 0x20
sbb esi, esi
mov dword [esp + 0x68], esi
lea edi, [edx - 0x20]
mov dword [esp + 0x64], edi
mov ecx, edi
xchg edi, ebx
neg ebx
xchg edi, ebx
cmp edi, 0x20
sbb ebx, ebx
cmp ecx, 0x20
sbb ebp, ebp
mov ecx, edx
mov eax, dword [esp + 0x7c]
shl eax, cl
and eax, esi
mov ecx, edi
mov esi, dword [esp + 0x78]
mov edi, esi
shr esi, cl
and esi, ebx
or esi, eax
mov ecx, dword [esp + 0x64]
mov eax, edi
shl edi, cl
and edi, ebp
or esi, edi
mov dword [esp + 0x7c], esi
mov ebx, dword [esp + 0x70]
shl ebx, 4
mov dword [esp + 0x70], ebx
lea ebp, [0xaaaa40]
mov edi, dword [ebp + ebx + 8]
mov ebx, dword [ebp + ebx + 0xc]
mov dword [esp + 4], esi
mov ecx, edx
shl eax, cl
mov ebp, dword [esp + 0x68]
and eax, ebp
mov dword [esp + 0x78], eax
mov dword [esp], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 8], edi
call fcn.0046e0c0
mov eax, dword [esp + 0x6c]
mov edx, eax
sar eax, 0x1f
mov ebx, dword [esp + 0x48]
mov ebp, ebx
sar ebx, 0x1f
sub edx, ebp
sbb eax, ebx
mov dword [esp + 0x60], eax
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]
mov dword [esp + 0x28], edi
xchg esi, eax
test al, al
xchg esi, eax
je 0x4740b7
mov esi, dword [esp + 0x78]
mov ecx, esi
add esi, edx
mov eax, dword [esp + 0x7c]
adc edi, eax
cmp eax, edi
xchg edi, ebx
seta bl
xchg edi, ebx
sete al
cmp ecx, esi
xchg esi, ebx
seta bl
xchg esi, ebx
and esi, eax
or esi, edi
xchg esi, eax
test al, al
xchg esi, eax
jne 0x4742b4
mov eax, dword [esp + 0x28]
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], ebx
mov esi, ebx
shr ebx, 0x1f
mov edi, ebx
add ebx, 0x26
mov ecx, edi
xor edi, 1
mov ebp, dword [esp + 0x38]
sub ebp, edi
mov dword [esp + 0x68], ebp
add ecx, 0x26
mov ebp, 0
adc ebp, 0
cmp ebp, 1
sbb ebp, ebp
xor ebp, 0xffffffff
or ebp, ebx
mov dword [esp + 0x64], ebp
cmp ebp, 0x20
sbb ebx, ebx
mov dword [esp + 0x5c], ebx
lea ebx, [ebp - 0x20]
mov dword [esp + 0x58], ebx
cmp ebx, 0x20
sbb ebp, ebp
mov dword [esp + 0x54], ebp
neg ebx
cmp ebx, 0x20
sbb ebp, ebp
mov dword [esp + 0x50], ebp
mov ebp, dword [esp + 0x38]
sub ebp, edi
mov ebp, dword [esp + 0x60]
sbb ebp, 0
mov dword [esp + 0x60], ebp
test eax, eax
sete al
mov byte [esp + 0x23], al
test edx, edx
sete dl
mov ecx, dword [esp + 0x58]
shr esi, cl
mov ecx, dword [esp + 0x64]
mov ebp, dword [esp + 0x2c]
shr ebp, cl
mov edi, dword [esp + 0x5c]
and ebp, edi
mov ecx, ebx
mov eax, dword [esp + 0x30]
mov ebx, eax
shl eax, cl
mov ecx, edx
mov edx, dword [esp + 0x50]
and eax, edx
or eax, ebp
mov edx, dword [esp + 0x54]
and esi, edx
or eax, esi
mov edx, ecx
mov ecx, dword [esp + 0x64]
mov ebp, ebx
shr ebx, cl
and ebx, edi
movzx esi, byte [esp + 0x23]
and esi, edx
xchg esi, eax
test al, al
xchg esi, eax
je 0x4742ad
test ebp, 0x3f
sete cl
mov edx, dword [esp + 0x2c]
test edx, edx
sete dl
and ecx, edx
test cl, cl
je 0x4742a6
mov ecx, eax
and eax, 3
cmp eax, 1
sete al
and eax, 1
test al, al
jne 0x47428e
mov eax, ecx
and ecx, 1
add ecx, eax
adc ebx, 0
mov eax, ebx
shr ebx, 0x19
test ebx, ebx
seta dl
sete bl
mov ebp, eax
shl eax, 7
mov esi, ecx
shr ecx, 0x19
or eax, ecx
test eax, eax
seta al
mov ecx, esi
shr esi, 1
mov edi, ebp
shl ebp, 0x1f
or ebp, esi
and eax, ebx
or edx, eax
test dl, dl
je 0x474282
mov eax, dword [esp + 0x68]
add eax, 1
mov ebp, dword [esp + 0x60]
adc ebp, 0
shr ecx, 2
shl edi, 0x1e
or edi, ecx
mov ecx, eax
add eax, 0xffffffff
adc ebp, 0xffffffff
test ebp, ebp
seta dl
sete bl
cmp eax, 0xfe
setae al
and eax, ebx
or eax, edx
test al, al
jne 0x47426a
shl ecx, 0x17
and edi, 0x7fffff
or ecx, edi
movzx eax, byte [esp + 0x84]
test al, al
je 0x47424b
or ecx, 0x80000000
mov dword [esp + 0x4c], ecx
movss xmm0, dword [esp + 0x4c]
movss dword [esp + 0x88], xmm0
mov byte [esp + 0x8c], 1
add esp, 0x74
ret
xorps xmm0, xmm0
movss dword [esp + 0x88], xmm0
mov byte [esp + 0x8c], 0
add esp, 0x74
ret
mov eax, dword [esp + 0x68]
mov edi, ebp
mov ebp, dword [esp + 0x60]
jmp 0x47420e
xorps xmm0, xmm0
movss dword [esp + 0x88], xmm0
mov byte [esp + 0x8c], 0
add esp, 0x74
ret
mov ecx, eax
jmp 0x4741b9
mov ecx, eax
jmp 0x4741b9
mov dword [esp + 0x24], edx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x44], ebp
mov eax, dword [esp + 0x70]
lea edx, [0xaaaa40]
mov ebx, dword [edx + eax]
mov eax, dword [edx + eax + 4]
mov edx, dword [esp + 0x7c]
mov dword [esp + 4], edx
mov dword [esp], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebx
call fcn.0046e0c0
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 ecx, eax
seta cl
and ecx, ebp
or ebx, ecx
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
test bl, bl
je 0x4743b9
mov ebx, dword [esp + 0x44]
add ebx, 1
mov esi, dword [esp + 0x68]
adc esi, 0
mov dword [esp + 0x40], 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 0x474390
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 0x474390
mov ebx, dword [esp + 0x78]
add ecx, ebx
mov esi, dword [esp + 0x7c]
adc ebp, esi
cmp esi, ebp
xchg ebp, ebx
seta bl
xchg ebp, ebx
xchg esi, ebx
sete bl
xchg esi, ebx
cmp ebx, ecx
seta bl
and ebx, esi
or ebx, ebp
test bl, bl
jne 0x4743a1
mov ebx, edi
mov ebp, dword [esp + 0x40]
mov ecx, edx
mov edx, eax
mov eax, ecx
jmp 0x4740bb
xorps xmm0, xmm0
movss dword [esp + 0x88], xmm0
mov byte [esp + 0x8c], 0
add esp, 0x74
ret
mov esi, dword [esp + 0x68]
mov ebx, dword [esp + 0x44]
jmp 0x474330
mov edi, esi
mov ebp, dword [esp + 0x34]
jmp 0x473f69
mov ebx, esi
mov edi, dword [esp + 0x3c]
jmp 0x473f28
mov ebx, edx
mov esi, ebx
mov edx, ebp
xor edi, edi
jmp 0x473ee7
xorps xmm0, xmm0
movss dword [esp + 0x88], xmm0
mov byte [esp + 0x8c], 0
add esp, 0x74
ret
call fcn.00433d50
mov eax, edx
mov ecx, 0x100
call fcn.004661c0
mov esi, ebp
mov eax, edx
mov ecx, 0x100
call fcn.004662a0
nop
call fcn.00464bd0
jmp fcn.00473e40