Function at 0x140071450
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, 0x228
mov r14, r9
mov qword [rsp + 0xc8], r8
mov r12, rdx
mov rbx, rcx
movabs rdi, 0x8000000000000000
mov qword [rsp + 0x110], 0
mov qword [rsp + 0x120], 0
mov r15, qword [r9 + 0x40]
test r15, r15
je 0x140071688
mov r13, qword [r14 + 0x38]
shl r15, 5
add r15, r13
mov ebp, 0xff
lea rsi, [0x1401b3d90]
mov dx, 0x2a
cmp qword [r13], rdi
je case.0x1400714d3.0
movzx edx, word [r13 + 0x18]
movzx eax, dx
movsxd rax, dword [rsi + rax*4]
add rax, rsi
jmp rax
mov rax, qword [rsp + 0x110]
test rax, rax
je 0x140071550
mov rcx, qword [rsp + 0x118]
movzx r9d, word [rax + 0xa]
mov r10d, r9d
add r10d, r10d
mov r8, 0xffffffffffffffff
nop dword [rax]
test r10, r10
je 0x140071540
xor r11d, r11d
cmp word [rax + r8*2 + 0xe], dx
setne r11b
cmova r11d, ebp
inc r8
add r10, 0xfffffffffffffffe
cmp r11b, 1
je 0x140071500
movzx r9d, r11b
test r9d, r9d
jne 0x140071543
jmp 0x14007162d
mov r8, r9
sub rcx, 1
jb 0x140071550
mov rax, qword [rax + r8*8 + 0x28]
jmp 0x1400714ea
add r13, 0x20
lea rcx, [rsp + 0x110]
call fcn.140046d80
cmp r13, r15
jne 0x1400714ba
jmp 0x140071688
lea rcx, [rsp + 0x110]
call fcn.140047760
mov word [rsp + 0x1c8], 4
mov qword [rsp + 0x110], rdi
mov dword [rsp + 0x118], 0xd0001
mov rsi, qword [rsp + 0xc8]
cmp byte [rsi + 0x41], 2
sete r8b
lea rdx, [rsp + 0x110]
mov rcx, rsi
call fcn.140072710
mov byte [rsi + 0x331], 1
mov word [rbx], 0x608
jmp 0x140072106
mov qword [rsp + 0xd8], rbx
lea rcx, [rsp + 0x110]
call fcn.140047760
mov rdx, qword [r12 + 0x28]
mov rax, qword [r12 + 0x30]
lea rsi, [rsp + 0x1e0]
mov rcx, rsi
call qword [rax + 0x18]
mov r13, qword [rsp + 0x220]
cmp r13, 0x41
jae 0x140071dcc
mov rax, qword [r14 + 8]
mov qword [rsp + 0xb8], rax
mov rbp, qword [r14 + 0x10]
mov r15, qword [r12 + 0x70]
mov rbx, qword [r12 + 0x78]
mov rcx, r15
call qword [rbx + 0x28]
mov r10, qword [rbx + 0x20]
rol ax, 8
mov word [rsp + 0x26], ax
mov byte [rsp + 0x24], 0x10
mov byte [rsp + 0x25], r13b
lea rax, [rsp + 0x26]
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x118], 2
lea rax, [rsp + 0x24]
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], 1
lea rax, [0x1401d2d4a]
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x138], 6
lea rax, [0x1401d2c67]
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], 0xa
lea rbx, [rsp + 0x25]
mov qword [rsp + 0x150], rbx
mov qword [rsp + 0x158], 1
mov qword [rsp + 0x160], rsi
mov qword [rsp + 0x168], r13
lea rsi, [rsp + 0x70]
lea r8, [rsp + 0x110]
mov r9d, 6
mov rcx, rsi
mov rdx, r15
call r10
mov qword [rsp + 0x108], r12
mov rax, qword [r12 + 0x80]
mov rcx, qword [rax + 0x10]
mov rax, qword [rax + 0x18]
mov rdx, rsi
call qword [rax + 0x30]
mov rsi, rax
mov r15, rdx
mov rcx, rax
call qword [rdx + 0x28]
mov r10, qword [r15 + 0x20]
rol ax, 8
mov word [rsp + 0x26], ax
mov byte [rsp + 0x24], 0x10
mov byte [rsp + 0x25], bpl
lea rax, [rsp + 0x26]
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x118], 2
lea rax, [rsp + 0x24]
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], 1
lea rax, [0x1401d2d4a]
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x138], 6
lea rax, [0x1401d2d26]
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], 0xa
mov qword [rsp + 0x150], rbx
mov qword [rsp + 0x158], 1
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x168], rbp
lea rcx, [rsp + 0x28]
lea r8, [rsp + 0x110]
mov r9d, 6
mov rdx, rsi
call r10
mov rcx, rsi
call qword [r15]
cmp qword [r15 + 8], 0
mov r12, qword [rsp + 0xc8]
je 0x1400718ca
cmp qword [r15 + 0x10], 0x11
jb 0x1400718b9
mov rsi, qword [rsi - 8]
mov rcx, qword [0x1402540f8]
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
mov byte [rsp + 0x70], 0
mov byte [rsp + 0x71], 0
mov byte [rsp + 0x72], 0
mov byte [rsp + 0x73], 0
mov byte [rsp + 0x74], 0
mov byte [rsp + 0x75], 0
mov byte [rsp + 0x76], 0
mov byte [rsp + 0x77], 0
mov byte [rsp + 0x78], 0
mov byte [rsp + 0x79], 0
mov byte [rsp + 0x7a], 0
mov byte [rsp + 0x7b], 0
mov byte [rsp + 0x7c], 0
mov byte [rsp + 0x7d], 0
mov byte [rsp + 0x7e], 0
mov byte [rsp + 0x7f], 0
mov byte [rsp + 0x80], 0
mov byte [rsp + 0x81], 0
mov byte [rsp + 0x82], 0
mov byte [rsp + 0x83], 0
mov byte [rsp + 0x84], 0
mov byte [rsp + 0x85], 0
mov byte [rsp + 0x86], 0
mov byte [rsp + 0x87], 0
mov byte [rsp + 0x88], 0
mov byte [rsp + 0x89], 0
mov byte [rsp + 0x8a], 0
mov byte [rsp + 0x8b], 0
mov byte [rsp + 0x8c], 0
mov byte [rsp + 0x8d], 0
mov byte [rsp + 0x8e], 0
mov byte [rsp + 0x8f], 0
mov byte [rsp + 0x90], 0
mov byte [rsp + 0x91], 0
mov byte [rsp + 0x92], 0
mov byte [rsp + 0x93], 0
mov byte [rsp + 0x94], 0
mov byte [rsp + 0x95], 0
mov byte [rsp + 0x96], 0
mov byte [rsp + 0x97], 0
mov byte [rsp + 0x98], 0
mov byte [rsp + 0x99], 0
mov byte [rsp + 0x9a], 0
mov byte [rsp + 0x9b], 0
mov byte [rsp + 0x9c], 0
mov byte [rsp + 0x9d], 0
mov byte [rsp + 0x9e], 0
mov byte [rsp + 0x9f], 0
mov byte [rsp + 0xa0], 0
mov byte [rsp + 0xa1], 0
mov byte [rsp + 0xa2], 0
mov byte [rsp + 0xa3], 0
mov byte [rsp + 0xa4], 0
mov byte [rsp + 0xa5], 0
mov byte [rsp + 0xa6], 0
mov byte [rsp + 0xa7], 0
mov byte [rsp + 0xa8], 0
mov byte [rsp + 0xa9], 0
mov byte [rsp + 0xaa], 0
mov byte [rsp + 0xab], 0
mov byte [rsp + 0xac], 0
mov byte [rsp + 0xad], 0
mov byte [rsp + 0xae], 0
mov byte [rsp + 0xaf], 0
mov rax, qword [rsp + 0x108]
mov rbx, qword [rax + 0x68]
mov rsi, qword [r14 + 0x20]
mov r15, qword [r14 + 0x28]
test r15, r15
je 0x140071ad7
js 0x140071dcc
movzx eax, byte [0x140254141]
xor ecx, ecx
mov rdx, r15
call fcn.14008bd10
mov r13, rax
test rax, rax
jne 0x140071add
jmp 0x140071dcc
mov r13d, 1
mov rcx, r13
mov rdx, rsi
mov r8, r15
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x68]
cmp rax, 0x41
jae 0x140071dcc
mov qword [rsp + 0xf8], r15
mov qword [rsp + 0xb8], rax
cmp qword [r12 + 0x2f0], rdi
jne 0x140071b28
mov eax, 8
mov qword [rsp + 0xd0], rax
xor r15d, r15d
xor esi, esi
jmp 0x140071b65
mov rdx, qword [r12 + 0x2f8]
mov r8, qword [r12 + 0x300]
lea rcx, [rsp + 0x110]
call fcn.1400384a0
mov rsi, qword [rsp + 0x110]
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0xd0], rax
mov r15, qword [rsp + 0x120]
mov qword [rsp + 0xe8], r13
mov qword [rsp + 0x110], 0
mov rax, qword [0x1401b00e8]
lea rcx, [rsp + 0x110]
call rax
mov rcx, qword [rsp + 0x110]
movabs r8, 0x19db1ded53e8000
mov rdx, rcx
sub rdx, r8
neg rdx
movabs rax, 0xfe624e212ac18000
add rax, rcx
cmp rcx, r8
cmovl rax, rdx
movabs rdx, 0xd6bf94d5e57a42bd
mul rdx
cmp rcx, r8
jl 0x140071dcc
mov qword [rsp + 0x1d0], rdx
mov rbp, qword [r14 + 0x38]
mov r13, qword [r14 + 0x40]
mov dword [rsp + 0xc4], 0
test r13, r13
mov qword [rsp + 0xf0], rsi
mov qword [rsp + 0x1d8], rbx
je 0x140071c38
mov rax, r13
shl rax, 5
add rax, 0xffffffffffffffe0
mov rcx, rbp
nop dword [rax]
cmp qword [rcx], rdi
je 0x140071c2e
cmp word [rcx + 0x18], 0x16
je 0x140071c38
add rcx, 0x20
lea rdx, [rax - 0x20]
test rax, rax
mov rax, rdx
jne 0x140071c10
jmp 0x140071c38
mov eax, dword [rcx + 8]
mov dword [rsp + 0xc4], eax
mov ebx, dword [r14 + 0x48]
mov eax, dword [r14 + 0x4c]
mov dword [rsp + 0xe4], eax
mov eax, 1
mov qword [rsp + 0x100], rax
mov r14d, 1
mov rsi, qword [rsp + 0xb8]
test rsi, rsi
je 0x140071c84
movzx eax, byte [0x140254141]
xor ecx, ecx
mov rdx, rsi
call fcn.14008bd10
mov r14, rax
test rax, rax
je 0x140071dcc
lea rdx, [rsp + 0x28]
mov rcx, r14
mov r8, rsi
call sub.msvcrt.dll_memcpy
cmp ebx, 0x93a80
mov esi, 0x93a80
cmovb esi, ebx
cmp byte [r12 + 0x334], 0
je 0x140071cf7
test r13, r13
je 0x140071ced
shl r13, 5
add r13, 0xffffffffffffffe0
nop word [rax + rax]
cmp qword [rbp], rdi
je 0x140071cdf
cmp word [rbp + 0x18], 0x16
je 0x140071ced
add rbp, 0x20
lea rax, [r13 - 0x20]
test r13, r13
mov r13, rax
jne 0x140071cc0
jmp 0x140071ced
mov eax, dword [rbp + 8]
inc eax
cmp eax, 1
ja 0x140071dce
cmp qword [r12 + 0x148], rdi
jne 0x140071cfb
xor ebx, ebx
jmp 0x140071d4c
mov rbp, qword [r12 + 0x150]
mov rbx, qword [r12 + 0x158]
test rbx, rbx
je 0x140071d31
js 0x140071dcc
movzx eax, byte [0x140254141]
xor ecx, ecx
mov rdx, rbx
call fcn.14008bd10
test rax, rax
jne 0x140071d36
jmp 0x140071dcc
mov eax, 1
mov qword [rsp + 0x100], rax
mov rcx, rax
mov rdx, rbp
mov r8, rbx
call sub.msvcrt.dll_memcpy
mov rcx, qword [rsp + 0x108]
mov rdx, qword [rcx + 0x58]
mov r13, qword [rcx + 0x60]
mov rbp, qword [r13 + 0x10]
cmp byte [rcx + 0x38], 0
je 0x140071d81
movzx eax, byte [rcx + 0x49]
mov byte [rsp + 0x81], al
movups xmm0, xmmword [rcx + 0x39]
movups xmmword [rsp + 0x71], xmm0
mov al, 1
jmp 0x140071ec0
cmp qword [rcx + 0x40], rdi
jne 0x140071d94
mov rax, qword [rcx + 0x48]
mov r12, qword [rcx + 0x50]
jmp 0x140071ea9
mov rdi, qword [rcx + 0x48]
mov r12, qword [rcx + 0x50]
test r12, r12
mov qword [rsp + 0xc8], rdx
je 0x140071e88
js 0x140071dcc
movzx eax, byte [0x140254141]
xor ecx, ecx
mov rdx, r12
call fcn.14008bd10
mov rcx, rax
test rax, rax
jne 0x140071e8d
ud2
mov rax, qword [rsp + 0xd8]
mov word [rax], 0x1708
cmp qword [rsp + 0xf8], 0
je 0x140071dfc
mov rcx, qword [0x1402540f8]
xor edx, edx
mov r8, qword [rsp + 0xe8]
call sub.KERNEL32.dll_HeapFree
mov r8, qword [rsp + 0xb8]
test r8, r8
je 0x14007211a
mov rcx, r8
mov rax, r14
and rcx, 7
je 0x140071e2b
mov rax, r14
nop dword [rax]
mov byte [rax], 0
inc rax
dec rcx
jne 0x140071e20
cmp r8, 8
jb 0x140071e68
lea rcx, [r14 + r8]
nop word cs:[rax + rax]
mov byte [rax], 0
mov byte [rax + 1], 0
mov byte [rax + 2], 0
mov byte [rax + 3], 0
mov byte [rax + 4], 0
mov byte [rax + 5], 0
mov byte [rax + 6], 0
mov byte [rax + 7], 0
add rax, 8
cmp rax, rcx
jne 0x140071e40
test r8, r8
je 0x14007211a
mov eax, r8d
and eax, 7
cmp r8, 8
jae 0x14007211c
xor ecx, ecx
jmp 0x14007215c
mov ecx, 1
mov rdx, rdi
mov r8, r12
mov rdi, rcx
call sub.msvcrt.dll_memcpy
mov rax, rdi
mov rdi, r12
mov rdx, qword [rsp + 0xc8]
mov qword [rsp + 0x78], rdi
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], r12
xor eax, eax
mov rdi, qword [rsp + 0xd8]
dec rbp
and rbp, 0xfffffffffffffff0
lea rcx, [rdx + rbp]
add rcx, 0x10
mov byte [rsp + 0x70], al
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x110], rax
mov rdx, qword [rsp + 0xe8]
mov qword [rsp + 0x118], rdx
mov qword [rsp + 0x120], rax
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x130], r14
mov qword [rsp + 0x138], rax
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x140], rax
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x150], r15
mov rax, qword [rsp + 0x1d0]
shr rax, 0x17
mov qword [rsp + 0x158], rax
mov dword [rsp + 0x160], esi
mov qword [rsp + 0x168], rbx
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x170], rax
mov qword [rsp + 0x178], rbx
mov rax, qword [rsp + 0x1d8]
mov qword [rsp + 0x180], rax
mov eax, dword [rsp + 0xe4]
mov dword [rsp + 0x188], eax
mov eax, dword [rsp + 0xc4]
mov dword [rsp + 0x18c], eax
lea rdx, [rsp + 0x70]
lea r8, [rsp + 0x110]
call qword [r13 + 0x58]
mov byte [rdi], 0x14
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x29], 0
mov byte [rsp + 0x2a], 0
mov byte [rsp + 0x2b], 0
mov byte [rsp + 0x2c], 0
mov byte [rsp + 0x2d], 0
mov byte [rsp + 0x2e], 0
mov byte [rsp + 0x2f], 0
mov byte [rsp + 0x30], 0
mov byte [rsp + 0x31], 0
mov byte [rsp + 0x32], 0
mov byte [rsp + 0x33], 0
mov byte [rsp + 0x34], 0
mov byte [rsp + 0x35], 0
mov byte [rsp + 0x36], 0
mov byte [rsp + 0x37], 0
mov byte [rsp + 0x38], 0
mov byte [rsp + 0x39], 0
mov byte [rsp + 0x3a], 0
mov byte [rsp + 0x3b], 0
mov byte [rsp + 0x3c], 0
mov byte [rsp + 0x3d], 0
mov byte [rsp + 0x3e], 0
mov byte [rsp + 0x3f], 0
mov byte [rsp + 0x40], 0
mov byte [rsp + 0x41], 0
mov byte [rsp + 0x42], 0
mov byte [rsp + 0x43], 0
mov byte [rsp + 0x44], 0
mov byte [rsp + 0x45], 0
mov byte [rsp + 0x46], 0
mov byte [rsp + 0x47], 0
mov byte [rsp + 0x48], 0
mov byte [rsp + 0x49], 0
mov byte [rsp + 0x4a], 0
mov byte [rsp + 0x4b], 0
mov byte [rsp + 0x4c], 0
mov byte [rsp + 0x4d], 0
mov byte [rsp + 0x4e], 0
mov byte [rsp + 0x4f], 0
mov byte [rsp + 0x50], 0
mov byte [rsp + 0x51], 0
mov byte [rsp + 0x52], 0
mov byte [rsp + 0x53], 0
mov byte [rsp + 0x54], 0
mov byte [rsp + 0x55], 0
mov byte [rsp + 0x56], 0
mov byte [rsp + 0x57], 0
mov byte [rsp + 0x58], 0
mov byte [rsp + 0x59], 0
mov byte [rsp + 0x5a], 0
mov byte [rsp + 0x5b], 0
mov byte [rsp + 0x5c], 0
mov byte [rsp + 0x5d], 0
mov byte [rsp + 0x5e], 0
mov byte [rsp + 0x5f], 0
mov byte [rsp + 0x60], 0
mov byte [rsp + 0x61], 0
mov byte [rsp + 0x62], 0
mov byte [rsp + 0x63], 0
mov byte [rsp + 0x64], 0
mov byte [rsp + 0x65], 0
mov byte [rsp + 0x66], 0
mov byte [rsp + 0x67], 0
add rsp, 0x228
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
jmp 0x140072192
mov edx, r8d
and edx, 0x78
xor ecx, ecx
mov byte [r14 + rcx], 0
mov byte [r14 + rcx + 1], 0
mov byte [r14 + rcx + 2], 0
mov byte [r14 + rcx + 3], 0
mov byte [r14 + rcx + 4], 0
mov byte [r14 + rcx + 5], 0
mov byte [r14 + rcx + 6], 0
mov byte [r14 + rcx + 7], 0
add rcx, 8
cmp rdx, rcx
jne 0x140072124
test rax, rax
je 0x14007217c
add rcx, r14
xor edx, edx
nop word cs:[rax + rax]
mov byte [rcx + rdx], 0
inc rdx
cmp rax, rdx
jne 0x140072170
test r8, r8
je 0x140072192
mov rcx, qword [0x1402540f8]
xor edx, edx
mov r8, r14
call sub.KERNEL32.dll_HeapFree
test r15, r15
mov rbx, qword [rsp + 0xd0]
je 0x1400721da
lea rsi, [rbx + 8]
jmp 0x1400721b9
add rsi, 0x18
dec r15
je 0x1400721da
mov rax, qword [rsi - 8]
cmp rax, rdi
je 0x1400721b0
test rax, rax
je 0x1400721b0
mov r8, qword [rsi]
mov rcx, qword [0x1402540f8]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
jmp 0x1400721b0
cmp qword [rsp + 0xf0], 0
je 0x140071fc6
mov rcx, qword [0x1402540f8]
xor edx, edx
mov r8, rbx
call sub.KERNEL32.dll_HeapFree
jmp 0x140071fc6