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

Disassembly:
mov ecx, dword [0x6d0e30]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x46ff3b
sub esp, 0x6c
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 4]
mov edx, 1
shl edx, cl
mov ebx, dword [eax + 8]
mov dword [esp + 0x60], ebx
mov ebp, dword [eax]
mov dword [esp + 0x5c], ebp
mov esi, dword [esp + 0x84]
add esi, ebp
cmp ecx, 0x20
sbb edi, edi
and edx, edi
mov dword [esp + 0x58], edx
lea edi, [edx + ebx - 2]
mov dword [esp + 0x18], edi
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x54], eax
jmp 0x46f9f1
mov ecx, dword [esp + 0x50]
shl ecx, 1
mov eax, dword [esp + 0x54]
mov edx, eax
shr eax, 0x1f
or ecx, eax
shl edx, 1
mov eax, dword [esp + 0x4c]
lea esi, [eax - 1]
mov ebp, dword [esp + 0x5c]
mov ebx, dword [esp + 0x60]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x54]
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 0x46fa7a
mov dword [esp + 0x50], ecx
mov dword [esp + 0x4c], esi
lea edx, [ebp - 0x1e]
mov edi, ecx
mov ecx, edx
shr edi, cl
neg ecx
mov dword [esp + 0x48], ecx
mov ebx, dword [esp + 0x50]
shl ebx, cl
add ebp, 2
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 + 0x48]
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 0x46f9c3
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0x4c]
movzx edx, byte [esp + 0x89]
test dl, dl
je 0x46fab4
or eax, 1
jmp 0x46fab4
mov eax, dword [esp + 0x50]
mov edx, eax
shr edx, 1
mov ecx, dword [esp + 0x54]
mov edi, ecx
shl edi, 0x1f
or edi, edx
and eax, 1
shr ecx, 1
or eax, edi
mov edx, dword [esp + 0x4c]
lea esi, [edx + 1]
mov ebp, dword [esp + 0x5c]
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], esi
lea edx, [ebp - 0x1d]
mov edi, ecx
mov ecx, edx
shr edi, cl
neg ecx
mov dword [esp + 0x48], ecx
mov ebx, dword [esp + 0x54]
shl ebx, cl
add ebp, 3
mov ecx, ebp
mov esi, dword [esp + 0x54]
shr esi, cl
shr eax, cl
cmp edx, 0x20
sbb edx, edx
and edi, edx
mov edx, dword [esp + 0x48]
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 0x46fa8b
mov edx, dword [esp + 0x60]
mov esi, dword [esp + 0x4c]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
jmp 0x46fb38
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 0x46fb5f
lea ebx, [edx - 1]
cmp esi, ebx
jl 0x46fb25
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 0x46fc1c
mov dword [esp + 0x44], eax
mov dword [esp + 0x4c], esi
mov edi, dword [esp + 0x5c]
lea ecx, [edi - 0x1f]
mov dword [esp + 0x54], ecx
mov edx, 1
shl edx, cl
neg ecx
mov dword [esp + 0x50], ecx
mov eax, 1
shr eax, cl
inc edi
mov ecx, edi
mov esi, 1
shl esi, cl
add ebx, 1
mov dword [esp + 0x48], ebx
adc ebp, 0
mov ebx, dword [esp + 0x50]
cmp ebx, 0x20
sbb ebx, ebx
and eax, ebx
mov ebx, dword [esp + 0x54]
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 + 0x48]
cmp ebx, edx
sete dl
and edx, eax
test dl, dl
je 0x46fc14
shr ebx, 1
mov edx, ebp
shl edx, 0x1f
or ebx, edx
shr ebp, 1
mov edx, dword [esp + 0x4c]
lea eax, [edx + 3]
jmp 0x46fc18
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x60]
mov dword [esp + 0x54], ebp
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], ebx
mov ecx, dword [esp + 0x5c]
shr ebx, cl
mov edi, ebp
shr ebp, cl
lea esi, [ecx - 0x20]
mov dword [esp + 0x48], esi
mov ecx, esi
shr edi, cl
neg ecx
mov dword [esp + 0x40], ecx
mov eax, dword [esp + 0x54]
shl eax, cl
cmp esi, 0x20
sbb esi, esi
mov dword [esp + 0x3c], esi
and edi, esi
mov esi, dword [esp + 0x5c]
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 0x46fc7e
mov eax, edx
jmp 0x46fc84
mov eax, edx
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x18]
cmp edx, ebx
jle 0x46fd88
mov edx, ecx
mov ecx, dword [esp + 0x40]
mov ebx, 1
shr ebx, cl
mov ecx, dword [esp + 0x48]
mov ebp, 1
shl ebp, cl
mov ecx, dword [esp + 0x5c]
mov edi, 1
shl edi, cl
and ebx, edx
mov edx, dword [esp + 0x3c]
and ebp, edx
or ebp, ebx
mov dword [esp + 0x54], ebp
and edi, esi
mov dword [esp + 0x50], edi
mov edx, dword [esp + 0x58]
lea eax, [edx + eax - 1]
mov dword [esp + 0x60], eax
mov edx, dword [esp + 0x70]
test edx, edx
jne 0x46fce1
lea edx, [0x6d0d00]
mov dword [esp], 0
mov dword [esp + 4], edx
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.0044f350
mov eax, dword [esp + 0x10]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x64], ecx
lea edx, [0x564a80]
mov dword [esp], edx
call fcn.0040caa0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0xa
lea ecx, [0x57ce8c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x14]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x6d0ed8]
test ecx, ecx
jne 0x46fd41
mov edx, dword [esp + 0x64]
jmp 0x46fd4c
call fcn.00464af0
mov edx, dword [esp + 0x64]
mov dword [edi], edx
mov dword [eax + 8], edx
mov edx, dword [0x68c8d8]
mov ebx, dword [0x68c8dc]
mov dword [eax + 0x10], edx
mov edx, dword [0x6d0ed8]
test edx, edx
je 0x46fd6f
call fcn.00464af0
mov dword [edi], ebx
mov dword [eax + 0x14], ebx
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x60]
lea ebx, [0x5b64fc]
mov ebp, eax
mov eax, dword [esp + 0x50]
jmp 0x46fd94
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
xor ebx, ebx
xor ebp, ebp
mov dword [esp + 0x54], eax
mov dword [esp + 0x50], ecx
mov dword [esp + 0x68], ebp
mov dword [esp + 0x1c], ebx
mov esi, dword [esp + 0x78]
mov edi, dword [esi]
mov dword [esp + 0x5c], edi
mov ecx, edi
mov ebp, 1
shl ebp, cl
mov dword [esp + 0x48], ebp
sub edx, dword [esi + 8]
mov dword [esp + 0x60], edx
mov ebx, dword [esi + 4]
mov dword [esp + 0x38], ebx
mov ecx, ebx
mov esi, 1
shl esi, cl
lea eax, [edi - 0x20]
mov dword [esp + 0x40], 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 + 0x40]
cmp edx, 0x20
sbb edx, edx
mov dword [esp + 0x3c], edx
and ebp, edx
cmp eax, 0x20
sbb edx, edx
and edi, edx
or ebp, edi
mov dword [esp + 0x34], ebp
cmp ebx, 0x20
sbb edi, edi
and esi, edi
dec esi
mov edi, dword [esp + 0x60]
and esi, edi
mov dword [esp + 0x60], esi
mov edi, esi
sar esi, 0x1f
mov ecx, dword [esp + 0x40]
shl edi, cl
mov ecx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x60]
shl ebx, cl
shl esi, cl
mov ecx, eax
mov ebp, dword [esp + 0x60]
shr ebp, cl
and ebp, edx
mov eax, dword [esp + 0x3c]
and edi, eax
mov eax, dword [esp + 0x5c]
cmp eax, 0x20
sbb eax, eax
mov edx, dword [esp + 0x48]
and edx, eax
and esi, eax
or ebp, esi
or edi, ebp
and ebx, eax
mov eax, edx
add edx, 0xffffffff
mov ebp, dword [esp + 0x34]
mov esi, ebp
adc ebp, 0xffffffff
mov ecx, esi
mov esi, dword [esp + 0x50]
and ebp, esi
mov esi, dword [esp + 0x54]
and edx, esi
or ebp, edi
or edx, ebx
movzx ebx, byte [esp + 0x88]
test bl, bl
je 0x46fecb
mov dword [esp + 0x54], eax
mov ebx, dword [esp + 0x38]
cmp ebx, 0x20
sbb esi, esi
mov edi, ecx
mov ecx, ebx
shl eax, cl
shl edi, cl
and edi, esi
and eax, esi
add ecx, 0xffffffe0
mov dword [esp + 0x50], ecx
mov ebx, dword [esp + 0x54]
mov esi, ebx
shl ebx, cl
neg ecx
shr esi, cl
or edx, eax
mov eax, dword [esp + 0x50]
cmp eax, 0x20
sbb eax, eax
and ebx, eax
cmp ecx, 0x20
sbb eax, eax
and esi, eax
or esi, edi
or ebx, esi
or ebp, ebx
mov eax, dword [esp + 0x78]
lea ecx, [0x67b7f0]
cmp eax, ecx
jne 0x46ff0a
mov dword [esp + 0x28], edx
movss xmm0, dword [esp + 0x28]
cvtss2sd xmm0, xmm0
movsd qword [esp + 0x8c], xmm0
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x98], eax
add esp, 0x6c
ret
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], ebp
movsd xmm0, qword [esp + 0x20]
movsd qword [esp + 0x8c], xmm0
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x98], eax
add esp, 0x6c
ret
call fcn.004636f0
jmp fcn.0046f960