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

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
mov qword [rax + 8], rcx
push rsi
push r13
sub rsp, 0x98
mov r10d, dword [rsp + 0xd0]
mov r8, rcx
mov qword [rax - 0x18], rbx
mov ecx, r10d
mov rbx, qword [0x14011bfb0]
or ecx, 1
mov qword [rax - 0x20], rbp
test r10b, 7
mov qword [rax - 0x30], r12
mov ebp, edx
mov qword [rax - 0x38], r14
cmovne ecx, r10d
mov qword [rax - 0x40], r15
mov r14d, ecx
or r14d, 0x20
vmovaps xmmword [rax - 0x68], xmm7
mov rax, qword [rbx + 0x3ef8]
test ecx, 0x3f0
cmovne r14d, ecx
mov byte [rax + 0xb8], 1
mov r13, qword [rbx + 0x3ef8]
mov rsi, qword [rbx + 0x3f00]
mov qword [rsp + 0x30], r13
bt r14d, 0xb
jae 0x140041607
test rsi, rsi
je 0x140041607
cmp qword [rsi + 0x378], r13
jne 0x140041607
mov r12b, 1
mov qword [rbx + 0x3f00], r13
jmp 0x14004160a
xor r12b, r12b
mov rcx, r8
mov qword [rsp + 0x80], rdi
mov byte [rsp + 0x20], 0
call fcn.140013c80
xor r11d, r11d
movzx r15d, al
mov dword [rsp + 0xb8], r15d
test al, al
je 0x140041665
cmp byte [rbx + 0x4a9c], r11b
je 0x140041665
cmp dword [rbx + 0x4abc], ebp
jne 0x140041665
test byte [rbx + 0x4aa0], 2
jne 0x140041665
xor r15b, r15b
lea rax, [rbx + 0x4a9c]
mov dword [rsp + 0xb8], r15d
mov qword [rsp + 0x38], rax
jmp 0x14004167a
lea rax, [rbx + 0x4a9c]
mov qword [rsp + 0x38], rax
cmp byte [rax], r11b
je 0x1400417e3
bt r14d, 9
jae 0x1400417e3
test byte [rbx + 0x4aa0], 4
jne 0x1400417e3
mov rdi, qword [0x14011bfb0]
mov r8, qword [rdi + 0x3ef8]
cmp byte [rdi + 0x4917], r11b
je 0x1400416de
cmp byte [rdi + 0x4916], r11b
jne 0x1400416de
test byte [rdi + 0x4798], 4
jne 0x1400417ea
mov eax, dword [rdi + 0x48e0]
cmp eax, dword [rdi + 0x4794]
jne 0x1400417ea
test eax, eax
je 0x1400417ea
jmp 0x140041781
mov eax, dword [rdi + 0x479c]
test al, 1
je 0x1400417ea
cmp qword [rdi + 0x3f00], r8
je 0x1400416fd
test al, al
jns 0x1400417ea
mov rcx, qword [rdi + 0x48d8]
test rcx, rcx
je 0x140041763
mov rcx, qword [rcx + 0x378]
test rcx, rcx
je 0x140041763
cmp byte [rcx + 0xb7], r11b
je 0x140041763
mov rax, qword [r8 + 0x378]
cmp rcx, rax
je 0x140041763
mov edx, dword [rcx + 0x14]
bt edx, 0x1b
jb 0x140041739
bt edx, 0x1a
jae 0x140041763
cmp qword [rax + 0x378], rcx
je 0x140041763
cmp rax, rcx
je 0x140041763
mov rax, qword [rax + 0x370]
test rax, rax
jne 0x140041742
test dword [rdi + 0x4798], 0x100
je 0x1400417ea
test byte [rdi + 0x4798], 4
jne 0x1400417ea
mov eax, dword [r8 + 0x7c]
cmp dword [rdi + 0x4794], eax
jne 0x140041781
cmp byte [r8 + 0xb8], r11b
jne 0x1400417ea
mov dword [rdi + 0x3f44], ebp
mov dl, 1
mov dword [rsp + 0xb8], edx
mov byte [rdi + 0x3f4c], r11b
test ebp, ebp
je 0x1400417aa
cmp dword [rdi + 0x3f48], ebp
je 0x1400417aa
mov qword [rdi + 0x3f50], r11
vmovss xmm1, dword [rbx + 0x3f50]
vsubss xmm0, xmm1, dword [rbx + 0x18]
vmovss xmm2, dword [0x140102abc]
vcomiss xmm0, xmm2
ja 0x1400417f1
vcomiss xmm1, xmm2
jb 0x1400417f1
xor edx, edx
mov byte [rsp + 0x20], 1
mov rcx, r13
mov dword [rbx + 0x4b18], ebp
call fcn.14001c290
xor r11d, r11d
mov rdi, qword [0x14011bfb0]
mov edx, dword [rsp + 0xb8]
test r12b, r12b
je 0x1400417fd
mov qword [rbx + 0x3f00], rsi
mov esi, 1
vxorps xmm7, xmm7, xmm7
lea r10d, [rsi - 2]
test dl, dl
je 0x14004183d
bt r14d, 0xc
jae 0x14004183d
mov eax, dword [rbx + 0x3f48]
cmp eax, ebp
je 0x14004183d
test eax, eax
je 0x14004183d
xor dl, dl
mov r12d, ebp
bt r14d, 0x15
mov dword [rsp + 0xb8], edx
cmovb r12d, r11d
jmp 0x140041acd
bt r14d, 0x15
mov r12d, ebp
cmovb r12d, r11d
test dl, dl
je 0x140041acd
lea rax, [rdi + 0x3766]
mov dword [rsp + 0x24], r10d
mov rdi, rax
lea r8, [rbx + 0x4a9c]
mov r15d, r10d
nop word [rax + rax]
mov byte [rsp + 0xd0], dl
mov r13, r8
test esi, r14d
je 0x1400418f4
xor r8d, r8d
mov edx, r12d
mov ecx, r11d
call fcn.14001d690
test al, al
je 0x140041899
cmp r15d, 0xffffffff
cmove r15d, r11d
cmp byte [rdi], 0
je 0x1400418e8
lea ecx, [r11 + 0x281]
mov edx, r12d
call fcn.14001f340
test al, al
je 0x1400418e8
cmp dword [rsp + 0x24], 0xffffffff
mov eax, r12d
movzx ecx, byte [rsp + 0xd0]
mov r8, r13
movzx edx, cl
mov qword [rsp + 0x38], r13
mov dword [rsp + 0xb8], edx
jne 0x1400418f4
mov dword [rsp + 0x24], r11d
mov dword [rsp + 0xb8], edx
mov qword [rsp + 0x38], r13
jmp 0x1400418f4
mov r8, qword [rsp + 0x38]
mov edx, dword [rsp + 0xb8]
inc r11d
rol esi, 1
inc rdi
cmp r11d, 3
jl 0x140041870
mov rdi, qword [0x14011bfb0]
bt r14d, 0x10
jae 0x14004193b
cmp byte [rbx + 0xe24], 0
jne 0x140041aa7
cmp byte [rbx + 0xe25], 0
jne 0x140041aa7
cmp byte [rbx + 0xe26], 0
jne 0x140041aa7
cmp r15d, 0xffffffff
je 0x140041a1d
cmp dword [rbx + 0x3f58], ebp
je 0x140041a1d
bt r14d, 0x14
jb 0x140041972
lea edx, [r15 + 0x281]
mov rcx, rdi
call fcn.14000e780
mov dword [rax + 4], ebp
mov dword [rax], ebp
mov word [rax + 8], 0
mov r13, qword [rsp + 0x30]
test r14b, 0x60
je 0x1400419b6
mov rdx, r13
mov ecx, ebp
call fcn.140013b20
mov esi, r14d
mov dword [rbx + 0x3f84], r15d
and esi, 0x40000
jne 0x1400419a3
mov rdx, r13
mov ecx, ebp
call fcn.1400219c0
xor edx, edx
mov rcx, r13
call fcn.14001c290
mov rdi, qword [0x14011bfb0]
jmp 0x1400419bf
mov esi, r14d
and esi, 0x40000
test r14b, 0x10
jne 0x1400419da
bt r14d, 8
jae 0x140041a1d
movsxd rax, r15d
cmp word [rbx + rax*2 + 0x3752], 2
jne 0x140041a1d
mov ecx, 0
mov byte [rsp + 0x20], 1
mov edx, ecx
bt r14d, 0x11
cmovae rdx, r13
cmovae ecx, ebp
call fcn.140013b20
test esi, esi
jne 0x140041a05
mov rdx, r13
mov ecx, ebp
call fcn.1400219c0
xor edx, edx
mov dword [rbx + 0x3f84], r15d
mov rcx, r13
call fcn.14001c290
mov rdi, qword [0x14011bfb0]
test r14b, r14b
jns 0x140041a6b
movsxd rax, dword [rsp + 0x24]
cmp eax, 0xffffffff
je 0x140041a6b
bt r14d, 0xa
jae 0x140041a43
vmovss xmm0, dword [rbx + 0x3c]
vcomiss xmm0, dword [rbx + rax*4 + 0x378c]
jbe 0x140041a48
mov byte [rsp + 0x20], 1
bt r14d, 0x12
jb 0x140041a5b
mov rdx, qword [rsp + 0x30]
mov ecx, ebp
call fcn.1400219c0
xor edx, edx
xor ecx, ecx
call fcn.140013b20
mov rdi, qword [0x14011bfb0]
mov esi, 1
cmp dword [rbx + 0x3f58], ebp
jne 0x140041aac
bt r14d, 0xa
jae 0x140041aac
movsxd rcx, dword [rbx + 0x3f84]
vcomiss xmm7, dword [rbx + rcx*4 + 0x3778]
jae 0x140041aac
mov r8d, esi
mov edx, r12d
call fcn.14001d690
test al, al
je 0x140041aac
mov byte [rsp + 0x20], sil
jmp 0x140041ab3
mov esi, 1
cmp byte [rsp + 0x20], 0
je 0x140041aba
mov byte [rbx + 0x4916], 1
mov r13, qword [rsp + 0x30]
xor r11d, r11d
mov edx, dword [rsp + 0xb8]
lea r10d, [r11 - 1]
cmp dword [rbx + 0x48e0], ebp
jne 0x140041b0d
cmp byte [rbx + 0x4916], 0
jne 0x140041b0d
cmp byte [rbx + 0x4917], 0
je 0x140041b0d
mov eax, dword [rbx + 0x3f58]
test eax, eax
je 0x140041afb
cmp eax, ebp
je 0x140041afb
cmp eax, dword [r13 + 0x7c]
jne 0x140041b0d
bt r14d, 0x13
movzx edx, dl
cmovae edx, esi
mov dword [rsp + 0xb8], edx
cmp dword [rbx + 0x48ec], ebp
jne 0x140041c34
cmp dword [rbx + 0x48f0], ebp
sete cl
je 0x140041bf0
bt r14d, 0xa
jae 0x140041bf0
mov edx, 0x20d
vmovaps xmmword [rsp + 0x50], xmm6
mov rcx, rdi
call fcn.14001cdf0
mov edx, 0x20c
mov rcx, rdi
mov r9, rax
call fcn.14001cdf0
vmovss xmm0, dword [r9 + 4]
mov edx, 0x26e
mov rcx, rdi
vmaxss xmm6, xmm0, dword [rax + 4]
call fcn.14001cdf0
vmovss xmm4, dword [rbx + 0x40]
vmovss xmm2, dword [rbx + 0x3c]
vmaxss xmm3, xmm6, dword [rax + 4]
vucomiss xmm3, xmm7
vsubss xmm0, xmm3, dword [rbx + 0x18]
vmovaps xmm6, xmmword [rsp + 0x50]
jne 0x140041b92
mov ecx, esi
jmp 0x140041beb
vcomiss xmm0, xmm3
jb 0x140041b9c
xor ecx, ecx
jmp 0x140041beb
vcomiss xmm4, xmm7
ja 0x140041bbc
vcomiss xmm0, xmm2
jae 0x140041bb2
vcomiss xmm3, xmm2
jb 0x140041bb2
mov ecx, esi
jmp 0x140041beb
mov qword [rsp + 0x28], r11
mov rcx, r11
jmp 0x140041beb
vcomiss xmm0, xmm2
jae 0x140041bc7
mov eax, r10d
jmp 0x140041bd3
vsubss xmm0, xmm0, xmm2
vdivss xmm1, xmm0, xmm4
vcvttss2si eax, xmm1
vcomiss xmm3, xmm2
jb 0x140041be5
vsubss xmm0, xmm3, xmm2
vdivss xmm1, xmm0, xmm4
vcvttss2si r10d, xmm1
sub r10d, eax
mov ecx, r10d
test ecx, ecx
setg cl
cmp dword [rbx + 0x48e8], ebp
je 0x140041bfc
test cl, cl
je 0x140041c34
mov rdi, qword [rsp + 0x30]
mov ecx, ebp
mov rdx, rdi
mov r13b, 1
call fcn.140013b20
mov eax, dword [rbx + 0x490c]
mov dword [rbx + 0x3f80], eax
bt r14d, 0x12
jb 0x140041c2b
mov rdx, rdi
mov ecx, ebp
call fcn.1400219c0
mov rdi, qword [0x14011bfb0]
jmp 0x140041c39
mov r13d, dword [rsp + 0x20]
vmovaps xmm7, xmmword [rsp + 0x40]
xor sil, sil
cmp dword [rbx + 0x3f58], ebp
jne 0x140041dc3
mov eax, dword [rbx + 0x3f80]
cmp eax, 1
jne 0x140041d94
cmp byte [rbx + 0x3f64], sil
je 0x140041c97
vmovss xmm0, dword [rbx + 0xe08]
vmovss xmm1, dword [rbx + 0xe0c]
mov rax, qword [rsp + 0xb0]
vsubss xmm3, xmm0, dword [rax]
vsubss xmm2, xmm1, dword [rax + 4]
vmovss dword [rbx + 0x3f6c], xmm3
vmovss dword [rbx + 0x3f70], xmm2
movsxd r11, dword [rbx + 0x3f84]
cmp r11d, 0xffffffff
jne 0x140041cba
xor edx, edx
xor ecx, ecx
call fcn.140013b20
mov r15d, dword [rsp + 0xb8]
jmp 0x140041d84
cmp byte [r11 + rdi + 0xe10], sil
je 0x140041ce7
lea ecx, [r11 + 0x281]
mov edx, r12d
call fcn.14001f340
test al, al
je 0x140041ce7
mov r15d, dword [rsp + 0xb8]
mov sil, 1
jmp 0x140041d84
mov r15d, dword [rsp + 0xb8]
test r15b, r15b
je 0x140041cfa
test r14b, 0x20
jne 0x140041d04
mov eax, r14d
shr eax, 6
test al, 1
je 0x140041d7b
mov rax, qword [rsp + 0x38]
cmp byte [rax], sil
jne 0x140041d7b
bt r14d, 8
jae 0x140041d30
cmp byte [r11 + rbx + 0x3766], sil
je 0x140041d30
cmp word [rbx + r11*2 + 0x375c], 2
jne 0x140041d30
mov dil, 1
jmp 0x140041d33
xor dil, dil
bt r14d, 0xa
jae 0x140041d50
vmovss xmm0, dword [rbx + 0x3c]
vcomiss xmm0, dword [rbx + r11*4 + 0x378c]
ja 0x140041d50
mov r10b, 1
jmp 0x140041d53
xor r10b, r10b
lea ecx, [r11 + 0x281]
mov edx, r12d
call fcn.14001f340
test dil, dil
jne 0x140041d7b
test r10b, r10b
jne 0x140041d7b
test al, al
movzx r13d, r13b
mov eax, 1
cmovne r13d, eax
xor edx, edx
xor ecx, ecx
call fcn.140013b20
bt r14d, 0x12
jb 0x140041db5
mov byte [rbx + 0x4916], 1
jmp 0x140041db5
add eax, 0xfffffffe
cmp eax, 1
ja 0x140041dad
cmp dword [rbx + 0x48ec], ebp
je 0x140041dad
xor edx, edx
xor ecx, ecx
call fcn.140013b20
mov r15d, dword [rsp + 0xb8]
test r13b, r13b
je 0x140041dcb
mov byte [rbx + 0x3f67], 1
jmp 0x140041dcb
mov r15d, dword [rsp + 0xb8]
mov rax, qword [rsp + 0xc0]
mov r14, qword [rsp + 0x70]
mov r12, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x80]
mov rbp, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x90]
test rax, rax
je 0x140041dfd
mov byte [rax], r15b
mov rax, qword [rsp + 0xc8]
mov r15, qword [rsp + 0x68]
test rax, rax
je 0x140041e12
mov byte [rax], sil
movzx eax, r13b
add rsp, 0x98
pop r13
pop rsi
ret