Function at 0x140051cf0
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 r13
push r15
sub rsp, 0xa8
mov r10d, dword [rsp + 0xe0]
mov r8, rcx
mov qword [rax - 0x18], rbx
mov ecx, r10d
mov rbx, qword [0x1400963d0]
or ecx, 1
mov qword [rax - 0x20], rbp
test r10b, 7
mov qword [rax - 0x28], rsi
cmovne ecx, r10d
mov qword [rax - 0x30], rdi
mov qword [rax - 0x38], r12
mov esi, ecx
or esi, 0x20
mov qword [rax - 0x40], r14
test ecx, 0x3f0
vmovaps xmmword [rax - 0x68], xmm7
mov rax, qword [rbx + 0x3ef8]
mov edi, edx
cmovne esi, ecx
mov qword [rsp + 0x40], rbx
mov byte [rax + 0xb8], 1
mov r13, qword [rbx + 0x3ef8]
mov rbp, qword [rbx + 0x3f00]
mov qword [rsp + 0x38], r13
bt esi, 0xb
jae 0x140051d9d
test rbp, rbp
je 0x140051d9d
cmp qword [rbp + 0x378], r13
jne 0x140051d9d
mov r14b, 1
mov qword [rbx + 0x3f00], r13
jmp 0x140051da0
xor r14b, r14b
mov rcx, r8
mov byte [rsp + 0x20], 0
call fcn.14001fbb0
xor r15d, r15d
movzx r12d, al
mov dword [rsp + 0xc8], r12d
test al, al
je 0x140051df3
cmp byte [rbx + 0x4a9c], r15b
je 0x140051df3
cmp dword [rbx + 0x4abc], edi
jne 0x140051df3
test byte [rbx + 0x4aa0], 2
jne 0x140051df3
xor r12b, r12b
lea rax, [rbx + 0x4a9c]
mov dword [rsp + 0xc8], r12d
mov qword [rsp + 0x28], rax
jmp 0x140051e08
lea rax, [rbx + 0x4a9c]
mov qword [rsp + 0x28], rax
cmp byte [rax], r15b
je 0x140051e8d
bt esi, 9
jae 0x140051e8d
test byte [rbx + 0x4aa0], 4
jne 0x140051e8d
mov ecx, pe_nt_image_headers64
call fcn.14001f9e0
test al, al
je 0x140051e8d
mov r10, qword [0x1400963d0]
mov dl, 1
mov dword [rsp + 0xc8], edx
mov dword [r10 + 0x3f44], edi
mov byte [r10 + 0x3f4c], r15b
test edi, edi
je 0x140051e57
cmp dword [r10 + 0x3f48], edi
je 0x140051e57
mov qword [r10 + 0x3f50], r15
vmovss xmm1, dword [rbx + 0x3f50]
vsubss xmm0, xmm1, dword [rbx + 0x18]
vmovss xmm2, dword [0x140088554]
vcomiss xmm0, xmm2
ja 0x140051e9b
vcomiss xmm1, xmm2
jb 0x140051e9b
xor edx, edx
mov byte [rsp + 0x20], 1
mov rcx, r13
mov dword [rbx + 0x4b18], edi
call fcn.140028b60
mov edx, dword [rsp + 0xc8]
mov r10, qword [0x1400963d0]
test r14b, r14b
je 0x140051ea7
mov qword [rbx + 0x3f00], rbp
mov ebp, 1
vxorps xmm7, xmm7, xmm7
lea r11d, [rbp - 2]
test dl, dl
je 0x140051ee5
bt esi, 0xc
jae 0x140051ee5
mov eax, dword [rbx + 0x3f48]
cmp eax, edi
je 0x140051ee5
test eax, eax
je 0x140051ee5
xor dl, dl
mov r14d, edi
bt esi, 0x15
mov dword [rsp + 0xc8], edx
cmovb r14d, r15d
jmp 0x1400521e5
bt esi, 0x15
mov r14d, edi
cmovb r14d, r15d
test dl, dl
je 0x1400521e5
mov rbx, qword [rsp + 0x28]
mov eax, 0x3778
mov r13d, r11d
mov dword [rsp + 0x24], r11d
mov qword [rsp + 0x30], rax
mov r11d, r15d
nop dword [rax]
nop word [rax + rax]
mov byte [rsp + 0xe0], dl
test esi, ebp
je 0x140051fcc
cmp byte [r15 + r10 + 0xe10], 0
je 0x140051f73
vmovss xmm0, dword [rax + r10]
vcomiss xmm0, xmm7
jb 0x140051f73
vucomiss xmm0, xmm7
jne 0x140051f73
lea ecx, [r11 + 0x281]
mov edx, r14d
call fcn.14002c9e0
mov edx, dword [rsp + 0xc8]
test al, al
mov rax, qword [rsp + 0x30]
je 0x140051f73
cmp r13d, 0xffffffff
cmove r13d, r11d
cmp byte [r15 + r10 + 0x3766], 0
je 0x140051fcc
lea ecx, [r11 + 0x281]
mov edx, r14d
call fcn.14002c9e0
test al, al
je 0x140051fc0
cmp dword [rsp + 0x24], 0xffffffff
mov eax, r14d
movzx ecx, byte [rsp + 0xe0]
mov rax, qword [rsp + 0x30]
movzx edx, cl
mov dword [rsp + 0xc8], edx
jne 0x140051fcc
mov dword [rsp + 0x24], r11d
mov dword [rsp + 0xc8], edx
jmp 0x140051fcc
mov rax, qword [rsp + 0x30]
mov edx, dword [rsp + 0xc8]
add rax, 4
rol ebp, 1
inc r11d
mov qword [rsp + 0x30], rax
inc r15
cmp r11d, 3
jl 0x140051f20
mov qword [rsp + 0x28], rbx
mov rbx, qword [rsp + 0x40]
bt esi, 0x10
jae 0x14005201e
cmp byte [rbx + 0xe24], 0
jne 0x1400521be
cmp byte [rbx + 0xe25], 0
jne 0x1400521be
cmp byte [rbx + 0xe26], 0
jne 0x1400521be
cmp r13d, 0xffffffff
je 0x1400520fb
cmp dword [rbx + 0x3f58], edi
je 0x1400520fb
bt esi, 0x14
jb 0x140052054
lea edx, [r13 + 0x281]
mov rcx, r10
call fcn.14001adb0
mov dword [rax + 4], edi
mov dword [rax], edi
mov word [rax + 8], 0
mov r15, qword [rsp + 0x38]
test sil, 0x60
je 0x140052097
mov rdx, r15
mov ecx, edi
call fcn.14001f530
mov ebp, esi
mov dword [rbx + 0x3f84], r13d
and ebp, 0x40000
jne 0x140052084
mov rdx, r15
mov ecx, edi
call fcn.14002f8c0
xor edx, edx
mov rcx, r15
call fcn.140028b60
mov r10, qword [0x1400963d0]
jmp 0x14005209f
mov ebp, esi
and ebp, 0x40000
test sil, 0x10
jne 0x1400520b9
bt esi, 8
jae 0x1400520fb
movsxd rax, r13d
cmp word [rbx + rax*2 + 0x3752], 2
jne 0x1400520fb
mov ecx, 0
mov byte [rsp + 0x20], 1
mov edx, ecx
bt esi, 0x11
cmovae rdx, r15
cmovae ecx, edi
call fcn.14001f530
test ebp, ebp
jne 0x1400520e3
mov rdx, r15
mov ecx, edi
call fcn.14002f8c0
xor edx, edx
mov dword [rbx + 0x3f84], r13d
mov rcx, r15
call fcn.140028b60
mov r10, qword [0x1400963d0]
test sil, sil
jns 0x140052147
movsxd rax, dword [rsp + 0x24]
cmp eax, 0xffffffff
je 0x140052147
bt esi, 0xa
jae 0x140052120
vmovss xmm0, dword [rbx + 0x3c]
vcomiss xmm0, dword [rbx + rax*4 + 0x378c]
jbe 0x140052125
mov byte [rsp + 0x20], 1
bt esi, 0x12
jb 0x140052137
mov rdx, qword [rsp + 0x38]
mov ecx, edi
call fcn.14002f8c0
xor edx, edx
xor ecx, ecx
call fcn.14001f530
mov r10, qword [0x1400963d0]
cmp dword [rbx + 0x3f58], edi
jne 0x1400521be
bt esi, 0xa
jae 0x1400521be
movsxd rdx, dword [rbx + 0x3f84]
vcomiss xmm7, dword [rbx + rdx*4 + 0x3778]
jae 0x1400521be
cmp byte [r10 + rdx + 0xe10], 0
je 0x1400521be
vmovss xmm2, dword [r10 + rdx*4 + 0x3778]
vcomiss xmm2, xmm7
jb 0x1400521be
vucomiss xmm2, xmm7
je 0x1400522de
vmovss xmm3, dword [r10 + 0x3c]
vcomiss xmm2, xmm3
jbe 0x1400521be
vsubss xmm0, xmm2, dword [r10 + 0x18]
vcomiss xmm0, xmm2
vmovss xmm4, dword [r10 + 0x40]
jae 0x1400521be
vcomiss xmm4, xmm7
ja 0x1400522af
vcomiss xmm0, xmm3
jb 0x1400522de
cmp byte [rsp + 0x20], 0
je 0x1400521cc
mov byte [rbx + 0x4916], 1
mov r13, qword [rsp + 0x38]
mov r11d, 0xffffffff
mov edx, dword [rsp + 0xc8]
xor r15d, r15d
lea ebp, [r11 + 2]
cmp dword [rbx + 0x48e0], edi
jne 0x140052224
cmp byte [rbx + 0x4916], 0
jne 0x140052224
cmp byte [rbx + 0x4917], 0
je 0x140052224
mov eax, dword [rbx + 0x3f58]
test eax, eax
je 0x140052213
cmp eax, edi
je 0x140052213
cmp eax, dword [r13 + 0x7c]
jne 0x140052224
bt esi, 0x13
movzx edx, dl
cmovae edx, ebp
mov dword [rsp + 0xc8], edx
cmp dword [rbx + 0x48ec], edi
jne 0x14005239f
cmp dword [rbx + 0x48f0], edi
sete cl
je 0x14005235c
bt esi, 0xa
jae 0x14005235c
mov edx, 0x20d
vmovaps xmmword [rsp + 0x60], xmm6
mov rcx, r10
call fcn.140029920
mov edx, 0x20c
mov rcx, r10
mov r9, rax
call fcn.140029920
mov edx, 0x26e
mov rcx, r10
vmovss xmm6, dword [rax + 4]
call fcn.140029920
vmaxss xmm1, xmm6, dword [r9 + 4]
vmovss xmm4, dword [rbx + 0x40]
vmovss xmm2, dword [rbx + 0x3c]
vmovss xmm0, dword [rax + 4]
vmovaps xmm6, xmmword [rsp + 0x60]
vmaxss xmm3, xmm0, xmm1
vucomiss xmm3, xmm7
vsubss xmm0, xmm3, dword [rbx + 0x18]
jne 0x1400522fe
mov ecx, ebp
jmp 0x140052357
vcomiss xmm0, xmm3
jae 0x1400522bc
mov ecx, 0xffffffff
jmp 0x1400522c8
vsubss xmm0, xmm0, xmm3
vdivss xmm1, xmm0, xmm4
vcvttss2si ecx, xmm1
vsubss xmm0, xmm2, xmm3
vdivss xmm1, xmm0, xmm4
vcvttss2si eax, xmm1
sub eax, ecx
test eax, eax
jle 0x1400521be
lea ecx, [rdx + 0x281]
mov edx, r14d
call fcn.14002c9e0
test al, al
je 0x1400521be
mov byte [rsp + 0x20], 1
jmp 0x1400521c5
vcomiss xmm0, xmm3
jb 0x140052308
xor ecx, ecx
jmp 0x140052357
vcomiss xmm4, xmm7
ja 0x140052328
vcomiss xmm0, xmm2
jae 0x14005231e
vcomiss xmm3, xmm2
jb 0x14005231e
mov ecx, ebp
jmp 0x140052357
mov qword [rsp + 0x40], r15
mov rcx, r15
jmp 0x140052357
vcomiss xmm0, xmm2
jae 0x140052333
mov eax, r11d
jmp 0x14005233f
vsubss xmm0, xmm0, xmm2
vdivss xmm1, xmm0, xmm4
vcvttss2si eax, xmm1
vcomiss xmm3, xmm2
jb 0x140052351
vsubss xmm0, xmm3, xmm2
vdivss xmm1, xmm0, xmm4
vcvttss2si r11d, xmm1
sub r11d, eax
mov ecx, r11d
test ecx, ecx
setg cl
cmp dword [rbx + 0x48e8], edi
je 0x140052368
test cl, cl
je 0x14005239f
mov rbp, qword [rsp + 0x38]
mov ecx, edi
mov rdx, rbp
mov r13b, 1
call fcn.14001f530
mov eax, dword [rbx + 0x490c]
mov dword [rbx + 0x3f80], eax
bt esi, 0x12
jb 0x140052396
mov rdx, rbp
mov ecx, edi
call fcn.14002f8c0
mov r10, qword [0x1400963d0]
jmp 0x1400523a4
mov r13d, dword [rsp + 0x20]
vmovaps xmm7, xmmword [rsp + 0x50]
xor r15b, r15b
cmp dword [rbx + 0x3f58], edi
jne 0x1400525b2
mov eax, dword [rbx + 0x3f80]
cmp eax, 1
jne 0x140052583
cmp byte [rbx + 0x3f64], r15b
je 0x140052402
vmovss xmm0, dword [rbx + 0xe08]
vmovss xmm1, dword [rbx + 0xe0c]
mov rax, qword [rsp + 0xc0]
vsubss xmm3, xmm0, dword [rax]
vsubss xmm2, xmm1, dword [rax + 4]
vmovss dword [rbx + 0x3f6c], xmm3
vmovss dword [rbx + 0x3f70], xmm2
movsxd rdi, dword [rbx + 0x3f84]
cmp edi, 0xffffffff
jne 0x140052424
xor edx, edx
xor ecx, ecx
call fcn.14001f530
mov r12d, dword [rsp + 0xc8]
jmp 0x140052574
cmp byte [rdi + r10 + 0xe10], r15b
je 0x140052450
lea ecx, [rdi + 0x281]
mov edx, r14d
call fcn.14002c9e0
test al, al
je 0x140052450
mov r12d, dword [rsp + 0xc8]
mov r15b, 1
jmp 0x140052574
mov r12d, dword [rsp + 0xc8]
test r12b, r12b
je 0x140052463
test sil, 0x20
jne 0x140052470
mov eax, esi
shr eax, 6
test al, 1
je 0x14005256b
mov rax, qword [rsp + 0x28]
cmp byte [rax], r15b
jne 0x14005256b
bt esi, 8
jae 0x14005249e
cmp byte [rdi + rbx + 0x3766], r15b
je 0x14005249e
cmp word [rbx + rdi*2 + 0x375c], 2
jne 0x14005249e
mov bpl, 1
jmp 0x1400524a1
xor bpl, bpl
bt esi, 0xa
jae 0x1400524bc
vmovss xmm0, dword [rbx + 0x3c]
vcomiss xmm0, dword [rbx + rdi*4 + 0x378c]
ja 0x1400524bc
mov r9b, 1
jmp 0x1400524bf
xor r9b, r9b
lea edx, [rdi + 0x281]
lea eax, [rdx - 0x200]
cmp eax, 0x8b
jbe 0x1400524fa
cmp edx, 0x1000
je 0x1400524fa
cmp edx, 0x2000
je 0x1400524fa
cmp edx, 0x4000
je 0x1400524fa
cmp edx, 0x8000
je 0x1400524fa
cmp edx, 0x800
jne 0x140052550
cmp byte [r10 + 0x476c], r15b
je 0x140052520
cmp r14d, dword [r10 + 0x3f58]
je 0x140052520
test r14d, r14d
je 0x140052520
lea eax, [rdx - 0x200]
cmp eax, 0x68
ja 0x140052520
xor al, al
jmp 0x140052552
mov rcx, r10
call fcn.14001adb0
test r14d, r14d
jne 0x140052536
cmp byte [rax + 8], r15b
sete al
jmp 0x140052552
mov ecx, dword [rax]
cmp ecx, r14d
je 0x140052550
cmp byte [rax + 8], r15b
je 0x140052547
xor al, al
jmp 0x140052552
cmp ecx, 0xffffffff
je 0x140052550
xor al, al
jmp 0x140052552
mov al, 1
test bpl, bpl
jne 0x14005256b
test r9b, r9b
jne 0x14005256b
test al, al
movzx r13d, r13b
mov eax, 1
cmovne r13d, eax
xor edx, edx
xor ecx, ecx
call fcn.14001f530
bt esi, 0x12
jb 0x1400525a4
mov byte [rbx + 0x4916], 1
jmp 0x1400525a4
add eax, 0xfffffffe
cmp eax, 1
ja 0x14005259c
cmp dword [rbx + 0x48ec], edi
je 0x14005259c
xor edx, edx
xor ecx, ecx
call fcn.14001f530
mov r12d, dword [rsp + 0xc8]
test r13b, r13b
je 0x1400525ba
mov byte [rbx + 0x3f67], 1
jmp 0x1400525ba
mov r12d, dword [rsp + 0xc8]
mov rax, qword [rsp + 0xd0]
mov r14, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x90]
mov rbp, qword [rsp + 0x98]
mov rbx, qword [rsp + 0xa0]
test rax, rax
je 0x1400525ef
mov byte [rax], r12b
mov rax, qword [rsp + 0xd8]
mov r12, qword [rsp + 0x80]
test rax, rax
je 0x140052607
mov byte [rax], r15b
movzx eax, r13b
add rsp, 0xa8
pop r15
pop r13
ret