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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xe8
movaps xmmword [rsp + 0xd0], xmm6
mov qword [rsp + 0x58], rdx
mov rax, qword [0x140430040]
xor rax, rsp
mov qword [rsp + 0xc8], rax
mov dword [rsp + 0x94], 0xaaaaaaaa
mov dword [rsp + 0x90], 0
mov rdx, qword [rcx]
mov rdi, qword [rcx + 8]
mov rax, qword [rdx]
mov qword [rsp + 0x80], rax
mov rax, qword [rdx + 8]
mov qword [rsp + 0x60], rcx
mov rbx, qword [rcx + 0x10]
movzx ecx, byte [rbx + 0x10]
imul rcx, rcx, 0x68
lea r14, [rax + rcx]
add r14, 8
mov qword [rsp + 0x68], rdx
mov rax, qword [rdx + 0x10]
mov qword [rsp + 0x50], rax
mov rax, qword [r14 + 0x20]
mov qword [rsp + 0x78], rax
mov dword [rsp + 0x44], 0
cmp dword [rdi + 0x14], 0
mov r15d, 0
jle 0x140372924
mov rax, qword [rdi + 0x20]
add rax, 0x28
xor ecx, ecx
xor r15d, r15d
jmp 0x1403728ba
inc r15d
or edx, 0x40
mov word [rax - 0x16], dx
inc ecx
add rax, 0x38
cmp ecx, dword [rdi + 0x14]
jge 0x140372924
movzx edx, word [rax - 0x16]
mov r9d, edx
and r9d, 0xffffffbf
mov word [rax - 0x16], r9w
mov r9d, dword [rax - 0xc]
cmp r9d, dword [r14 + 0x44]
jne 0x1403728af
test qword [rax], r8
jne 0x1403728af
movzx r10d, word [rax - 0x14]
test r10d, 0xf7ff
setne r10b
test dl, dl
setns r11b
and r11b, r10b
cmp r11b, 1
jne 0x1403728af
mov r10b, byte [r14 + 0x3c]
test r10b, 0x58
je 0x1403728a5
mov rsi, qword [rax - 0x28]
mov r11d, dword [rsi + 4]
test r11b, 3
je 0x1403728af
cmp dword [rsi + 0x34], r9d
jne 0x1403728af
test r10b, 0x18
je 0x1403728a5
and r11d, 2
jne 0x1403728af
jmp 0x1403728a5
mov dword [rsp + 0x48], r15d
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x88], rdi
mov r12d, 0
cmp qword [rsp + 0x50], 0
je 0x1403729c2
mov rax, qword [rsp + 0x50]
movsxd r13, dword [rax]
mov dword [rsp + 0x44], 0
mov r15d, 0
test r13, r13
jle 0x140372994
mov rax, qword [rsp + 0x50]
lea rbx, [rax + 8]
lea rbp, [rsp + 0xb0]
xor r15d, r15d
movaps xmm6, xmmword [0x1403d4b30]
lea rsi, [0x14040f170]
jmp 0x140372aa4
shr r12d, 9
and r12d, 1
or r12d, 2
jmp 0x1403729bd
mov r12d, 0
cmp r15d, r13d
jne 0x1403729c2
mov rax, qword [rsp + 0x68]
movzx r12d, word [rax + 0x3c]
test r12b, r12b
jns 0x1403729b5
test byte [r14 + 0x41], 0x40
je 0x140372986
shr r12d, 6
and r12d, 1
mov dword [rsp + 0x44], r13d
movsxd rsi, dword [rsp + 0x48]
lea rax, [rsi + rsi*4]
mov edi, dword [rsp + 0x44]
movsxd rbx, edi
lea rcx, [rbx + rsi]
shl rcx, 3
lea rdx, [rcx + rax*4]
add rdx, 0x88
mov r14, qword [rsp + 0x80]
mov rcx, qword [r14]
call fcn.140357520
test rax, rax
je 0x140372e8d
mov r15, rax
lea rcx, [rax + rsi*8]
lea rax, [rax + rsi*8]
add rax, 0x80
lea rdx, [rsi + rsi*2]
lea rdx, [rcx + rdx*4 + 0x80]
mov qword [rsp + 0x78], rbx
lea rcx, [rdx + rbx*8]
mov qword [r15 + 8], rax
mov qword [rsp + 0x68], rdx
mov qword [r15 + 0x18], rdx
mov qword [r15 + 0x20], rcx
mov r13, qword [rsp + 0x88]
mov qword [r15 + 0x60], r13
mov qword [r15 + 0x68], r14
mov dword [r15 + 0x70], r12d
mov dword [r15 + 0x74], 0
mov r10d, dword [r13 + 0x14]
mov qword [rsp + 0x48], 0
test r10d, r10d
jle 0x140372d13
mov rdx, qword [r13 + 0x20]
add rdx, 0x20
xor r8d, r8d
xor r9d, r9d
xor ecx, ecx
xor ebp, ebp
jmp 0x140372c28
cmp eax, 0x9a
jne 0x140372994
mov eax, dword [r12 + 0x2c]
cmp eax, dword [r14 + 0x44]
jne 0x140372994
inc r15
cmp r15, r13
je 0x14037299f
mov rdi, r15
shl rdi, 5
mov r12, qword [rbx + rdi]
movabs rcx, 0xaaaaaaaaaaaaaaaa
mov qword [rbp + 0x10], rcx
movups xmmword [rbp], xmm6
mov word [rsp + 0xbc], 1
mov qword [rsp + 0x98], 0
lea rax, [0x140269320]
mov qword [rsp + 0xa0], rax
lea rax, [0x1401db320]
mov qword [rsp + 0xa8], rax
test r12, r12
je 0x140372a98
lea rcx, [rsp + 0x98]
mov rdx, r12
call fcn.140269460
cmp word [rsp + 0xbc], 0
jne 0x140372a98
add rdi, rbx
test byte [rdi + 0x10], 2
jne 0x140372994
movzx eax, byte [r12]
cmp eax, 0x67
jne 0x140372a7e
mov rax, qword [r12 + 0x10]
cmp byte [rax], 0x9a
jne 0x140372994
mov ecx, dword [rax + 0x2c]
cmp ecx, dword [r14 + 0x44]
jne 0x140372994
movsx rax, word [rax + 0x30]
mov word [r12 + 0x30], ax
test rax, rax
js 0x140372a98
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx + 8]
lea rdx, [rax + rax*2]
movzx eax, word [rcx + rdx*8 + 0x12]
bt eax, 9
jae 0x140372ba6
lea rcx, [rcx + rdx*8]
mov rcx, qword [rcx]
dec rcx
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x140372b81
test al, 4
je 0x140372b9e
lea rax, [rcx + 1]
cmp byte [rcx + 1], 0
mov rcx, rax
jne 0x140372b8f
jmp 0x140372ba1
mov rax, rcx
inc rax
jmp 0x140372ba8
xor eax, eax
mov rcx, qword [r12 + 8]
test rcx, rcx
je 0x140372994
test rax, rax
lea rdx, str.BINARY
cmove rax, rdx
xor edx, edx
jmp 0x140372bd9
mov r8b, byte [r8 + rsi]
cmp r8b, byte [r9 + rsi]
jne 0x140372994
inc rdx
movzx r8d, byte [rcx + rdx]
movzx r9d, byte [rax + rdx]
cmp r8b, r9b
jne 0x140372bc8
test r8, r8
jne 0x140372bd6
jmp 0x140372a98
cmp word [rdx - 0xe], 0
js 0x140372c0d
mov r11d, 1
shl r11d, cl
cmp ecx, 0x20
cmovge r11d, r8d
or dword [r15 + 0x74], r11d
mov byte [r10 + 4], 2
inc ecx
mov r10d, dword [r13 + 0x14]
inc r9d
add rdx, 0x38
cmp r9d, r10d
jge 0x140372d17
test byte [rdx - 0xe], 0x40
je 0x140372c18
mov r11d, dword [rdx]
movsxd r10, ecx
lea r10, [r10 + r10*2]
lea r10, [rax + r10*4]
mov dword [r10], r11d
mov dword [r10 + 8], r9d
movzx esi, word [rdx - 0xc]
mov r11d, esi
and r11d, 0x3fff
cmp r11d, 1
je 0x140372bf2
cmp r11w, 0x40
jne 0x140372c68
mov r11b, byte [rdx - 9]
mov byte [r10 + 4], r11b
jmp 0x140372c12
test r11d, 0x180
je 0x140372c8c
movzx r11d, r11w
cmp r11d, 0x100
jne 0x140372c85
mov byte [r10 + 4], Ordinal_73
jmp 0x140372c12
mov byte [r10 + 4], Ordinal_73
jmp 0x140372c12
mov byte [r10 + 4], sil
test r11b, 0x3c
je 0x140372c12
mov rsi, qword [rdx - 0x20]
mov rsi, qword [rsi + 0x18]
mov bl, byte [rsi]
cmp bl, 0xa3
jne 0x140372cac
mov bl, byte [rsi + 2]
cmp bl, 0xa4
je 0x140372ccd
movzx edi, bl
cmp edi, 0x80
je 0x140372cc5
mov edi, dword [rsp + 0x44]
jmp 0x140372c12
mov rsi, qword [rsi + 0x20]
mov edi, dword [rsp + 0x44]
mov rsi, qword [rsi + 0x20]
cmp dword [rsi], 2
jl 0x140372c12
mov esi, 1
shl esi, cl
cmp ecx, 0x10
cmovge esi, r8d
or ebp, esi
cmp r11w, 4
je 0x140372d09
movzx r11d, r11w
cmp r11d, 0x10
jne 0x140372c12
mov byte [r10 + 4], 8
jmp 0x140372c12
mov byte [r10 + 4], 0x20
jmp 0x140372c12
xor ebp, ebp
xor ecx, ecx
mov dword [rsp + 0x44], ebp
mov dword [r15], ecx
test edi, edi
mov r14, qword [rsp + 0x78]
jle 0x140372df3
lea rbx, [rsp + 0xb0]
shl r14, 5
xor ebp, ebp
movabs rdi, 0xaaaaaaaaaaaaaaaa
movaps xmm6, xmmword [0x1403d4b30]
lea rsi, [0x140269320]
lea r12, [0x1401db320]
mov qword [rsp + 0x48], 0
jmp 0x140372d97
movsx eax, word [r13 + 0x30]
mov rdx, qword [rsp + 0x48]
movsxd rdx, edx
mov rcx, qword [rsp + 0x68]
mov dword [rcx + rdx*8], eax
mov rax, qword [rsp + 0x50]
mov al, byte [rax + rbp + 0x18]
and al, 1
mov byte [rcx + rdx*8 + 4], al
inc edx
mov qword [rsp + 0x48], rdx
add rbp, 0x20
cmp r14, rbp
je 0x140372df3
mov rax, qword [rsp + 0x50]
mov r13, qword [rax + rbp + 8]
mov qword [rbx + 0x10], rdi
movups xmmword [rbx], xmm6
mov word [rsp + 0xbc], 1
mov qword [rsp + 0x98], 0
mov qword [rsp + 0xa0], rsi
mov qword [rsp + 0xa8], r12
test r13, r13
je 0x140372d8e
lea rcx, [rsp + 0x98]
mov rdx, r13
call fcn.140269460
cmp word [rsp + 0xbc], 0
jne 0x140372d8e
jmp 0x140372d63
mov rax, qword [rsp + 0x48]
mov dword [r15 + 0x10], eax
xor eax, eax
mov rdx, qword [rsp + 0x70]
mov word [rdx + 0x12], ax
mov dword [rdx + 0x38], 0x400
mov word [rdx + 0x3c], ax
and byte [rdx + 0x1c], 0xfe
mov r12d, dword [r15]
mov rdi, qword [rsp + 0x80]
mov rcx, qword [rdi]
mov r8d, r12d
call fcn.1403731f0
test eax, eax
je 0x140372ebc
mov rsi, qword [rdi]
cmp dword [r15], 0
jle 0x140372e63
xor edi, edi
mov rcx, qword [r15 + rdi*8 + 0x80]
call fcn.1403571a0
mov qword [r15 + rdi*8 + 0x80], 0
inc rdi
movsxd rax, dword [r15]
cmp rdi, rax
jl 0x140372e3f
mov rcx, rsi
mov rdx, r15
call fcn.140245f10
mov ebp, 7
mov rcx, qword [rsp + 0xc8]
xor rcx, rsp
cmp rcx, qword [0x140430040]
je 0x140372e9e
call fcn.140278ca0
int3
lea rdx, str.out_of_memory
mov rcx, r14
call fcn.1401b3310
jmp 0x140372e6e
mov eax, ebp
movaps xmm6, xmmword [rsp + 0xd0]
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rsi, [rsp + 0x90]
mov qword [rsp + 0x38], rsi
lea rdi, [rsp + 0x94]
mov qword [rsp + 0x30], rdi
mov eax, dword [rsp + 0x44]
mov word [rsp + 0x28], ax
mov qword [rsp + 0x20], r15
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x58]
mov r8, 0xffffffffffffffff
xor r9d, r9d
call fcn.140373280
cmp dword [rsi], 0
jne 0x14037314b
mov ebp, eax
test eax, eax
je 0x140372f63
cmp dword [r15 + 0x38], 0
je 0x140372f1c
mov rcx, qword [r15 + 0x30]
call fcn.1401ae2f0
mov rax, qword [rsp + 0x80]
mov rsi, qword [rax]
cmp dword [r15], 0
jle 0x140372f53
xor edi, edi
mov rcx, qword [r15 + rdi*8 + 0x80]
call fcn.1403571a0
mov qword [r15 + rdi*8 + 0x80], 0
inc rdi
movsxd rax, dword [r15]
cmp rdi, rax
jl 0x140372f2f
mov rcx, rsi
mov rdx, r15
call fcn.140245f10
jmp 0x140372e73
mov rbx, qword [rsp + 0x58]
not rbx
mov rax, qword [rsp + 0x70]
mov r14, qword [rax]
and r14, rbx
setne cl
mov eax, dword [rsp + 0x94]
test eax, eax
setne dl
or dl, cl
xor ebp, ebp
cmp dl, 1
jne 0x140372f0c
test eax, eax
jne 0x140373185
mov qword [rsp + 0x50], 0
xor r11d, r11d
lea rax, [r12*4]
lea r13, [rax + rax*2]
xor esi, esi
mov dword [rsp + 0x48], r11d
jmp 0x140372fd0
lea rdi, [rsp + 0x94]
mov r11d, dword [rsp + 0x68]
test ebp, ebp
jne 0x140372f0c
test r12d, r12d
jle 0x1403730ff
mov rax, rsi
mov rcx, qword [rsp + 0x88]
mov rcx, qword [rcx + 0x20]
mov rdx, qword [r15 + 8]
mov rsi, 0xffffffffffffffff
xor r8d, r8d
mov r9, rsi
movsxd r10, dword [rdx + r8 + 8]
imul r10, r10, 0x38
mov r10, qword [rcx + r10 + 0x28]
and r10, rbx
cmp r10, rsi
cmovb rsi, r10
cmp r10, rax
cmovbe rsi, r9
add r8, 0xc
cmp r13, r8
jne 0x140372ff6
cmp rsi, 0xffffffffffffffff
je 0x1403730ff
xor ebp, ebp
cmp rsi, r14
je 0x140372fc8
cmp rsi, qword [rsp + 0x50]
je 0x140372fc8
mov dword [rsp + 0x68], r11d
mov r8, rsi
mov rax, rdi
mov rdi, qword [rsp + 0x58]
or r8, rdi
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0x44]
mov word [rsp + 0x28], ax
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x38], 0
mov rcx, qword [rsp + 0x60]
mov rdx, rdi
xor r9d, r9d
call fcn.140373280
mov ebp, eax
mov rax, qword [rsp + 0x70]
cmp qword [rax], rdi
jne 0x140372fbb
cmp dword [rsp + 0x94], 0
mov eax, 1
mov r11d, dword [rsp + 0x68]
mov dword [rsp + 0x48], 1
cmove r11d, eax
lea rdi, [rsp + 0x94]
jmp 0x140372fc8
mov qword [rsp + 0x30], rdi
mov eax, dword [rsp + 0x44]
mov word [rsp + 0x28], ax
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x38], 0
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x58]
mov r8, rdx
xor r9d, r9d
mov esi, r11d
call fcn.140373280
mov r11d, esi
cmp dword [rsp + 0x94], 0
mov ebp, eax
mov eax, 1
cmove r11d, eax
jmp 0x140373108
xor ebp, ebp
cmp dword [rsp + 0x48], 0
je 0x1403730b3
or r11d, ebp
jne 0x140372f0c
mov qword [rsp + 0x30], rdi
mov eax, dword [rsp + 0x44]
mov word [rsp + 0x28], ax
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x38], 0
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x58]
mov r8, rdx
mov r9w, 1
call fcn.140373280
mov ebp, eax
jmp 0x140372f0c
mov qword [rsp + 0x30], rdi
mov eax, dword [rsp + 0x44]
mov word [rsp + 0x28], ax
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x38], 0
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x58]
mov r8, 0xffffffffffffffff
xor r9d, r9d
call fcn.140373280
jmp 0x140372f06
mov qword [rsp + 0x30], rdi
mov eax, dword [rsp + 0x44]
mov word [rsp + 0x28], ax
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x38], 0
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x58]
mov r8, 0xffffffffffffffff
mov r9w, 1
call fcn.140373280
mov ebp, eax
xor r11d, r11d
mov rax, qword [rsp + 0x70]
mov rax, qword [rax]
and rax, rbx
mov qword [rsp + 0x50], rax
sete al
test ebp, ebp
jne 0x140372f0c
mov r11b, al
jmp 0x140372fa6