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

Disassembly:
mov r11, rsp
mov dword [r11 + 0x18], r8d
mov qword [r11 + 0x10], rdx
push r12
push r13
push r14
sub rsp, 0x80
mov r14d, r8d
mov r12, rdx
mov r13, rcx
test rdx, rdx
je 0x1400bfb7b
cmp r8d, 0x84
jbe 0x1400bfb7b
cmp word [rdx + 0x4c], 0
je 0x1400bfb7b
cmp dword [rdx], 0x304d4244
jne 0x1400bfb7b
cmp word [rdx + 0x48], 0
je 0x1400bfb7b
cmp dword [rdx + 0x4e], 0x474e4f53
jne 0x1400bfb7b
cmp dword [rdx + 8], 0x454d414e
jne 0x1400bfb7b
cmp dword [rdx + 0xc], 0x2c000000
jne 0x1400bfb7b
cmp dword [rdx + 0x3c], 0x4f464e49
jne 0x1400bfb7b
cmp dword [rdx + 0x40], 0xa000000
jne 0x1400bfb7b
movzx eax, word [rdx + 0x82]
rol ax, 8
movzx r10d, ax
lea eax, [r10*2 + 0x9c]
cmp eax, r8d
jae 0x1400bfb7b
movzx eax, word [rdx + 0x44]
mov qword [r11 + 8], rbx
mov qword [r11 - 0x28], rsi
rol ax, 8
mov qword [r11 - 0x30], rdi
movzx ebx, ax
movzx eax, word [rdx + 0x46]
mov dword [rsp + 0x30], ebx
rol ax, 8
movzx esi, ax
movzx eax, word [rdx + 0x4a]
mov dword [rcx + 0x104a0], 0x80000
mov dword [rsp + 0x34], esi
rol ax, 8
movzx edi, ax
movzx eax, word [rdx + 0x4c]
rol ax, 8
mov dword [rsp + 0xb8], edi
movzx ecx, ax
mov eax, 4
cmp ecx, eax
cmovb ecx, eax
mov eax, 0x40
cmp ecx, eax
cmova ecx, eax
lea rax, [rdx + 0x10]
mov dword [r13 + 0x10490], ecx
cmp byte [rax], 0
jne 0x1400bf1e3
lea rax, [rdx + 0x56]
movups xmm0, xmmword [rax]
xor r9d, r9d
movups xmmword [r13 + 0x10528], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [r13 + 0x10538], xmm1
mov byte [r13 + 0x10547], 0
test r10d, r10d
je 0x1400bf240
lea r8, [r13 + 0xeb60]
mov edx, 0x85
nop word [rax + rax]
mov eax, edx
movzx ecx, byte [rax + r12]
mov byte [r8], cl
cmp edx, 0x281
jae 0x1400bf240
inc r9d
add edx, 2
inc r8
cmp r9d, r10d
jb 0x1400bf220
lea r11d, [r10*2 + 0x84]
lea eax, [r11 + 0xa]
cmp eax, r14d
jae 0x1400bf713
mov qword [rsp + 0x78], rbp
mov qword [rsp + 0x60], r15
mov r15d, 0xef
lea r9d, [r15 + 1]
mov r10d, 0x20
nop
mov eax, r11d
add r11d, 8
mov ecx, dword [rax + r12 + 4]
mov r8d, dword [rax + r12]
mov ebp, r11d
mov edx, ecx
mov eax, ecx
mov dword [rsp + 0x3c], ebp
shr eax, 0x10
and edx, 0xff0000
or edx, eax
mov eax, ecx
and ecx, 0xff00
shl eax, 0x10
shr edx, 8
or eax, ecx
shl eax, 8
or edx, eax
add r11d, edx
mov dword [rsp + 0x38], r11d
cmp r11d, r14d
ja 0x1400bf709
cmp edx, r14d
ja 0x1400bf709
cmp r8d, 0x54534e49
jne 0x1400bf5a5
cmp ebx, r9d
cmovae ebx, r15d
mov dword [rsp + 0x30], ebx
test ebx, ebx
je 0x1400bf6f0
mov r15d, r11d
mov r14d, 1
nop
lea rax, [rbp + 0x32]
cmp rax, r15
ja 0x1400bf582
mov ecx, 0x278
call sub.msvcrt.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
mov rbx, rax
test rax, rax
je 0x1400bfb5f
movzx eax, word [r12 + rbp + 0x1e]
rol ax, 8
movzx esi, ax
lea eax, [rsi - 1]
cmp eax, 0xee
ja 0x1400bf33b
lea rcx, [rsi + rsi*8]
lea rdi, [r13 + 0x8e00]
lea rdi, [rdi + rcx*8]
jmp 0x1400bf33d
xor edi, edi
xor edx, edx
mov r8d, 0x278
mov rcx, rbx
call sub.msvcrt.dll_memset
movups xmm0, xmmword [r12 + rbp]
movups xmmword [rbx + 0x249], xmm0
movsd xmm1, qword [r12 + rbp + 0x10]
movsd qword [rbx + 0x259], xmm1
mov eax, dword [r12 + rbp + 0x18]
mov dword [rbx + 0x261], eax
movzx eax, word [r12 + rbp + 0x1c]
mov word [rbx + 0x265], ax
test rdi, rdi
je 0x1400bf3c9
movups xmm0, xmmword [r12 + rbp]
mov rcx, rsi
shl rcx, 5
add rcx, r13
movups xmmword [rcx + 0x10528], xmm0
movsd xmm1, qword [r12 + rbp + 0x10]
movsd qword [rcx + 0x10538], xmm1
mov eax, dword [r12 + rbp + 0x18]
mov dword [rcx + 0x10540], eax
movzx eax, word [r12 + rbp + 0x1c]
mov word [rcx + 0x10544], ax
mov byte [rcx + 0x10546], 0
mov eax, r14d
mov r8d, 0x40
mov ecx, 0xfe
mov qword [r13 + rax*8 + 0xd180], rbx
mov dword [rbx], 0x400
mov word [rbx + 8], r8w
movzx eax, word [r12 + rbp + 0x2e]
rol ax, 8
mov word [rbx + 0xa], ax
dec ax
cmp ax, cx
ja 0x1400bf409
mov dword [rbx + 4], 0x200
jmp 0x1400bf412
mov eax, pe_nt_image_headers64
mov word [rbx + 0xa], ax
mov byte [rbx + 0x248], 0x3c
xor ecx, ecx
lea rdx, [rbx + 0x1ac]
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx + 1]
inc ecx
mov byte [rdx - 0x80], sil
mov byte [rdx], al
lea rdx, [rdx + 1]
cmp ecx, 0x78
jb 0x1400bf430
test rdi, rdi
je 0x1400bf55d
movzx eax, word [r12 + rbp + 0x30]
mov ecx, 0xff
rol ax, 8
movzx ebx, ax
movzx eax, word [r12 + rbp + 0x20]
rol ax, 8
shl ax, 2
mov word [rdi + 0x26], ax
dec ax
cmp ax, cx
jbe 0x1400bf482
mov eax, 0x100
mov word [rdi + 0x26], ax
mov word [rdi + 0x28], r8w
mov edx, dword [r12 + rbp + 0x22]
mov ecx, edx
mov eax, edx
shr eax, 0x10
and ecx, 0xff0000
or ecx, eax
mov eax, edx
and edx, 0xff00
shl eax, 0x10
shr ecx, 8
or eax, edx
shl eax, 8
or ecx, eax
mov dword [rdi + 0x20], ecx
call fcn.1400add60
mov ecx, eax
sar eax, 7
and cl, 0x7f
mov byte [rdi + 0x2c], al
mov byte [rdi + 0x2d], cl
cmp dword [r12 + rbp + 0x2a], 0
je 0x1400bf55d
test bl, 3
je 0x1400bf55d
mov ecx, dword [r12 + rbp + 0x26]
mov r8d, ecx
mov eax, ecx
shr eax, 0x10
and r8d, 0xff0000
or r8d, eax
mov eax, ecx
and ecx, 0xff00
shl eax, 0x10
shr r8d, 8
or eax, ecx
shl eax, 8
or r8d, eax
mov dword [rdi + 4], r8d
mov ecx, dword [r12 + rbp + 0x2a]
mov edx, ecx
mov eax, ecx
shr eax, 0x10
and edx, 0xff0000
or edx, eax
mov eax, ecx
and ecx, 0xff00
shl eax, 0x10
shr edx, 8
or eax, ecx
mov ecx, 0xfffb
shl eax, 8
or edx, eax
movzx eax, word [rdi + 0x2a]
and ax, cx
add edx, r8d
or ax, 2
mov dword [rdi + 8], edx
mov word [rdi + 0x2a], ax
test bl, 2
je 0x1400bf55d
or ax, 4
mov word [rdi + 0x2a], ax
mov ebp, dword [rsp + 0x3c]
mov ebx, dword [rsp + 0x30]
mov dword [r13 + 0x104a8], r14d
inc r14d
add ebp, 0x32
lea eax, [r14 - 1]
mov dword [rsp + 0x3c], ebp
cmp eax, ebx
jb 0x1400bf2f0
mov r11d, dword [rsp + 0x38]
mov esi, dword [rsp + 0x34]
mov edi, dword [rsp + 0xb8]
mov r14d, dword [rsp + 0xb0]
mov r15d, 0xef
jmp 0x1400bf6f0
cmp r8d, 0x564e4556
jne 0x1400bf738
lea eax, [rbp + 1]
xor ebx, ebx
add ebp, 2
movzx edi, byte [rax + r12]
test edi, edi
je 0x1400bf6e5
mov esi, r11d
nop word [rax + rax]
lea rax, [rbp + 0x88]
cmp rax, rsi
ja 0x1400bf6dc
movzx eax, word [r12 + rbp]
lea r9, [r12 + rbp]
rol ax, 8
movzx ecx, ax
lea eax, [rcx - 1]
cmp eax, 0xee
ja 0x1400bf6cc
mov r8, qword [r13 + rcx*8 + 0xd180]
test r8, r8
je 0x1400bf6cc
cmp byte [r9 + 3], 0
je 0x1400bf6cc
test byte [r9 + 2], 1
je 0x1400bf626
or dword [r8 + 4], 1
test byte [r9 + 2], 2
je 0x1400bf632
or dword [r8 + 4], 2
test byte [r9 + 2], 4
je 0x1400bf63e
or dword [r8 + 4], 4
movzx eax, byte [r9 + 3]
inc al
cmp al, 0x20
movzx ecx, al
cmova ecx, r10d
xor r11d, r11d
mov byte [r8 + 0x22c], cl
movzx eax, byte [r9 + 5]
mov byte [r8 + 0x22f], al
movzx eax, byte [r9 + 6]
mov byte [r8 + 0x230], al
movzx eax, byte [r9 + 4]
mov byte [r8 + 0x232], al
mov byte [r8 + 0x231], al
test cl, cl
je 0x1400bf6cc
xor r10d, r10d
nop word [rax + rax]
movzx ecx, word [r9 + r10*2 + 8]
lea eax, [r10 + 1]
lea r10d, [r10 + 2]
rol cx, 8
mov word [r8 + r11*2 + 0xc], cx
movzx eax, byte [r9 + rax*2 + 9]
mov byte [r11 + r8 + 0xcc], al
movzx eax, byte [r8 + 0x22c]
inc r11d
cmp r11d, eax
jb 0x1400bf690
mov r10d, 0x20
inc ebx
add ebp, 0x88
cmp ebx, edi
jb 0x1400bf5d0
mov r11d, dword [rsp + 0x38]
mov esi, dword [rsp + 0x34]
mov edi, dword [rsp + 0xb8]
mov ebx, dword [rsp + 0x30]
lea ecx, [r11 + 0xa]
mov r9d, 0xf0
mov r10d, 0x20
cmp ecx, r14d
jb 0x1400bf270
mov rbp, qword [rsp + 0x78]
mov r15, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov rbx, qword [rsp + 0xa0]
mov eax, 1
add rsp, 0x80
pop r14
pop r13
pop r12
ret
cmp r8d, 0x54544150
jne 0x1400bfa4e
cmp edi, r9d
mov dword [rsp + 0x44], 0
cmova edi, r9d
mov dword [rsp + 0xb8], edi
test edi, edi
je 0x1400bf6f0
lea rdi, [r13 + 0xe200]
lea rax, [r13 + 0xe980]
mov ecx, r11d
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x58], rcx
nop
mov ebx, ebp
lea rax, [rbx + 8]
cmp rax, rcx
ja 0x1400bf9db
mov ecx, dword [rbx + r12 + 2]
add ebp, 6
mov r12d, ecx
mov eax, ecx
shr eax, 0x10
and r12d, 0xff0000
or r12d, eax
mov eax, ecx
and ecx, 0xff00
shl eax, 0x10
shr r12d, 8
or eax, ecx
shl eax, 8
or r12d, eax
add ebp, r12d
mov dword [rsp + 0x3c], ebp
cmp ebp, r11d
ja 0x1400bf9d3
cmp r12d, r11d
ja 0x1400bf9d3
mov r15, qword [rsp + 0xa8]
movzx eax, word [rbx + r15]
rol ax, 8
movzx esi, ax
mov dword [rsp + 0x40], esi
lea eax, [rsi - 4]
cmp eax, 0xfc
ja 0x1400bf9a0
mov edx, dword [r13 + 0x10490]
mov ecx, esi
call fcn.1400acf80
mov r14, rax
test rax, rax
je 0x1400bf99b
mov rax, qword [rsp + 0x48]
lea rbp, [rbx + r15]
xor r15d, r15d
xor ebx, ebx
mov word [rax], si
mov qword [rdi], r14
cmp r12d, 3
jbe 0x1400bf997
lea edi, [rbx + 3]
nop word [rax + rax]
cmp r15d, esi
jae 0x1400bf992
movzx r10d, byte [rbx + rbp + 6]
inc edi
inc ebx
test r10d, r10d
je 0x1400bfa37
movzx r8d, byte [rbx + rbp + 6]
dec r10d
inc edi
inc ebx
cmp r10d, dword [r13 + 0x10490]
jae 0x1400bf9f2
test r8b, 1
je 0x1400bf8b4
movzx edx, byte [rbx + rbp + 6]
inc edi
inc ebx
cmp edx, 0x1f
jne 0x1400bf891
mov edx, 0xff
jmp 0x1400bf8ac
lea eax, [rdx - 1]
cmp eax, 0xfc
ja 0x1400bf8ac
mov eax, edx
and edx, 0xf
shr eax, 4
lea ecx, [rax + rax*2]
lea edx, [rdx + rcx*4]
add edx, 0xd
lea rcx, [r10 + r10*2]
mov byte [r14 + rcx*2], dl
test r8b, 2
je 0x1400bf8cc
movzx eax, byte [rbx + rbp + 6]
lea rcx, [r10 + r10*2]
inc ebx
mov byte [r14 + rcx*2 + 1], al
inc edi
test r8b, 0x3c
je 0x1400bf989
mov eax, 0xff
xor r11d, r11d
xor esi, esi
mov r9d, eax
mov edx, eax
test r8b, 4
je 0x1400bf8f5
movzx r9d, byte [rbx + rbp + 6]
inc ebx
inc edi
test r8b, 8
je 0x1400bf905
movzx r11d, byte [rbx + rbp + 6]
inc ebx
inc edi
test r8b, 0x10
je 0x1400bf914
movzx edx, byte [rbx + rbp + 6]
inc ebx
inc edi
test r8b, 0x20
je 0x1400bf923
movzx esi, byte [rbx + rbp + 6]
inc ebx
inc edi
cmp r9d, 0xc
jne 0x1400bf93a
lea rcx, [r10 + r10*2]
mov byte [r14 + rcx*2 + 2], 1
mov byte [r14 + rcx*2 + 4], r11b
jmp 0x1400bf961
cmp edx, 0xc
jne 0x1400bf950
lea rcx, [r10 + r10*2]
mov edx, eax
mov byte [r14 + rcx*2 + 2], 1
mov byte [r14 + rcx*2 + 4], sil
cmp r9d, 0x13
ja 0x1400bf961
cmp r9d, 0x10
jb 0x1400bf967
cmp edx, 0x10
jae 0x1400bf967
mov r9d, edx
mov r11d, esi
cmp r9d, 0x13
ja 0x1400bf985
lea rcx, [r10 + r10*2]
lea rdx, [r14 + rcx*2]
mov rcx, r13
mov byte [rdx + 3], r9b
mov byte [rdx + 5], r11b
call fcn.1400c6c90
mov esi, dword [rsp + 0x40]
cmp edi, r12d
jb 0x1400bf840
mov rdi, qword [rsp + 0x50]
mov ebp, dword [rsp + 0x3c]
mov r11d, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x44]
add qword [rsp + 0x48], 2
mov r12, qword [rsp + 0xa8]
inc ecx
add rdi, 8
cmp ecx, dword [rsp + 0xb8]
mov dword [rsp + 0x44], ecx
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x50], rdi
jb 0x1400bf780
mov r12, qword [rsp + 0xa8]
mov esi, dword [rsp + 0x34]
mov r14d, dword [rsp + 0xb0]
mov r15d, 0xef
jmp 0x1400bf6e5
test r8b, 1
je 0x1400bf9fc
inc ebx
inc edi
test r8b, 2
je 0x1400bfa06
inc ebx
inc edi
test r8b, 4
je 0x1400bfa10
inc ebx
inc edi
test r8b, 8
je 0x1400bfa1a
inc ebx
inc edi
test r8b, 0x10
je 0x1400bfa24
inc ebx
inc edi
test r8b, 0x20
je 0x1400bf989
inc ebx
inc edi
jmp 0x1400bf989
mov eax, dword [r13 + 0x10490]
inc r15d
lea rcx, [rax + rax*2]
lea r14, [r14 + rcx*2]
jmp 0x1400bf989
cmp r8d, 0x4c504d53
jne 0x1400bf6f0
cmp esi, r9d
mov ebx, 1
cmovae esi, r15d
mov dword [rsp + 0x34], esi
mov dword [r13 + 0x104a4], esi
cmp esi, ebx
jb 0x1400bf6ec
mov edi, r11d
nop dword [rax]
lea rax, [rbp + 0xa]
cmp rax, rdi
jae 0x1400bf6e5
mov ecx, dword [r12 + rbp + 4]
lea r9, [r12 + rbp]
lea rdx, [r13 + 0x8e00]
mov eax, ecx
mov r10d, ecx
add ebp, 8
shr eax, 0x10
and r10d, 0xff0000
or r10d, eax
mov eax, ecx
and ecx, 0xff00
shl eax, 0x10
shr r10d, 8
or eax, ecx
mov ecx, dword [r9]
shl eax, 8
mov r8d, ecx
or r10d, eax
mov eax, ecx
and r8d, 0xff0000
shr eax, 0x10
or r8d, eax
mov eax, ecx
and ecx, 0xff00
shl eax, 0x10
shr r8d, 8
or eax, ecx
shl eax, 8
or r8d, eax
mov eax, ebx
lea rcx, [rax + rax*8]
lea rdx, [rdx + rcx*8]
mov dword [rdx], r10d
test r8b, 2
je 0x1400bfb10
or word [rdx + 0x2a], 1
add r10d, r10d
add ebp, r10d
cmp ebp, r11d
ja 0x1400bf6e5
cmp r10d, r14d
ja 0x1400bf6e5
test r8b, 3
je 0x1400bfb50
movzx eax, byte [rdx + 0x2a]
add r9, 8
mov rcx, r13
and al, 1
mov dword [rsp + 0x20], r10d
neg al
sbb r8d, r8d
and r8d, 7
call fcn.1400ae320
mov r11d, dword [rsp + 0x38]
inc ebx
cmp ebx, esi
jbe 0x1400bfa80
jmp 0x1400bf6e5
mov r11d, dword [rsp + 0x38]
mov esi, dword [rsp + 0x34]
mov r14d, dword [rsp + 0xb0]
mov r15d, 0xef
jmp 0x1400bf6e5
xor eax, eax
add rsp, 0x80
pop r14
pop r13
pop r12
ret