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

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov rdi, qword [rcx]
xor esi, esi
mov r14, qword [rsp + 0xa0]
mov r10, r8
mov rbx, qword [rcx + 0x18]
mov rax, qword [rcx + 8]
mov rbp, qword [rdi]
lea r12d, [rsi + 1]
movsxd r13, dword [r14]
mov r11, qword [r14 + 0x20]
mov qword [rsp + 0x20], rax
movzx eax, byte [rbx + 0x10]
imul r15, rax, 0x70
mov rax, qword [rdi + 8]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0xb0]
mov qword [rbx], rdx
mov rdi, qword [r14 + 8]
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x88], r11
mov qword [rsp + 0x38], rbp
mov dword [rax], esi
test r13d, r13d
jle 0x18032a94c
mov r14, qword [rsp + 0x20]
add rdi, 5
mov r8d, r13d
nop dword [rax]
movsxd rdx, dword [rdi + 3]
shl rdx, 6
add rdx, qword [r14 + 0x20]
mov byte [rdi], sil
mov rax, qword [rdx + 0x30]
and rax, r10
cmp rax, qword [rdx + 0x30]
jne 0x18032a93b
test word [rdx + 0x14], r9w
movzx eax, sil
cmove eax, r12d
mov byte [rdi], al
add rdi, 0xc
sub r8, r12
jne 0x18032a910
mov r14, qword [rsp + 0xa0]
lea r8, [r13*8]
xor edx, edx
mov rcx, r11
call sub.VCRUNTIME140.dll_memset
mov rcx, qword [rsp + 0x28]
movabs rax, 0x546d42aea2879f2e
mov qword [r14 + 0x30], rsi
mov dword [r14 + 0x28], esi
mov dword [r14 + 0x3c], esi
mov qword [r14 + 0x40], rax
mov qword [r14 + 0x48], 0x19
mov dword [r14 + 0x50], esi
mov rax, qword [r15 + rcx + 0x60]
mov qword [r14 + 0x58], rax
mov rax, qword [r15 + rcx + 0x28]
mov rcx, qword [rax + 0x60]
test rcx, rcx
je 0x18032a9b2
mov rax, qword [rbp]
cmp qword [rcx], rax
je 0x18032a9b2
mov rcx, qword [rcx + 0x28]
test rcx, rcx
jne 0x18032a9a4
mov r15, qword [rcx + 0x10]
mov rdx, r14
mov rcx, r15
mov rax, qword [r15]
call qword [rax + 0x18]
mov edi, eax
test eax, eax
je 0x18032aa39
cmp eax, 0x13
je 0x18032aa39
cmp eax, 7
jne 0x18032aa17
mov rax, qword [rbp]
cmp byte [rax + 0x61], sil
jne 0x18032aa39
cmp byte [rax + 0x62], sil
jne 0x18032aa39
mov byte [rax + 0x61], r12b
cmp dword [rax + 0xd4], esi
jle 0x18032a9f5
mov dword [rax + 0x170], r12d
inc dword [rax + 0x178]
mov rcx, qword [rax + 0x138]
mov word [rax + 0x17c], si
test rcx, rcx
je 0x18032aa39
mov dword [rcx + 0x18], 7
jmp 0x18032aa39
mov r8, qword [r15 + 0x10]
test r8, r8
jne 0x18032aa2a
mov ecx, edi
call fcn.18033bf80
mov r8, rax
lea rdx, [0x1803ed540]
mov rcx, rbp
call fcn.1802a1640
mov rbp, qword [r15 + 0x10]
test rbp, rbp
je 0x18032aa9c
cmp dword [0x1804e1110], esi
je 0x18032aa93
mov rcx, qword [0x1804f2d58]
test rcx, rcx
je 0x18032aa5c
call qword [0x1804e1190]
mov rcx, rbp
call qword [0x1804e1148]
dec qword [0x1804f2ae8]
mov rcx, rbp
movsxd rdx, eax
sub qword [0x1804f2aa0], rdx
call qword [0x1804e1138]
mov rcx, qword [0x1804f2d58]
test rcx, rcx
je 0x18032aa9c
call qword [0x1804e11a0]
jmp 0x18032aa9c
mov rcx, rbp
call qword [0x1804e1138]
mov qword [r15 + 0x10], rsi
test edi, edi
je 0x18032aab1
cmp edi, 0x13
cmove edi, esi
mov eax, edi
jmp 0x18032aeeb
mov r9d, 0xffffffff
mov r8d, esi
test r13d, r13d
jle 0x18032ab21
cmp r13d, 2
jb 0x18032ab21
mov rdi, qword [rbx + 0x38]
lea rdx, [rbx + 0x38]
lea eax, [r13 - 1]
movsxd rcx, eax
lea rax, [rdi + rcx*8]
cmp rdi, rdx
ja 0x18032aae2
cmp rax, rdx
jae 0x18032ab21
mov eax, r13d
and eax, 0x80000001
jge 0x18032aaf3
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, r13d
sub ecx, eax
nop dword [rax + rax]
add r8d, 2
cmp r8d, ecx
jl 0x18032ab00
lea eax, [rcx + 1]
cdq
sub eax, edx
sar eax, 1
movsxd rcx, eax
shl rcx, 4
shr rcx, 3
xor eax, eax
rep stosq qword [rdi], rax
movsxd rcx, r8d
cmp rcx, r13
jge 0x18032ab40
nop dword [rax]
mov rax, qword [rbx + 0x38]
mov qword [rax + rcx*8], rsi
inc rcx
cmp rcx, r13
jl 0x18032ab30
mov word [rbx + 0x1e], si
mov r8d, esi
mov r10, qword [r14 + 8]
test r13d, r13d
jle 0x18032ac45
movzx r15d, word [rsp + 0xa8]
mov rdx, rsi
mov rax, qword [rsp + 0x88]
add r10, 5
nop dword [rax]
movsxd rdi, dword [rax + rdx*8]
lea ecx, [rdi - 1]
test ecx, ecx
js 0x18032ac32
cmp ecx, r13d
jge 0x18032ac8f
movsxd rax, dword [r10 + 3]
test eax, eax
js 0x18032ac8f
mov r11, qword [rsp + 0x20]
cmp eax, dword [r11 + 0x14]
jge 0x18032ac8f
mov rbp, qword [rbx + 0x38]
mov r11, rdi
cmp qword [rbp + rdi*8 - 8], rsi
jne 0x18032ac8f
cmp byte [r10], sil
je 0x18032ac8f
mov rdi, rax
mov rax, qword [rsp + 0x20]
shl rdi, 6
add rdi, qword [rax + 0x20]
mov rax, qword [rdi + 0x30]
or qword [rbx], rax
mov eax, ecx
cmp ecx, r9d
mov qword [rbp + r11*8 - 8], rdi
cmovle eax, r9d
mov r9d, eax
mov rax, qword [rsp + 0x88]
cmp byte [rax + rdx*8 + 4], sil
je 0x18032ac18
cmp r8d, 0x10
jge 0x18032ac18
movzx eax, r15w
bt eax, r8d
jb 0x18032ac10
movzx eax, word [rbx + 0x1e]
bts eax, ecx
mov word [rbx + 0x1e], ax
mov rax, qword [rsp + 0x88]
test byte [rdi + 0x14], r12b
je 0x18032ac32
mov rcx, qword [rsp + 0xb0]
and dword [r14 + 0x50], 0xfffffffe
mov dword [r14 + 0x3c], esi
mov dword [rcx], r12d
inc r8d
inc rdx
add r10, 0xc
cmp rdx, r13
jl 0x18032ab70
lea eax, [r9 + 1]
mov ecx, esi
mov word [rbx + 0x2c], ax
test r9d, r9d
js 0x18032ac68
mov rax, qword [rbx + 0x38]
cmp qword [rax], rsi
je 0x18032ac8f
inc ecx
add rax, 8
cmp ecx, r9d
jle 0x18032ac58
mov eax, dword [r14 + 0x28]
mov dword [rbx + 0x18], eax
movzx eax, byte [r14 + 0x38]
mov byte [rbx + 0x1c], al
mov rax, qword [r14 + 0x30]
mov dword [r14 + 0x38], esi
mov qword [rbx + 0x20], rax
cmp dword [r14 + 0x3c], esi
je 0x18032acba
mov eax, dword [r14 + 0x10]
jmp 0x18032acbc
mov rcx, qword [rsp + 0x28]
lea rdx, str._s.xBestIndex_malfunction
mov r8, qword [rsp + 0x30]
mov r8, qword [r8 + rcx + 0x28]
mov rcx, qword [rsp + 0x38]
mov r8, qword [r8]
call fcn.1802a1640
mov eax, r12d
jmp 0x18032aeeb
mov eax, esi
movsd xmm0, qword [0x1803f6ef0]
lea rdi, [0x1803c4fd8]
mov byte [rbx + 0x1d], al
mov edx, 0x28
mov word [rbx + 0x12], si
movsd xmm1, qword [r14 + 0x40]
comisd xmm0, xmm1
movsd qword [rsp + 0xa0], xmm1
jb 0x18032acf4
movzx eax, si
jmp 0x18032adde
movsd xmm0, qword [0x1803f70a0]
comisd xmm0, xmm1
jb 0x18032adbd
movsd xmm0, qword [0x1803f7128]
xor ecx, ecx
comisd xmm1, xmm0
jb 0x18032ad2d
subsd xmm1, xmm0
comisd xmm1, xmm0
jae 0x18032ad2d
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rax, xmm1
add rax, rcx
movzx ecx, dx
cmp rax, 8
jae 0x18032ad6d
cmp rax, 2
jae 0x18032ad50
mov eax, esi
jmp 0x18032adde
add cx, 0xfff6
add rax, rax
cmp rax, 8
jb 0x18032ad50
and eax, 7
movzx eax, word [rdi + rax*2]
sub ax, 0xa
add ax, cx
jmp 0x18032adde
cmp rax, 0xff
jbe 0x18032ad8f
nop word [rax + rax]
add cx, dx
shr rax, 4
cmp rax, 0xff
ja 0x18032ad80
cmp rax, 0xf
jbe 0x18032adad
nop word [rax + rax]
add cx, 0xa
shr rax, 1
cmp rax, 0xf
ja 0x18032ada0
and eax, 7
movzx eax, word [rdi + rax*2]
sub ax, 0xa
add ax, cx
jmp 0x18032adde
mov rcx, qword [rsp + 0xa0]
mov eax, 0x3fe
shr rcx, 0x34
sub cx, ax
movzx eax, cx
shl ax, 2
add cx, ax
lea eax, [rcx + rcx]
mov word [rbx + 0x14], ax
mov rax, qword [r14 + 0x48]
cmp rax, 8
jae 0x18032ae01
cmp rax, 2
jb 0x18032ae4b
add dx, 0xfff6
add rax, rax
cmp rax, 8
jb 0x18032adf2
jmp 0x18032ae3d
cmp rax, 0xff
jbe 0x18032ae20
nop dword [rax]
add dx, 0x28
shr rax, 4
cmp rax, 0xff
ja 0x18032ae10
cmp rax, 0xf
jbe 0x18032ae3d
nop word [rax + rax]
add dx, 0xa
shr rax, 1
cmp rax, 0xf
ja 0x18032ae30
and eax, 7
movzx esi, word [rdi + rax*2]
sub si, 0xa
add si, dx
mov edx, dword [rbx + 0x28]
mov eax, edx
bts edx, 0xc
mov word [rbx + 0x16], si
mov ecx, dword [r14 + 0x50]
btr eax, 0xc
and cl, r12b
mov rcx, qword [rsp + 0x80]
cmove edx, eax
mov dword [rbx + 0x28], edx
mov rdx, rbx
call fcn.180329200
cmp byte [rbx + 0x1c], 0
mov esi, eax
je 0x18032aee9
mov rdi, qword [rbx + 0x20]
test rdi, rdi
je 0x18032aee5
cmp dword [0x1804e1110], 0
je 0x18032aedc
mov rcx, qword [0x1804f2d58]
test rcx, rcx
je 0x18032aea5
call qword [0x1804e1190]
mov rcx, rdi
call qword [0x1804e1148]
dec qword [0x1804f2ae8]
mov rcx, rdi
movsxd rdx, eax
sub qword [0x1804f2aa0], rdx
call qword [0x1804e1138]
mov rcx, qword [0x1804f2d58]
test rcx, rcx
je 0x18032aee5
call qword [0x1804e11a0]
jmp 0x18032aee5
mov rcx, rdi
call qword [0x1804e1138]
mov byte [rbx + 0x1c], 0
mov eax, esi
mov rbx, qword [rsp + 0x90]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret