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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x48]
cmp eax, dword [ecx + 8]
jbe 0x46da80
sub esp, 0xc8
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x46da60
mov ecx, dword [esp + 0xcc]
movzx edx, byte [ecx]
cmp dl, 0x2d
jne 0x46da48
sete dl
lea ebx, [eax - 1]
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, 1
add ebx, ecx
cmp ebp, 1
jne 0x46d017
movzx esi, byte [ebx]
xchg esi, eax
cmp al, 0x30
xchg esi, eax
je 0x46da15
test ebp, ebp
je 0x46d971
mov byte [esp + 0x2f], dl
xor esi, esi
xor edi, edi
jmp 0x46d1d0
inc ebp
cmp ebp, eax
jge 0x46d04c
jae 0x46da79
movzx esi, byte [ecx + ebp]
xchg esi, eax
cmp al, 0x2e
xchg esi, eax
je 0x46d04c
add esi, 0xffffffd0
xchg esi, eax
cmp al, 9
xchg esi, eax
ja 0x46d02c
test ebp, ebp
je 0x46d5e1
jl 0x46da72
cmp ebp, eax
ja 0x46da72
mov dword [esp + 0x88], eax
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x40], ebp
movsd qword [esp + 0x8c], xmm0
lea eax, [0x775560]
mov dword [esp], eax
mov edx, dword [0xac8c40]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
call fcn.0040e810
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x40]
sub eax, ecx
mov edx, eax
neg eax
sar eax, 0x1f
and eax, ecx
mov ebx, dword [esp + 0x9c]
add eax, ebx
mov ebp, dword [esp + 0x10]
mov esi, dword [ebp]
mov ebp, dword [ebp + 4]
movzx edi, byte [esp + 0x14]
xchg edi, eax
test al, al
xchg edi, eax
je 0x46d515
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x88], edx
mov dword [esp + 0xc4], eax
mov dword [esp], 0xffffffff
mov dword [esp + 4], 0x7fffffff
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebp
call fcn.004484a0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x30]
cmp ecx, eax
seta al
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x34]
cmp ebx, edx
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ebp, eax
cmp ebx, edx
setg al
or eax, ebp
test al, al
jne 0x46d463
mov eax, ecx
mov edx, dword [esp + 0x38]
mov ebp, edx
mul edx
imul ebx, ebp
add edx, ebx
mov ebx, dword [esp + 0x3c]
imul ecx, ebx
add ecx, edx
mov edx, dword [esp + 0x70]
test edx, edx
xchg esi, ebx
sete bl
xchg esi, ebx
mov edi, dword [esp + 0x6c]
test edi, edi
seta bl
and ebx, esi
test edx, edx
xchg esi, ebx
setg bl
xchg esi, ebx
or esi, ebx
xchg esi, eax
test al, al
xchg esi, eax
jne 0x46d315
mov edx, dword [esp + 0x74]
add edx, eax
mov eax, dword [esp + 0x78]
adc eax, ecx
test eax, eax
sete cl
test edx, edx
setb bl
and ecx, ebx
test eax, eax
setl bl
or ecx, ebx
test cl, cl
jne 0x46d263
mov ecx, dword [esp + 0xc4]
mov ebx, dword [esp + 0x88]
mov ecx, dword [esp + 0xcc]
mov ebp, ebx
mov ebx, dword [esp + 0xc4]
mov esi, eax
mov edi, edx
mov eax, dword [esp + 0xd0]
movzx edx, byte [esp + 0x2f]
test ebp, ebp
je 0x46d931
mov dword [esp + 0x78], esi
mov dword [esp + 0x74], edi
movzx edx, byte [ebx]
cmp dl, 0x2e
jne 0x46d881
mov dword [esp + 0x68], ebp
mov dword [esp], ebx
mov dword [esp + 4], ebp
call fcn.0046ccc0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x18]
test ebp, ebp
jne 0x46d7cf
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], ebx
test eax, eax
je 0x46d7b4
movzx ebp, byte [ecx]
xchg ebp, eax
cmp al, 0x2e
xchg ebp, eax
je 0x46d74f
mov ebp, eax
xor esi, esi
xor edi, edi
xor eax, eax
mov dword [esp + 0x70], eax
movsd xmm0, qword [0x8419d8]
mov eax, ebp
mov dword [esp + 0x6c], edi
mov edi, dword [esp + 0x68]
cmp edi, ebp
je 0x46d693
xor ebp, ebp
jmp 0x46d02d
mov dword [esp], 0
lea eax, [0x7dd585]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x17
mov eax, dword [esp + 0xcc]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x10], eax
call fcn.0043bcb0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xb0], ecx
lea edx, [0x785320]
mov dword [esp], edx
call fcn.00409cb0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x5c]
mov dword [edi + 4], eax
mov eax, dword [0xadb480]
test eax, eax
jne 0x46d307
mov eax, dword [esp + 0xb0]
mov dword [edi], eax
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
lea eax, [0x843830]
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], edi
add esp, 0xc8
ret
mov eax, dword [esp + 0xb0]
call fcn.0044c870
jmp 0x46d2d6
mov dword [esp + 0x84], eax
mov dword [esp + 0x80], ecx
mov dword [esp], edi
mov dword [esp + 4], edx
call fcn.004480f0
movsd xmm0, qword [esp + 8]
movsd qword [esp + 0x94], xmm0
mov eax, dword [esp + 0x38]
mov dword [esp], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
call fcn.004480f0
movsd xmm0, qword [esp + 8]
movsd xmm1, qword [esp + 0x8c]
divsd xmm0, xmm1
movsd xmm1, qword [esp + 0x94]
mulsd xmm1, xmm0
movsd qword [esp], xmm1
call fcn.00448050
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x84]
add eax, ecx
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x80]
adc ecx, edx
test ecx, ecx
sete dl
test eax, eax
setb bl
and edx, ebx
test ecx, ecx
setl bl
or edx, ebx
test dl, dl
je 0x46d17b
mov dword [esp], 0
lea eax, [0x7dd585]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x17
mov eax, dword [esp + 0xcc]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x10], eax
call fcn.0043bcb0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xb8], ecx
lea edx, [0x785320]
mov dword [esp], edx
call fcn.00409cb0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x60]
mov dword [edi + 4], eax
mov eax, dword [0xadb480]
test eax, eax
jne 0x46d455
mov eax, dword [esp + 0xb8]
mov dword [edi], eax
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
lea eax, [0x843830]
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], edi
add esp, 0xc8
ret
mov eax, dword [esp + 0xb8]
call fcn.0044c870
jmp 0x46d424
mov dword [esp], 0
lea eax, [0x7dd585]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x17
mov eax, dword [esp + 0xcc]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x10], eax
call fcn.0043bcb0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xac], ecx
lea edx, [0x785320]
mov dword [esp], edx
call fcn.00409cb0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x50]
mov dword [edi + 4], eax
mov eax, dword [0xadb480]
test eax, eax
jne 0x46d507
mov eax, dword [esp + 0xac]
mov dword [edi], eax
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
lea eax, [0x843830]
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], edi
add esp, 0xc8
ret
mov eax, dword [esp + 0xac]
call fcn.0044c870
jmp 0x46d4d6
mov dword [esp], 0
lea eax, [0x7db021]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x13
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
lea eax, [0x7d75cd]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 0xd
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x20], eax
call fcn.0043bd70
mov eax, dword [esp + 0x24]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x4c], ecx
lea edx, [0x785320]
mov dword [esp], edx
call fcn.00409cb0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x4c]
mov dword [edi + 4], eax
mov eax, dword [0xadb480]
test eax, eax
jne 0x46d5d3
mov eax, dword [esp + 0xa0]
mov dword [edi], eax
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
lea eax, [0x843830]
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], edi
add esp, 0xc8
ret
mov eax, dword [esp + 0xa0]
call fcn.0044c870
jmp 0x46d5a2
mov dword [esp], 0
lea eax, [0x7e183d]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x1f
mov eax, dword [esp + 0xcc]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x10], eax
call fcn.0043bcb0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xbc], ecx
lea edx, [0x785320]
mov dword [esp], edx
call fcn.00409cb0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x48]
mov dword [edi + 4], eax
mov eax, dword [0xadb480]
test eax, eax
jne 0x46d685
mov eax, dword [esp + 0xbc]
mov dword [edi], eax
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
lea eax, [0x843830]
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], edi
add esp, 0xc8
ret
mov eax, dword [esp + 0xbc]
call fcn.0044c870
jmp 0x46d654
xchg esi, eax
test al, al
xchg esi, eax
jne 0x46d25c
mov dword [esp], 0
lea eax, [0x7dd585]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x17
mov eax, dword [esp + 0xcc]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x10], eax
call fcn.0043bcb0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xa4], ecx
lea edx, [0x785320]
mov dword [esp], edx
call fcn.00409cb0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x44]
mov dword [edi + 4], eax
mov eax, dword [0xadb480]
test eax, eax
jne 0x46d741
mov eax, dword [esp + 0xa4]
mov dword [edi], eax
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
lea eax, [0x843830]
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], edi
add esp, 0xc8
ret
mov eax, dword [esp + 0xa4]
call fcn.0044c870
jmp 0x46d710
mov dword [esp + 0x7c], eax
lea edx, [eax - 1]
mov dword [esp + 0x88], edx
mov ebx, edx
neg edx
sar edx, 0x1f
and edx, 1
add ecx, edx
mov dword [esp], ecx
mov dword [esp + 4], ebx
call fcn.0046ce60
movsd xmm0, qword [esp + 0x10]
mov edi, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x88]
cmp ecx, ebx
xchg esi, ebx
setne bl
xchg esi, ebx
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x7c]
mov dword [esp + 0x70], eax
mov eax, ecx
mov ecx, edx
mov edx, dword [esp + 0x30]
jmp 0x46d24c
mov ebp, eax
xor esi, esi
xor edi, edi
xor eax, eax
mov dword [esp + 0x70], eax
movsd xmm0, qword [0x8419d8]
mov eax, ebp
jmp 0x46d24c
mov dword [esp], 0
lea eax, [0x7dd585]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x17
mov eax, dword [esp + 0xcc]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x10], eax
call fcn.0043bcb0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xb4], ecx
lea edx, [0x785320]
mov dword [esp], edx
call fcn.00409cb0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x58]
mov dword [edi + 4], eax
mov eax, dword [0xadb480]
test eax, eax
jne 0x46d873
mov eax, dword [esp + 0xb4]
mov dword [edi], eax
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
lea eax, [0x843830]
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], edi
add esp, 0xc8
ret
mov eax, dword [esp + 0xb4]
call fcn.0044c870
jmp 0x46d842
add edx, 0xffffffd0
cmp dl, 9
jbe 0x46d1ec
mov dword [esp], 0
lea edx, [0x7dd585]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x17
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.0043bcb0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xc0], ecx
lea edx, [0x785320]
mov dword [esp], edx
call fcn.00409cb0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x54]
mov dword [edi + 4], eax
mov eax, dword [0xadb480]
test eax, eax
jne 0x46d923
mov eax, dword [esp + 0xc0]
mov dword [edi], eax
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
lea eax, [0x843830]
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], edi
add esp, 0xc8
ret
mov eax, dword [esp + 0xc0]
call fcn.0044c870
jmp 0x46d8f2
test dl, dl
je 0x46d96b
xor eax, eax
sub eax, edi
mov ecx, 0
sbb ecx, esi
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], 0
add esp, 0xc8
ret
mov eax, edi
mov ecx, esi
jmp 0x46d940
mov dword [esp], 0
lea edx, [0x7dd585]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x17
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.0043bcb0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xa8], ecx
lea edx, [0x785320]
mov dword [esp], edx
call fcn.00409cb0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x64]
mov dword [edi + 4], eax
mov eax, dword [0xadb480]
test eax, eax
jne 0x46da07
mov eax, dword [esp + 0xa8]
mov dword [edi], eax
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
lea eax, [0x843830]
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], edi
add esp, 0xc8
ret
mov eax, dword [esp + 0xa8]
call fcn.0044c870
jmp 0x46d9d6
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], 0
add esp, 0xc8
ret
cmp dl, 0x2b
jne 0x46da55
cmp dl, 0x2d
jmp 0x46cff2
mov ebx, ecx
mov ebp, eax
xor edx, edx
jmp 0x46d004
mov ecx, dword [esp + 0xcc]
mov ebp, eax
mov ebx, ecx
xor edx, edx
jmp 0x46d004
call fcn.00426530
ud2
call fcn.00426430
ud2
call fcn.0044b110
jmp fcn.0046cfb0