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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x46ff92
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 edi, ebx
xchg edi, eax
test al, al
xchg edi, eax
je 0x46fa8f
movzx eax, byte [esp + 0x74]
test al, al
je 0x46fa7a
movsd xmm0, qword [0x581328]
jmp 0x46fa7d
xorps xmm0, xmm0
movsd qword [esp + 0x78], xmm0
mov byte [esp + 0x80], 1
add esp, 0x64
ret
mov ebx, dword [esp + 0x70]
lea edi, [ebx + 0x15c]
cmp edi, 0x2b7
ja 0x46ff62
cmp ebp, 1
mov eax, edi
xchg edi, ebx
sete bl
xchg edi, ebx
mov ecx, ebx
seta bl
nop
and edi, 1
or ebx, edi
test bl, bl
je 0x46facb
mov ebx, ebp
xor esi, esi
mov edi, 0x20
jmp 0x46fad3
mov ebx, ebp
mov esi, ebx
mov ebp, edx
xor edi, edi
mov dword [esp + 0x40], edi
test esi, esi
seta dl
sete bl
cmp ebp, 0x10000
xchg edi, ebx
setae bl
xchg edi, ebx
and edi, ebx
or edx, edi
test dl, dl
je 0x46fb0a
shr ebp, 0x10
mov edx, esi
shl esi, 0x10
or ebp, esi
shr edx, 0x10
mov ebx, dword [esp + 0x40]
lea edi, [ebx + 0x10]
jmp 0x46fb10
mov edx, esi
mov edi, dword [esp + 0x40]
mov dword [esp + 0x38], 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 0x46fb49
shr ebp, 8
mov edx, dword [esp + 0x38]
mov ebx, edx
shl edx, 0x18
or ebp, edx
shr ebx, 8
lea edi, [esi + 8]
jmp 0x46fb4f
mov edi, esi
mov ebx, dword [esp + 0x38]
test ebx, ebx
jne 0x46ff83
cmp ebp, 0x100
jae 0x46ff77
mov dword [esp + 0x58], eax
lea edx, [0x551fd9]
movzx edx, byte [edx + ebp]
lea edx, [edx + edi - 0x40]
neg edx
mov dword [esp + 0x24], edx
cmp edx, 0x20
sbb ebx, ebx
mov dword [esp + 0x54], ebx
lea ebp, [edx - 0x20]
mov dword [esp + 0x50], ebp
cmp ebp, 0x20
sbb esi, esi
mov dword [esp + 0x4c], esi
xchg ebp, ebx
neg ebx
xchg ebp, ebx
cmp ebp, 0x20
sbb eax, eax
imul esi, ecx, 0x3526a
sar esi, 0x10
add esi, 0x43f
mov ecx, esi
sar esi, 0x1f
sar edx, 0x1f
mov edi, dword [esp + 0x24]
sub ecx, edi
mov dword [esp + 0x3c], ecx
sbb esi, edx
mov dword [esp + 0x48], esi
mov ecx, edi
mov esi, dword [esp + 0x6c]
shl esi, cl
and esi, ebx
mov ecx, ebp
mov edx, dword [esp + 0x68]
mov ebp, edx
shr edx, cl
and edx, eax
or edx, esi
mov ecx, dword [esp + 0x50]
mov eax, ebp
shl ebp, cl
mov esi, dword [esp + 0x4c]
and ebp, esi
or edx, ebp
mov dword [esp + 0x50], edx
mov ebp, dword [esp + 0x58]
shl ebp, 4
mov dword [esp + 0x58], ebp
lea esi, [0x64b3c0]
mov ebx, dword [esi + ebp + 8]
mov ebp, dword [esi + ebp + 0xc]
mov dword [esp + 4], edx
mov ecx, edi
shl eax, cl
mov edi, dword [esp + 0x54]
and eax, edi
mov dword [esp + 0x54], eax
mov dword [esp], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ebx
call fcn.00469d40
mov eax, dword [esp + 0x10]
mov edx, eax
and eax, 0x1ff
cmp eax, 0x1ff
sete al
mov ebx, dword [esp + 0x14]
and eax, 1
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
test al, al
je 0x46fd97
mov dword [esp + 0x34], ebx
mov eax, dword [esp + 0x54]
mov edi, eax
add eax, ebp
mov ecx, edx
mov edx, dword [esp + 0x50]
adc edx, esi
mov ebx, dword [esp + 0x50]
cmp ebx, edx
seta dl
sete bl
cmp eax, edi
setb al
and eax, ebx
or eax, edx
test al, al
jne 0x46fc93
mov ebx, dword [esp + 0x34]
mov edi, ecx
mov eax, ebp
mov ecx, esi
jmp 0x46fd9d
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], esi
mov dword [esp + 0x4c], ecx
mov eax, dword [esp + 0x58]
lea ecx, [0x64b3c0]
mov edx, dword [ecx + eax]
mov eax, dword [ecx + eax + 4]
mov ecx, dword [esp + 0x50]
mov dword [esp + 4], ecx
mov dword [esp], edi
mov dword [esp + 0xc], eax
mov dword [esp + 8], edx
call fcn.00469d40
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x28]
add eax, edx
mov ebx, dword [esp + 0x2c]
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
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
test bl, bl
je 0x46fd0d
mov esi, dword [esp + 0x4c]
add esi, 1
mov ebx, dword [esp + 0x34]
adc ebx, 0
jmp 0x46fd15
mov esi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x34]
mov edi, esi
and esi, 0x1ff
cmp esi, 0x1ff
xchg esi, ebx
sete bl
xchg esi, ebx
and esi, 1
xchg esi, eax
test al, al
xchg esi, eax
je 0x46fd9d
mov dword [esp + 0x44], eax
cmp ecx, 0xffffffff
xchg esi, ebx
sete bl
xchg esi, ebx
cmp eax, 0xffffffff
sete al
and eax, esi
test al, al
je 0x46fd91
mov eax, dword [esp + 0x54]
add edx, eax
mov esi, dword [esp + 0x50]
adc ebp, esi
cmp esi, ebp
xchg ebp, ebx
seta bl
xchg ebp, ebx
xchg esi, ebx
sete bl
xchg esi, ebx
cmp edx, eax
setb al
and eax, esi
or eax, ebp
test al, al
jne 0x46fd7c
mov eax, dword [esp + 0x44]
jmp 0x46fd9d
xorps xmm0, xmm0
movsd qword [esp + 0x78], xmm0
mov byte [esp + 0x80], 0
add esp, 0x64
ret
mov eax, dword [esp + 0x44]
jmp 0x46fd9d
mov edi, edx
mov eax, ebp
mov ecx, esi
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], ebx
shr ebx, 0x1f
mov ebp, ebx
add ebx, 9
mov esi, 0
adc esi, 0
cmp esi, 1
sbb esi, esi
xor esi, 0xffffffff
or esi, ebx
cmp esi, 0x20
sbb ebx, ebx
mov dword [esp + 0x54], ebx
lea ebx, [esi - 0x20]
mov dword [esp + 0x50], ebx
neg ebx
mov dword [esp + 0x4c], ebx
cmp ebx, 0x20
sbb ebx, ebx
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x50]
cmp ebx, 0x20
sbb edx, edx
mov dword [esp + 0x50], edx
xor ebp, 1
mov edx, dword [esp + 0x3c]
sub edx, ebp
mov dword [esp + 0x3c], edx
mov ebp, dword [esp + 0x48]
sbb ebp, 0
mov dword [esp + 0x48], ebp
test ecx, ecx
xchg ebp, ebx
sete bl
xchg ebp, ebx
xchg ebp, eax
mov byte [esp + 0x23], al
xchg ebp, eax
test eax, eax
sete al
mov ecx, esi
shr edi, cl
mov ecx, ebx
mov edx, dword [esp + 0x34]
mov ebx, edx
shr edx, cl
mov ecx, dword [esp + 0x4c]
shl ebx, cl
mov ecx, eax
mov eax, dword [esp + 0x54]
and edi, eax
mov ebp, dword [esp + 0x44]
and ebx, ebp
or ebx, edi
mov ebp, dword [esp + 0x50]
and ebp, edx
or ebx, ebp
mov edx, ecx
mov ecx, esi
mov ebp, dword [esp + 0x34]
shr ebp, cl
and ebp, eax
movzx eax, byte [esp + 0x23]
and eax, edx
test al, al
je 0x46fe98
mov eax, dword [esp + 0x30]
test eax, 0x1ff
sete al
and eax, 1
test al, al
je 0x46fe94
mov eax, ebx
and ebx, 3
cmp ebx, 1
sete cl
and ecx, 1
test cl, cl
je 0x46fe9a
xorps xmm0, xmm0
movsd qword [esp + 0x78], xmm0
mov byte [esp + 0x80], 0
add esp, 0x64
ret
mov eax, ebx
jmp 0x46fe9a
mov eax, ebx
mov ecx, eax
and eax, 1
add eax, ecx
adc ebp, 0
mov ecx, ebp
shr ebp, 0x16
test ebp, ebp
seta dl
mov ebx, eax
shr eax, 1
mov ebp, ecx
shl ecx, 0x1f
or ecx, eax
mov eax, ebp
shr ebp, 1
and edx, 1
test dl, dl
je 0x46fee1
mov edx, dword [esp + 0x3c]
add edx, 1
mov ebp, dword [esp + 0x48]
adc ebp, 0
shr ebx, 2
mov ecx, eax
shl ecx, 0x1e
or ecx, ebx
shr eax, 2
jmp 0x46feeb
mov edx, dword [esp + 0x3c]
mov eax, ebp
mov ebp, dword [esp + 0x48]
mov ebx, edx
add edx, 0xffffffff
adc ebp, 0xffffffff
test ebp, ebp
xchg ebp, ebx
seta bl
xchg ebp, ebx
xchg esi, ebx
sete bl
xchg esi, ebx
cmp edx, 0x7fe
setae dl
and edx, esi
or edx, ebp
test dl, dl
jne 0x46ff4d
shl ebx, 0x14
and eax, 0xfffff
or ebx, eax
movzx eax, byte [esp + 0x74]
test al, al
je 0x46ff2d
or ebx, 0x80000000
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], ebx
movsd xmm0, qword [esp + 0x5c]
movsd qword [esp + 0x78], xmm0
mov byte [esp + 0x80], 1
add esp, 0x64
ret
xorps xmm0, xmm0
movsd qword [esp + 0x78], xmm0
mov byte [esp + 0x80], 0
add esp, 0x64
ret
xorps xmm0, xmm0
movsd qword [esp + 0x78], xmm0
mov byte [esp + 0x80], 0
add esp, 0x64
ret
mov eax, ebp
mov ecx, 0x100
call fcn.00461d00
mov esi, ebx
mov eax, ebp
mov ecx, 0x100
call fcn.00461db0
nop
call fcn.00460860
jmp fcn.0046fa30