Function at 0x140086870
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, 0x98
cmp byte [rsp + 0x108], 0x6d
jne 0x14008724a
cmp byte [rsp + 0x100], 0
jne 0x14008724a
mov r13d, dword [rcx + 0x18]
mov esi, r13d
shr esi, 8
mov r14d, r13d
shr r14d, 0x10
mov ebp, r13d
shr ebp, 0x18
movzx eax, byte [rcx + 0x1c]
mov byte [rsp + 0x42], al
movzx eax, byte [rcx + 0x1d]
mov byte [rsp + 0x32], al
movzx r15d, word [rcx + 0x1e]
mov r12d, r15d
shr r12d, 8
movzx eax, byte [rcx + 0x20]
mov byte [rsp + 0x43], al
movzx eax, byte [rcx + 0x21]
mov byte [rsp + 0x31], al
movzx edi, word [rcx + 0x22]
mov ebx, edi
shr ebx, 8
mov qword [rsp + 0x80], rcx
movzx eax, word [rcx + 0x24]
mov word [rsp + 0x5c], ax
mov qword [rsp + 0x88], rdx
mov qword [rsp + 0x90], 0
lea rcx, [rsp + 0x88]
call fcn.140088520
mov dword [rsp + 0x78], ebp
mov ecx, ebp
mov dword [rsp + 0x50], ecx
mov dword [rsp + 0x7c], r14d
mov ecx, r14d
mov dword [rsp + 0x58], ecx
mov dword [rsp + 0x60], esi
mov ecx, esi
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x64], r13d
mov dword [rsp + 0x3c], r13d
mov dword [rsp + 0x70], r12d
mov dword [rsp + 0x44], r12d
mov dword [rsp + 0x74], r15d
mov ecx, r15d
mov dword [rsp + 0x4c], ecx
mov dword [rsp + 0x68], ebx
mov dword [rsp + 0x48], ebx
mov dword [rsp + 0x6c], edi
mov ecx, edi
mov dword [rsp + 0x54], ecx
movzx ecx, word [rsp + 0x5c]
mov ebx, ecx
movzx ecx, byte [rsp + 0x31]
mov byte [rsp + 0x33], cl
movzx ecx, byte [rsp + 0x43]
mov byte [rsp + 0x2b], cl
movzx ecx, byte [rsp + 0x32]
mov dword [rsp + 0x34], ecx
movzx ecx, byte [rsp + 0x42]
mov dword [rsp + 0x2c], ecx
test rax, rax
je 0x140087062
lea r13, [0x1401035a8]
lea rbp, [0x1401035d4]
lea r14, [0x1401035bc]
xor r15d, r15d
xor esi, esi
xor edi, edi
movzx ecx, byte [rsp + 0x43]
mov byte [rsp + 0x2b], cl
movzx ecx, byte [rsp + 0x31]
mov byte [rsp + 0x33], cl
xor r12d, r12d
movzx ecx, byte [rsp + 0x42]
mov dword [rsp + 0x2c], ecx
movzx ecx, byte [rsp + 0x32]
mov dword [rsp + 0x34], ecx
movzx ecx, word [rsp + 0x5c]
mov ebx, ecx
mov ecx, dword [rsp + 0x6c]
mov dword [rsp + 0x54], ecx
mov ecx, dword [rsp + 0x68]
mov dword [rsp + 0x48], ecx
mov ecx, dword [rsp + 0x74]
mov dword [rsp + 0x4c], ecx
mov ecx, dword [rsp + 0x70]
mov dword [rsp + 0x44], ecx
mov ecx, dword [rsp + 0x64]
mov dword [rsp + 0x3c], ecx
mov ecx, dword [rsp + 0x60]
mov dword [rsp + 0x38], ecx
mov ecx, dword [rsp + 0x7c]
mov dword [rsp + 0x58], ecx
mov ecx, dword [rsp + 0x78]
mov dword [rsp + 0x50], ecx
jmp 0x140086a56
mov word [rsp + 0x28], r11w
nop word cs:[rax + rax]
lea rcx, [rsp + 0x88]
call fcn.140088520
test rax, rax
je 0x140087062
add byte [rax], al
add byte [rax], al
test rdx, rdx
je 0x140086a40
add rdx, rdx
xor ecx, ecx
movzx r8d, word [rax + rcx]
movzx r9d, r8w
movzx ecx, r15b
movsxd r10, dword [r13 + rcx*4]
add r10, r13
xor ecx, ecx
movzx r11d, word [rsp + 0x28]
jmp r10
or ebx, 8
mov r15b, 4
add rcx, 2
cmp rdx, rcx
jne 0x140086e5d
retf 3
invalid
retf 3
jmp case.default.0x140086d97
cmp r9d, 0x3a
ja case.0x140086ab8.5
mov r15b, 1
mov r10d, r9d
movsxd r10, dword [rbp + r10*4]
add r10, rbp
jmp r10
invalid
loop 0x140086b01
xor r12d, r12d
xor esp, esp
add rcx, 2
cmp rdx, rcx
retf 0x850f
xchg edx, eax
add eax, dword [rax]
invalid
retf 0x850f
jmp case.default.0x140086d97
mov r12b, 2
add rcx, 2
cmp rdx, rcx
jne 0x140086e5d
jge 0x140086ae1
add byte [rax], al
jge 0x140086ae1
add byte [rax], al
jmp case.default.0x140086d97
invalid
mov r12b, 1
mov r15b, 1
add rcx, 2
cmp rdx, rcx
jne 0x140086e5d
add eax, dword [rax]
invalid
add eax, dword [rax]
add cl, ch
invalid
add byte [rax], al
jmp case.default.0x140086d97
mov word [rsp + 0x28], r11w
xor r15d, r15d
mov dword [rsp + 0x50], 0
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x38], eax
mov al, 3
mov dword [rsp + 0x3c], eax
jmp 0x140086a40
mov word [rsp + 0x28], r11w
xor r15d, r15d
inc edi
and al, 0x50
add byte [rax], al
add byte [rax], al
inc edi
and al, 0x50
add byte [rax], al
add byte [rax], al
mov al, 3
mov dword [rsp + 0x3c], eax
mov dword [rsp + 0x44], 0
and al, 0x44
add byte [rax], al
add byte [rax], al
and al, 0x44
add byte [rax], al
add byte [rax], al
mov dword [rsp + 0x48], 0
mov ebx, r8d
mov byte [rsp + 0x2b], 3
sub eax, dword [rbx]
sub eax, dword [rbx]
jmp 0x140086bf9
mov word [rsp + 0x28], r11w
or ebx, 1
xor r15d, r15d
xor edi, edi
xor edi, edi
jmp 0x140086a40
mov word [rsp + 0x28], r11w
pop rsp
and al, 0x28
or ebx, 0x400
retf
add byte [rax], al
add byte [rbp + 0x31], al
invalid
xor r15d, r15d
jmp 0x140086a40
jmp qword [rsi + 0x44]
mov word [rsp + 0x28], r11w
pop rsp
and al, 0x28
or ebx, 2
xor r15d, r15d
xor edi, edi
retf
xor edi, edi
jmp 0x140086a40
mov word [rsp + 0x28], r11w
or ebx, 4
xor r15d, r15d
jmp 0x140086a40
cdq
invalid
invalid
invalid
cdq
invalid
mov word [rsp + 0x28], r11w
or ebx, 0x200
xor r15d, r15d
xor edi, edi
xor edi, edi
jmp 0x140086a40
mov word [rsp + 0x28], r11w
or ebx, 0x800
retf
add byte [rax], cl
add byte [rax], al
add byte [rbp + 0x31], al
invalid
retf
add byte [rbp + 0x31], al
invalid
xor edi, edi
jmp 0x140086a40
jmp qword [rsi + 0x44]
mov word [rsp + 0x28], r11w
pop rsp
and al, 0x28
or ebx, 0x10
retf
xor r15d, r15d
jmp 0x140086a40
invalid
mov word [rsp + 0x28], r11w
xor r15d, r15d
mov dword [rsp + 0x44], 0
mov dword [rsp + 0x4c], eax
mov dword [rsp + 0x34], eax
mov al, 3
mov dword [rsp + 0x2c], eax
jmp 0x140086a40
lea eax, [r8 - 0x1e]
cmp ax, 8
mov word [rsp + 0x28], r11w
and al, 0x28
and al, 0x28
jae 0x140086c4a
add r9d, 0xffffffe2
cmp r9d, 7
ja case.default.0x140086c30
add byte [rax], al
lea rcx, [0x140103720]
or eax, 0x7caf7
add byte [rdx + 0x63], cl
add al, 0x89
movsxd rax, dword [rcx + r9*4]
add rax, rcx
jmp rax
xor r15d, r15d
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x3c], 0
jmp 0x140086a40
mov eax, r8d
and eax, 0xfff8
add byte [rax], al
shl byte [0x140096c4b], 0x66
cmp eax, 0x28
clc
invalid
add byte [rax], al
cmp ax, 0x28
clc
sub byte [rbp + 0x35], dh
jne 0x140086c8d
lea eax, [r9 - 0x28]
cmp eax, 7
ja case.default.0x140086c73
xchg dword [rcx + 6], eax
add byte [rax], al
invalid
xchg dword [rcx + 6], eax
add byte [rax], al
invalid
add byte [rax - 0x73], cl
or eax, 0x7ca94
lea rcx, [0x140103700]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
xor r15d, r15d
mov dword [rsp + 0x34], 0
mov dword [rsp + 0x2c], 0
jmp 0x140086a40
lea eax, [r8 - 0x5a]
cmp ax, 8
jae 0x140086cb8
lea eax, [r9 - 0x5a]
cmp eax, 7
ja case.default.0x140086cb2
lea rcx, [0x1401036e0]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov al, 8
jmp 0x140086d06
add r8d, 0xffffff9c
cmp r8w, 8
jae 0x140086ce4
lea eax, [r9 - 0x64]
cmp eax, 7
ja case.default.0x140086cde
lea rcx, [0x1401036c0]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov al, 8
jmp 0x140086d34
xor r15d, r15d
jmp 0x140086a40
mov al, 1
jmp 0x140086d06
mov al, 2
jmp 0x140086d06
mov al, 3
jmp 0x140086d06
mov al, 4
jmp 0x140086d06
mov al, 5
jmp 0x140086d06
mov al, 6
jmp 0x140086d06
mov al, 7
mov dword [rsp + 0x38], eax
xor r15d, r15d
mov dword [rsp + 0x3c], 0
jmp 0x140086a40
mov al, 1
jmp 0x140086d34
mov al, 2
jmp 0x140086d34
mov al, 3
jmp 0x140086d34
mov al, 4
jmp 0x140086d34
mov al, 5
jmp 0x140086d34
mov al, 6
jmp 0x140086d34
mov al, 7
mov dword [rsp + 0x34], eax
xor r15d, r15d
mov dword [rsp + 0x2c], 0
jmp 0x140086a40
mov al, 9
jmp 0x140086d06
mov al, 0xa
jmp 0x140086d06
mov al, 0xb
jmp 0x140086d06
mov al, 0xc
jmp 0x140086d06
mov al, 0xd
jmp 0x140086d06
mov al, 0xe
jmp 0x140086d06
mov al, 0xf
jmp 0x140086d06
mov al, 9
jmp 0x140086d34
mov al, 0xa
jmp 0x140086d34
mov al, 0xb
jmp 0x140086d34
mov al, 0xc
jmp 0x140086d34
mov al, 0xd
jmp 0x140086d34
mov al, 0xe
jmp 0x140086d34
mov al, 0xf
jmp 0x140086d34
mov r15b, 4
cmp r9d, 5
add eax, 0xfca2870f
invalid
invalid
add eax, 0xfca2870f
invalid
mov r8d, r9d
movsxd r8, dword [r14 + r8*4]
add r8, r14
jmp r8
and ebx, 0xfff7
add rcx, 2
cmp rdx, rcx
jne 0x140086e5d
invalid
add cl, ch
jge case.0x140086e72.10
jmp case.default.0x140086d97
invalid
and ebx, 0xffffff77
or ebx, 0x80
add rcx, 2
cmp rdx, rcx
jne 0x140086e5d
jmp case.default.0x140086d97
and ebx, 0xffffffd7
or ebx, 0x20
add rcx, 2
cmp rdx, rcx
retf 0x6e75
retf 0x6e75
jmp case.default.0x140086d97
add byte [rax], al
add byte [rax], al
and ebx, 0xffffffb7
or ebx, 0x40
jmp case.0x140086d97.1
and ebx, 0xffffffe7
or ebx, 0x10
add rcx, 2
cmp rdx, rcx
jne 0x140086e5d
jmp case.default.0x140086d97
cmp r9d, 2
je 0x140086eb0
mov r15b, 2
cmp r9d, 5
add eax, 0xed850f
add byte [rax], al
add eax, 0xed850f
add byte [rax], al
nop word cs:[rax + rax]
add rcx, 2
cmp rdx, rcx
je case.default.0x140086d97
movzx r8d, word [rax + rcx]
movzx r9d, r8w
movzx r10d, r15b
movsxd r10, dword [r13 + r10*4]
add r10, r13
jmp r10
mov r9d, esi
mov r15b, 3
mov si, 1
test r9w, r9w
je 0x140086ed0
mov si, 1
test di, di
jne 0x140086ee8
mov r11d, r8d
mov di, 1
add rcx, 2
cmp rdx, rcx
jne 0x140086e5d
jmp case.default.0x140086d97
mov r15b, 3
xor edi, edi
xor esi, esi
add rcx, 2
cmp rdx, rcx
jne 0x140086e5d
jmp case.default.0x140086d97
mov word [rsp + 0x5e], r8w
add rcx, 2
cmp rdx, rcx
jne 0x140086e5d
jmp case.default.0x140086d97
mov r15b, 3
mov di, 1
test r12b, r12b
mov word [rsp + 0x28], r11w
je 0x140086f93
movzx eax, r12b
cmp eax, 2
jne 0x140086fb9
mov byte [rsp + 0x2b], 2
mov si, 1
mov eax, r8d
mov dword [rsp + 0x48], eax
mov eax, r11d
mov dword [rsp + 0x54], eax
movzx eax, word [rsp + 0x5e]
mov byte [rsp + 0x33], al
jmp 0x140086a40
mov word [rsp + 0x28], r11w
mov r15b, 1
jmp 0x140086a40
test r12b, r12b
mov word [rsp + 0x28], r11w
je 0x140086fdf
movzx edx, r12b
movzx eax, byte [rsp + 0x50]
movzx ecx, byte [rsp + 0x58]
cmp edx, 1
mov edx, dword [rsp + 0x54]
mov r9d, dword [rsp + 0x4c]
jne 0x140087013
shl eax, 8
or eax, ecx
movzx ecx, byte [rsp + 0x48]
shl ecx, 8
movzx edx, dl
or edx, ecx
mov cl, 1
mov dword [rsp + 0x2c], ecx
mov ecx, eax
mov eax, r8d
mov dword [rsp + 0x34], eax
jmp 0x140087036
mov al, 2
mov dword [rsp + 0x3c], eax
mov si, 1
mov eax, r8d
mov dword [rsp + 0x50], eax
mov eax, r11d
mov dword [rsp + 0x58], eax
movzx eax, word [rsp + 0x5e]
mov dword [rsp + 0x38], eax
jmp 0x140086a40
mov al, 2
mov dword [rsp + 0x2c], eax
mov si, 1
mov eax, r8d
mov dword [rsp + 0x44], eax
mov eax, r11d
mov dword [rsp + 0x4c], eax
movzx eax, word [rsp + 0x5e]
mov dword [rsp + 0x34], eax
jmp 0x140086a40
movzx eax, byte [rsp + 0x44]
shl eax, 8
mov r9d, dword [rsp + 0x4c]
movzx r9d, r9b
or r9d, eax
movzx eax, byte [rsp + 0x48]
shl eax, 8
mov edx, dword [rsp + 0x54]
movzx edx, dl
or edx, eax
mov al, 1
mov dword [rsp + 0x3c], eax
mov eax, r8d
mov dword [rsp + 0x38], eax
jmp 0x140087036
shl eax, 8
or eax, ecx
movzx ecx, byte [rsp + 0x44]
shl ecx, 8
movzx r9d, r9b
or r9d, ecx
mov byte [rsp + 0x2b], 1
mov ecx, eax
mov eax, r8d
mov byte [rsp + 0x33], r8b
mov dword [rsp + 0x58], ecx
shr ecx, 8
mov dword [rsp + 0x50], ecx
mov dword [rsp + 0x4c], r9d
shr r9d, 8
mov dword [rsp + 0x44], r9d
mov dword [rsp + 0x54], edx
shr edx, 8
mov dword [rsp + 0x48], edx
mov r15b, 2
jmp 0x140086a40
mov r13d, dword [rsp + 0x3c]
cmp r13b, 3
mov r9, qword [rsp + 0x80]
jne 0x1400870b6
cmp byte [rsp + 0x64], 3
movzx r10d, byte [rsp + 0x2b]
movzx r11d, byte [rsp + 0x33]
mov r8d, dword [rsp + 0x54]
movzx ecx, byte [rsp + 0x43]
mov edx, dword [rsp + 0x38]
mov esi, dword [rsp + 0x48]
mov edi, dword [rsp + 0x34]
mov r14d, dword [rsp + 0x44]
movzx ebp, byte [rsp + 0x42]
mov r15d, dword [rsp + 0x50]
je 0x140087142
jmp 0x1400871c8
xor eax, eax
mov r12d, dword [rsp + 0x64]
cmp r12b, 3
movzx r10d, byte [rsp + 0x2b]
movzx r11d, byte [rsp + 0x33]
mov r8d, dword [rsp + 0x54]
movzx ecx, byte [rsp + 0x43]
mov edx, dword [rsp + 0x38]
mov esi, dword [rsp + 0x48]
mov edi, dword [rsp + 0x34]
mov r14d, dword [rsp + 0x44]
movzx ebp, byte [rsp + 0x42]
mov r15d, dword [rsp + 0x50]
je 0x1400871ca
cmp r13b, r12b
jne 0x1400871ca
test r12b, r12b
je 0x14008710f
movzx eax, r12b
cmp eax, 1
jne 0x14008711b
cmp dl, byte [rsp + 0x60]
jne 0x1400871c8
jmp 0x140087142
xor eax, eax
cmp dl, byte [rsp + 0x60]
jne 0x1400871ca
mov r12d, dword [rsp + 0x7c]
cmp byte [rsp + 0x58], r12b
jne 0x1400871ca
cmp r15b, byte [rsp + 0x78]
jne 0x1400871ca
cmp byte [rsp + 0x2c], 3
jne 0x140087151
cmp bpl, 3
jne 0x1400871c8
jmp 0x140087191
xor eax, eax
cmp bpl, 3
je 0x1400871ca
cmp byte [rsp + 0x2c], bpl
jne 0x1400871ca
movzx eax, bpl
test eax, eax
je 0x14008716d
cmp eax, 1
jne 0x140087176
cmp dil, byte [rsp + 0x32]
jne 0x1400871c8
jmp 0x140087191
xor eax, eax
cmp dil, byte [rsp + 0x32]
jne 0x1400871ca
mov ebp, dword [rsp + 0x74]
cmp byte [rsp + 0x4c], bpl
jne 0x1400871ca
cmp r14b, byte [rsp + 0x70]
jne 0x1400871ca
cmp r10b, 3
jne 0x1400871a1
cmp cl, 3
jne 0x1400871c8
jmp 0x140087281
xor eax, eax
cmp cl, 3
je 0x1400871ca
cmp r10b, cl
jne 0x1400871ca
movzx eax, cl
test eax, eax
je 0x1400871bd
cmp eax, 1
jne 0x14008725e
cmp r11b, byte [rsp + 0x31]
je 0x140087281
xor eax, eax
test al, al
jne 0x1400871e8
cmp qword [r9 + 0x10], 0
je 0x1400871e8
lea rax, [r9 + 0x18]
mov rcx, qword [rax]
mov rax, qword [rax + 6]
mov qword [r9 + 0x2c], rax
mov qword [r9 + 0x26], rcx
movzx eax, r15b
movzx ecx, byte [rsp + 0x58]
shl eax, 0x18
shl ecx, 0x10
or ecx, eax
movzx eax, dl
shl eax, 8
or eax, ecx
movzx ecx, r13b
or ecx, eax
movzx eax, r14b
shl eax, 8
movzx edx, byte [rsp + 0x4c]
or edx, eax
movzx eax, sil
shl eax, 8
movzx r8d, r8b
or r8d, eax
mov dword [r9 + 0x18], ecx
mov eax, dword [rsp + 0x2c]
mov byte [r9 + 0x1c], al
mov byte [r9 + 0x1d], dil
mov word [r9 + 0x1e], dx
mov byte [r9 + 0x20], r10b
mov byte [r9 + 0x21], r11b
mov word [r9 + 0x22], r8w
mov word [r9 + 0x24], bx
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor eax, eax
cmp r11b, byte [rsp + 0x31]
jne 0x1400871ca
cmp r8b, byte [rsp + 0x6c]
jne 0x1400871ca
cmp sil, byte [rsp + 0x68]
jne 0x1400871ca
cmp bx, word [rsp + 0x5c]
sete al
jmp 0x1400871ca
lea rcx, [0x1401034a7]
lea r8, [0x140103590]
mov edx, 0x2b
call fcn.1400e8dd0
lea rcx, [0x1401034a7]
lea r8, [0x140103578]
mov edx, 0x2b
call fcn.1400e8dd0
lea rcx, [0x1401034a7]
lea r8, [0x140103560]
mov edx, 0x2b
call fcn.1400e8dd0
lea rcx, [0x1401034a7]
lea r8, [0x140103548]
mov edx, 0x2b
call fcn.1400e8dd0
int3