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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xe8
movaps xmmword [rsp + 0xc0], xmm6
movaps xmmword [rsp + 0xd0], xmm7
lea rsi, [0x14024a260]
lea rax, [0x140327a20]
movq xmm6, rsi
mov rsi, qword [rcx + 0x10]
movq xmm0, rax
mov r14, qword [rcx]
punpcklqdq xmm6, xmm0
movzx ebx, byte [rsi + 0x10]
mov qword [rsp + 0x138], rdx
mov rdi, qword [r14 + 8]
mov qword [rsp + 0x130], rcx
mov dword [rsp + 0x8c], 0
mov rax, qword [r14]
mov r15, qword [r14 + 0x10]
imul r10, rbx, 0x68
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x48], rax
mov rax, qword [rcx + 8]
add r10, rdi
mov rdi, qword [r10 + 0x28]
movq xmm7, rax
mov qword [rsp + 0x50], rax
movhps xmm7, qword [rsp + 0x48]
mov qword [rsp + 0x68], rdi
mov rdi, rax
mov rax, qword [rax + 0x20]
mov edx, dword [rdi + 0x14]
test edx, edx
jle 0x1403818e4
movsxd rcx, edx
mov r9d, dword [r10 + 0x4c]
xor ebx, ebx
imul rcx, rcx, 0x38
add rcx, rax
nop dword [rax]
movzx r11d, word [rax + 0x12]
mov edx, r11d
and edx, 0xffffffbf
cmp dword [rax + 0x1c], r9d
mov word [rax + 0x12], dx
jne 0x140380fa8
mov rdi, r8
and rdi, qword [rax + 0x28]
jne 0x140380fa8
movzx edi, word [rax + 0x14]
and edi, 0xf7ff
je 0x140380fa8
and r11d, 0x80
jne 0x140380fa8
movzx r11d, byte [r10 + 0x44]
test r11b, 0x58
je 0x140380f98
mov rdi, qword [rax]
mov ebp, dword [rdi + 4]
test bpl, 3
je 0x140380fa8
cmp r9d, dword [rdi + 0x34]
jne 0x140380fa8
and r11d, 0x18
je 0x140380f98
and ebp, 2
jne 0x140380fa8
nop dword [rax + rax]
or edx, 0x40
add ebx, 1
mov word [rax + 0x12], dx
nop word [rax + rax]
add rax, 0x38
cmp rax, rcx
jne 0x140380f38
movsxd rbx, ebx
imul r13, rbx, 0x1c
add r13, 0x88
test r15, r15
je 0x1403811a1
mov edi, dword [r15]
test edi, edi
jle 0x1403819ff
imul rax, qword [rsp + 0x60], 0x68
xor r12d, r12d
mov qword [rsp + 0x78], rbx
mov rcx, qword [rsp + 0x58]
lea rbp, [r15 + 8]
add rax, rcx
mov qword [rsp + 0x70], rax
mov rax, rbp
mov ebp, r12d
mov r12, rax
mov rbx, qword [r12]
mov eax, 1
movups xmmword [rsp + 0x98], xmm6
mov word [rsp + 0xb4], ax
mov dword [rsp + 0xb8], 0
test rbx, rbx
je 0x140381118
lea rcx, [rsp + 0x90]
mov rdx, rbx
call fcn.14037ba20
cmp word [rsp + 0xb4], 0
jne 0x140381118
test byte [r12 + 0x10], 2
jne 0x140381194
movzx eax, byte [rbx]
cmp al, 0xa7
je 0x140381180
cmp al, 0x71
jne 0x140381194
mov rax, qword [rbx + 0x10]
cmp byte [rax], 0xa7
jne 0x140381194
mov rcx, qword [rsp + 0x70]
mov ecx, dword [rcx + 0x4c]
cmp dword [rax + 0x2c], ecx
jne 0x140381194
movsx rax, word [rax + 0x30]
test ax, ax
mov word [rbx + 0x30], ax
js 0x140381118
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x68]
lea r9, str.BINARY
mov rax, qword [rax + 8]
lea rcx, [rax + rcx*8]
movzx eax, word [rcx + 0x12]
test ah, 2
je 0x1403810d6
mov r9, qword [rcx]
cmp byte [r9], 0
je 0x1403810ca
add r9, 1
cmp byte [r9], 0
jne 0x1403810c0
test al, 4
jne 0x140381160
add r9, 1
mov r11, qword [rbx + 8]
test r11, r11
je 0x140381194
lea r10, [0x14047c700]
xor ecx, ecx
jmp 0x140381103
movzx ebx, byte [r10 + rdx]
cmp byte [r10 + rax], bl
jne 0x140381194
add rcx, 1
movzx eax, byte [r11 + rcx]
movzx edx, byte [r9 + rcx]
cmp eax, edx
jne 0x1403810f0
test eax, eax
jne 0x1403810ff
nop dword [rax]
add ebp, 1
add r12, 0x20
cmp edi, ebp
jne 0x140380ffb
mov rbx, qword [rsp + 0x78]
nop dword [rax]
movzx r12d, word [r14 + 0x3c]
movsxd rbp, edi
shl rbp, 3
add r13, rbp
test r12b, 0x80
je 0x1403817f5
test r12w, 0x200
setne r12b
movzx r12d, r12b
add r12d, 2
jmp 0x1403811a8
add r9, 1
cmp byte [r9], 0
je 0x1403810d2
add r9, 1
cmp byte [r9], 0
jne 0x140381160
jmp 0x1403810d2
imul rax, qword [rsp + 0x60], 0x68
mov rcx, qword [rsp + 0x58]
mov eax, dword [rcx + rax + 0x4c]
cmp dword [rbx + 0x2c], eax
je 0x140381118
mov rbx, qword [rsp + 0x78]
mov r12d, ebp
cmp edi, r12d
je 0x140381130
xor ebp, ebp
xor r12d, r12d
xor edi, edi
mov rax, qword [rsp + 0x48]
mov rdx, r13
mov rcx, qword [rax]
call fcn.1402e36b0
test rax, rax
mov r14, rax
je 0x140381942
lea r10, [rax + rbx*8 + 0x80]
movups xmmword [r14 + 0x60], xmm7
lea rax, [rbx + rbx*2]
mov rbx, qword [rsp + 0x50]
mov qword [r14 + 8], r10
lea r13, [r10 + rax*4]
mov dword [r14 + 0x70], r12d
add rbp, r13
mov qword [r14 + 0x18], r13
mov qword [r14 + 0x20], rbp
mov ebp, dword [rbx + 0x14]
mov dword [r14 + 0x74], 0
mov rax, qword [rbx + 0x20]
test ebp, ebp
jle 0x14038190a
xor r12d, r12d
xor edx, edx
xor ebx, ebx
jmp 0x140381272
cmp r9w, 0x40
je 0x1403812f0
test r11w, 0x180
jne 0x1403812d8
and r11d, 0x3c
mov byte [r8 + 4], r9b
je 0x140381260
mov rcx, qword [rax]
mov r11, qword [rcx + 0x18]
movzx ecx, byte [r11]
cmp cl, 0xb0
jne 0x14038124e
movzx ecx, byte [r11 + 2]
cmp cl, 0xb1
je 0x140381810
cmp cl, 0x8a
je 0x140381748
add ebx, 1
add edx, 1
add rax, 0x38
cmp edx, ebp
je 0x140381300
movzx ecx, word [rax + 0x12]
test cl, 0x40
je 0x140381263
mov r9d, dword [rax + 0x20]
movsxd r8, ebx
movzx r11d, word [rax + 0x14]
lea r8, [r8 + r8*2]
lea r8, [r10 + r8*4]
mov dword [r8 + 8], edx
mov dword [r8], r9d
mov r9d, r11d
and r9w, 0x3fff
cmp r9w, 1
jne 0x140381218
test cx, cx
js 0x140381610
cmp ebx, 0x1f
mov r9d, dword [r14 + 0x74]
jg 0x1403812ca
mov r11d, 1
mov ecx, ebx
shl r11d, cl
or r9d, r11d
mov dword [r14 + 0x74], r9d
mov byte [r8 + 4], 2
jmp 0x140381260
cmp r9w, 0x100
setne cl
add ecx, 0x47
mov byte [r8 + 4], cl
jmp 0x140381260
movzx ecx, byte [rax + 0x17]
mov byte [r8 + 4], cl
jmp 0x140381260
test edi, edi
mov dword [r14], ebx
je 0x14038139c
lea rbp, [rsp + 0x90]
movsxd rbx, edi
mov qword [rsp + 0x58], rsi
xor edi, edi
shl rbx, 5
mov rsi, rbp
add rbx, r15
mov rbp, rbx
nop word [rax + rax]
mov rbx, qword [r15 + 8]
mov eax, 1
movups xmmword [rsp + 0x98], xmm6
mov word [rsp + 0xb4], ax
mov dword [rsp + 0xb8], 0
test rbx, rbx
je 0x14038138b
mov rdx, rbx
mov rcx, rsi
call fcn.14037ba20
cmp word [rsp + 0xb4], 0
jne 0x14038138b
movsxd rax, edi
add edi, 1
lea rdx, [r13 + rax*8]
movsx eax, word [rbx + 0x30]
mov dword [rdx], eax
movzx eax, byte [r15 + 0x18]
and eax, 1
mov byte [rdx + 4], al
add r15, 0x20
cmp rbp, r15
jne 0x140381330
mov rsi, qword [rsp + 0x58]
mov ebx, dword [r14]
mov rax, qword [rsp + 0x48]
mov dword [r14 + 0x10], edi
xor r13d, r13d
xor r15d, r15d
and byte [rsi + 0x1c], 0xfe
mov word [rsi + 0x12], r13w
mov dword [rsi + 0x38], 0x400
mov rbp, qword [rax]
mov word [rsi + 0x3c], r15w
movzx eax, word [rsi + 0x40]
cmp eax, ebx
jge 0x140381421
lea edi, [rbx + 7]
mov rcx, rbp
and edi, 0xfffffff8
movsxd rdx, edi
shl rdx, 3
call fcn.1402e35d0
test rax, rax
mov r13, rax
je 0x14038181b
movzx eax, word [rsi + 0x40]
mov rcx, r13
mov rdx, qword [rsi + 0x48]
lea r8, [rax*8]
call sub.msvcrt.dll_memcpy
mov rdx, qword [rsi + 0x48]
lea rax, [rsi + 0x58]
cmp rdx, rax
je 0x140381419
mov rcx, rbp
call fcn.1402e3440
mov qword [rsi + 0x48], r13
mov word [rsi + 0x40], di
mov rdx, qword [rsp + 0x138]
movzx ebp, r12w
xor r9d, r9d
mov qword [rsp + 0x20], r14
mov rcx, qword [rsp + 0x130]
lea rax, [rsp + 0x8c]
mov dword [rsp + 0x28], ebp
mov r8, 0xffffffffffffffff
lea r12, [rsp + 0x90]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r12
call fcn.140381a10
mov r11d, dword [rsp + 0x8c]
mov edi, eax
test r11d, r11d
jne 0x140381790
test edi, edi
jne 0x140381622
mov r15, qword [rsp + 0x138]
mov r11d, dword [rsp + 0x90]
not r15
mov rax, r15
and rax, qword [rsi]
mov qword [rsp + 0x68], rax
jne 0x1403817de
test r11d, r11d
je 0x140381622
mov rcx, qword [rsp + 0x130]
mov qword [rsp + 0x30], r12
mov r9d, 1
mov r8, 0xffffffffffffffff
mov rdx, qword [rsp + 0x138]
mov dword [rsp + 0x28], ebp
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x20], r14
call fcn.140381a10
mov rcx, r15
and rcx, qword [rsi]
sete r11b
test eax, eax
mov qword [rsp + 0x58], rcx
movzx r11d, r11b
jne 0x140381620
test ebx, ebx
jle 0x140381958
mov rax, qword [rsp + 0x50]
movsxd rbx, ebx
mov qword [rsp + 0x60], rsi
xor r9d, r9d
lea r13, [rbx + rbx*2]
mov r10, qword [r14 + 8]
mov dword [rsp + 0x78], edi
mov rdi, r15
mov rsi, qword [rsp + 0x68]
shl r13, 2
mov dword [rsp + 0x70], r11d
mov rbx, qword [rsp + 0x138]
mov dword [rsp + 0x68], r11d
mov r8, qword [rax + 0x20]
nop dword [rax]
lea rax, [r10 + 8]
mov r15, 0xffffffffffffffff
lea rcx, [rax + r13]
nop
movsxd rdx, dword [rax]
imul rdx, rdx, 0x38
mov r11, qword [r8 + rdx + 0x28]
and r11, rdi
cmp r11, r15
jae 0x14038157b
cmp r9, r11
cmovb r15, r11
add rax, 0xc
cmp rcx, rax
jne 0x140381560
cmp r15, 0xffffffffffffffff
je 0x1403819e9
cmp rsi, r15
je 0x140381606
cmp qword [rsp + 0x58], r15
je 0x140381606
mov r8, rbx
xor r9d, r9d
mov qword [rsp + 0x30], r12
mov rdx, rbx
mov rcx, qword [rsp + 0x130]
or r8, r15
mov dword [rsp + 0x28], ebp
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x20], r14
call fcn.140381a10
mov rcx, qword [rsp + 0x60]
cmp qword [rcx], rbx
jne 0x1403815f5
mov r10d, dword [rsp + 0x90]
mov ecx, 1
mov dword [rsp + 0x70], 1
test r10d, r10d
cmovne ecx, dword [rsp + 0x68]
mov dword [rsp + 0x68], ecx
test eax, eax
jne 0x140381620
mov rax, qword [rsp + 0x50]
mov r10, qword [r14 + 8]
mov r8, qword [rax + 0x20]
mov r9, r15
jmp 0x140381550
mov byte [r8 + 4], 2
jmp 0x140381260
mov edi, eax
mov r8d, dword [r14 + 0x38]
test r8d, r8d
jne 0x1403817d0
mov rax, qword [rsp + 0x48]
xor esi, esi
mov rbp, qword [rax]
mov eax, dword [r14]
test eax, eax
jg 0x140381667
jmp 0x1403816d0
mov rcx, rbx
call fcn.14035ad80
mov eax, dword [r14]
mov qword [r14 + rsi*8 + 0x80], 0
add rsi, 1
cmp eax, esi
jle 0x1403816d0
mov rbx, qword [r14 + rsi*8 + 0x80]
test rbx, rbx
je 0x140381653
test word [rbx + 0x14], 0x9000
jne 0x140381683
mov ecx, dword [rbx + 0x20]
test ecx, ecx
je 0x14038168b
mov rcx, rbx
call fcn.140374650
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x140381648
cmp rbx, qword [rcx + 0x1f0]
jae 0x1403816af
cmp rbx, qword [rcx + 0x1e0]
jae 0x140381708
cmp rbx, qword [rcx + 0x1e8]
jae 0x140381728
cmp qword [rcx + 0x308], 0
je 0x140381648
mov rdx, rbx
call fcn.1402a55a0
mov eax, dword [r14]
jmp 0x140381653
mov rdx, r14
mov rcx, rbp
call fcn.1402e3440
nop
movaps xmm6, xmmword [rsp + 0xc0]
mov eax, edi
movaps xmm7, xmmword [rsp + 0xd0]
add rsp, 0xe8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rcx + 0x1d8]
mov qword [rbx], rax
mov eax, dword [r14]
mov qword [rcx + 0x1d8], rbx
jmp 0x140381653
mov rax, qword [rcx + 0x1c8]
mov qword [rbx], rax
mov eax, dword [r14]
mov qword [rcx + 0x1c8], rbx
jmp 0x140381653
mov rcx, qword [r11 + 0x20]
mov rcx, qword [rcx + 0x20]
mov ecx, dword [rcx]
cmp ecx, 1
jle 0x140381260
cmp ebx, 0xf
jg 0x14038176e
mov r11d, 1
mov ecx, ebx
shl r11d, cl
or r12d, r11d
cmp r9w, 0x10
je 0x140381803
cmp r9w, 4
jne 0x140381260
mov byte [r8 + 4], 0x20
jmp 0x140381260
mov rdx, qword [rsp + 0x138]
mov qword [rsp + 0x30], r12
xor r9d, r9d
mov r8, 0xffffffffffffffff
mov rcx, qword [rsp + 0x130]
mov dword [rsp + 0x28], ebp
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x20], r14
call fcn.140381a10
mov edi, eax
jmp 0x14038147a
mov rcx, qword [r14 + 0x30]
call fcn.14035ad80
jmp 0x14038162f
test r11d, r11d
jne 0x1403814af
mov qword [rsp + 0x58], 0
jmp 0x140381503
shr r12w, 6
and r12d, 1
jmp 0x1403811a8
mov byte [r8 + 4], 8
jmp 0x140381260
mov rcx, qword [r11 + 0x20]
mov ecx, dword [rcx]
jmp 0x140381752
mov rax, qword [rsp + 0x48]
xor esi, esi
mov rdi, qword [rax]
mov eax, dword [r14]
test eax, eax
jg 0x140381857
jmp 0x1403818b6
mov rcx, rbx
call fcn.14035ad80
mov eax, dword [r14]
mov qword [r14 + rsi*8 + 0x80], 0
add rsi, 1
cmp eax, esi
jle 0x1403818b6
mov rbx, qword [r14 + rsi*8 + 0x80]
test rbx, rbx
je 0x140381843
test word [rbx + 0x14], 0x9000
jne 0x140381873
mov ebp, dword [rbx + 0x20]
test ebp, ebp
je 0x14038187b
mov rcx, rbx
call fcn.140374650
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x140381838
cmp rbx, qword [rcx + 0x1f0]
jae 0x14038189f
cmp rbx, qword [rcx + 0x1e0]
jae 0x1403818cb
cmp rbx, qword [rcx + 0x1e8]
jae 0x1403818f1
cmp qword [rcx + 0x308], 0
je 0x140381838
mov rdx, rbx
call fcn.1402a55a0
mov eax, dword [r14]
jmp 0x140381843
mov rdx, r14
mov rcx, rdi
call fcn.1402e3440
mov edi, 7
jmp 0x1403816dc
mov rax, qword [rcx + 0x1d8]
mov qword [rbx], rax
mov eax, dword [r14]
mov qword [rcx + 0x1d8], rbx
jmp 0x140381843
mov r13d, 0x88
xor ebx, ebx
jmp 0x140380fbf
mov rax, qword [rcx + 0x1c8]
mov qword [rbx], rax
mov eax, dword [r14]
mov qword [rcx + 0x1c8], rbx
jmp 0x140381843
xor r12d, r12d
test edi, edi
mov dword [r14], 0
jne 0x14038130b
xor eax, eax
xor edx, edx
mov dword [r14 + 0x10], 0
xor ebx, ebx
and byte [rsi + 0x1c], 0xfe
mov word [rsi + 0x12], ax
mov dword [rsi + 0x38], 0x400
mov word [rsi + 0x3c], dx
jmp 0x140381421
mov rcx, qword [rsp + 0x48]
lea rdx, [0x140469fec]
call fcn.1402e8400
jmp 0x1403818c1
mov ebx, r11d
test r11d, r11d
jne 0x1403819a5
mov r8, qword [rsp + 0x138]
xor r9d, r9d
mov qword [rsp + 0x38], 0
mov rcx, qword [rsp + 0x130]
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], ebp
mov qword [rsp + 0x20], r14
mov rdx, r8
call fcn.140381a10
mov r9d, dword [rsp + 0x90]
mov edi, eax
test r9d, r9d
je 0x140381622
or ebx, edi
jne 0x140381622
mov r8, qword [rsp + 0x138]
mov qword [rsp + 0x30], r12
mov r9d, 1
mov rcx, qword [rsp + 0x130]
mov dword [rsp + 0x28], ebp
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x20], r14
mov rdx, r8
call fcn.140381a10
mov edi, eax
jmp 0x140381622
mov r11d, dword [rsp + 0x68]
mov edi, dword [rsp + 0x78]
mov ebx, r11d
mov r11d, dword [rsp + 0x70]
jmp 0x14038195b
xor r12d, r12d
jmp 0x14038119c