Function at 0x140085b80
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 0x14008664b
cmp r8d, 0x84
jbe 0x14008664b
cmp word [rdx + 0x4c], 0
je 0x14008664b
cmp dword [rdx], 0x304d4244
jne 0x14008664b
cmp word [rdx + 0x48], 0
je 0x14008664b
cmp dword [rdx + 0x4e], 0x474e4f53
jne 0x14008664b
cmp dword [rdx + 8], 0x454d414e
jne 0x14008664b
cmp dword [rdx + 0xc], 0x2c000000
jne 0x14008664b
cmp dword [rdx + 0x3c], 0x4f464e49
jne 0x14008664b
cmp dword [rdx + 0x40], 0xa000000
jne 0x14008664b
movzx eax, word [rdx + 0x82]
rol ax, 8
movzx r10d, ax
lea eax, [r10*2 + 0x9c]
cmp eax, r8d
jae 0x14008664b
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 0x140085cb3
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 0x140085d10
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 0x140085d10
inc r9d
add edx, 2
inc r8
cmp r9d, r10d
jb 0x140085cf0
lea r11d, [r10*2 + 0x84]
lea eax, [r11 + 0xa]
cmp eax, r14d
jae 0x1400861e3
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 0x1400861d9
cmp edx, r14d
ja 0x1400861d9
cmp r8d, 0x54534e49
jne 0x140086075
cmp ebx, r9d
cmovae ebx, r15d
mov dword [rsp + 0x30], ebx
test ebx, ebx
je 0x1400861c0
mov r15d, r11d
mov r14d, 1
nop
lea rax, [rbp + 0x32]
cmp rax, r15
ja 0x140086052
mov ecx, 0x278
call sub.msvcrt.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
mov rbx, rax
test rax, rax
je 0x14008662f
movzx eax, word [r12 + rbp + 0x1e]
rol ax, 8
movzx esi, ax
lea eax, [rsi - 1]
cmp eax, 0xee
ja 0x140085e0b
lea rcx, [rsi + rsi*8]
lea rdi, [r13 + 0x8e00]
lea rdi, [rdi + rcx*8]
jmp 0x140085e0d
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 0x140085e99
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 0x140085ed9
mov dword [rbx + 4], 0x200
jmp 0x140085ee2
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 0x140085f00
test rdi, rdi
je 0x14008602d
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 0x140085f52
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.140074830
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 0x14008602d
test bl, 3
je 0x14008602d
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 0x14008602d
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 0x140085dc0
mov r11d, dword [rsp + 0x38]
mov esi, dword [rsp + 0x34]
mov edi, dword [rsp + 0xb8]
mov r14d, dword [rsp + 0xb0]
mov r15d, 0xef
jmp 0x1400861c0
cmp r8d, 0x564e4556
jne 0x140086208
lea eax, [rbp + 1]
xor ebx, ebx
add ebp, 2
movzx edi, byte [rax + r12]
test edi, edi
je 0x1400861b5
mov esi, r11d
nop word [rax + rax]
lea rax, [rbp + 0x88]
cmp rax, rsi
ja 0x1400861ac
movzx eax, word [r12 + rbp]
lea r9, [r12 + rbp]
rol ax, 8
movzx ecx, ax
lea eax, [rcx - 1]
cmp eax, 0xee
ja 0x14008619c
mov r8, qword [r13 + rcx*8 + 0xd180]
test r8, r8
je 0x14008619c
cmp byte [r9 + 3], 0
je 0x14008619c
test byte [r9 + 2], 1
je 0x1400860f6
or dword [r8 + 4], 1
test byte [r9 + 2], 2
je 0x140086102
or dword [r8 + 4], 2
test byte [r9 + 2], 4
je 0x14008610e
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 0x14008619c
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 0x140086160
mov r10d, 0x20
inc ebx
add ebp, 0x88
cmp ebx, edi
jb 0x1400860a0
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 0x140085d40
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 0x14008651e
cmp edi, r9d
mov dword [rsp + 0x44], 0
cmova edi, r9d
mov dword [rsp + 0xb8], edi
test edi, edi
je 0x1400861c0
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 0x1400864ab
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 0x1400864a3
cmp r12d, r11d
ja 0x1400864a3
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 0x140086470
mov edx, dword [r13 + 0x10490]
mov ecx, esi
call fcn.140073a50
mov r14, rax
test rax, rax
je 0x14008646b
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 0x140086467
lea edi, [rbx + 3]
nop word [rax + rax]
cmp r15d, esi
jae 0x140086462
movzx r10d, byte [rbx + rbp + 6]
inc edi
inc ebx
test r10d, r10d
je 0x140086507
movzx r8d, byte [rbx + rbp + 6]
dec r10d
inc edi
inc ebx
cmp r10d, dword [r13 + 0x10490]
jae 0x1400864c2
test r8b, 1
je 0x140086384
movzx edx, byte [rbx + rbp + 6]
inc edi
inc ebx
cmp edx, 0x1f
jne 0x140086361
mov edx, 0xff
jmp 0x14008637c
lea eax, [rdx - 1]
cmp eax, 0xfc
ja 0x14008637c
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 0x14008639c
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 0x140086459
mov eax, 0xff
xor r11d, r11d
xor esi, esi
mov r9d, eax
mov edx, eax
test r8b, 4
je 0x1400863c5
movzx r9d, byte [rbx + rbp + 6]
inc ebx
inc edi
test r8b, 8
je 0x1400863d5
movzx r11d, byte [rbx + rbp + 6]
inc ebx
inc edi
test r8b, 0x10
je 0x1400863e4
movzx edx, byte [rbx + rbp + 6]
inc ebx
inc edi
test r8b, 0x20
je 0x1400863f3
movzx esi, byte [rbx + rbp + 6]
inc ebx
inc edi
cmp r9d, 0xc
jne 0x14008640a
lea rcx, [r10 + r10*2]
mov byte [r14 + rcx*2 + 2], 1
mov byte [r14 + rcx*2 + 4], r11b
jmp 0x140086431
cmp edx, 0xc
jne 0x140086420
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 0x140086431
cmp r9d, 0x10
jb 0x140086437
cmp edx, 0x10
jae 0x140086437
mov r9d, edx
mov r11d, esi
cmp r9d, 0x13
ja 0x140086455
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.14008d760
mov esi, dword [rsp + 0x40]
cmp edi, r12d
jb 0x140086310
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 0x140086250
mov r12, qword [rsp + 0xa8]
mov esi, dword [rsp + 0x34]
mov r14d, dword [rsp + 0xb0]
mov r15d, 0xef
jmp 0x1400861b5
test r8b, 1
je 0x1400864cc
inc ebx
inc edi
test r8b, 2
je 0x1400864d6
inc ebx
inc edi
test r8b, 4
je 0x1400864e0
inc ebx
inc edi
test r8b, 8
je 0x1400864ea
inc ebx
inc edi
test r8b, 0x10
je 0x1400864f4
inc ebx
inc edi
test r8b, 0x20
je 0x140086459
inc ebx
inc edi
jmp 0x140086459
mov eax, dword [r13 + 0x10490]
inc r15d
lea rcx, [rax + rax*2]
lea r14, [r14 + rcx*2]
jmp 0x140086459
cmp r8d, 0x4c504d53
jne 0x1400861c0
cmp esi, r9d
mov ebx, 1
cmovae esi, r15d
mov dword [rsp + 0x34], esi
mov dword [r13 + 0x104a4], esi
cmp esi, ebx
jb 0x1400861bc
mov edi, r11d
nop dword [rax]
lea rax, [rbp + 0xa]
cmp rax, rdi
jae 0x1400861b5
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 0x1400865e0
or word [rdx + 0x2a], 1
add r10d, r10d
add ebp, r10d
cmp ebp, r11d
ja 0x1400861b5
cmp r10d, r14d
ja 0x1400861b5
test r8b, 3
je 0x140086620
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.140074df0
mov r11d, dword [rsp + 0x38]
inc ebx
cmp ebx, esi
jbe 0x140086550
jmp 0x1400861b5
mov r11d, dword [rsp + 0x38]
mov esi, dword [rsp + 0x34]
mov r14d, dword [rsp + 0xb0]
mov r15d, 0xef
jmp 0x1400861b5
xor eax, eax
add rsp, 0x80
pop r14
pop r13
pop r12
ret