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

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x210
mov qword [rax - 0xa8], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rsi
mov rax, qword [0x14010c598]
xor rax, rsp
mov qword [rsp + 0x200], rax
mov rsi, rdx
mov qword [rsp + 0x48], rdx
mov r14, rcx
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x80], rcx
mov rdi, rcx
mov qword [rsp + 0x188], rcx
mov qword [rsp + 0x1c0], rdx
mov r8, qword [rcx + 8]
xor r15d, r15d
cmp r8, 0x4000
jae 0x140086864
mov qword [rcx + 0x10], r15
mov qword [rcx + 0x18], r15
mov rax, qword [rcx]
test rax, rax
je 0x14008682c
cmp r8, 0x4000
jae 0x140086855
mov rcx, rax
call fcn.1400a76a0
mov qword [r14 + 8], r15
mov qword [r14], r15
mov ecx, 0x10000
call fcn.1400a76c0
mov qword [r14], rax
test rax, rax
je 0x14008685a
mov qword [r14 + 8], 0x10000
test rax, rax
jne 0x140086864
mov eax, 0x8007000e
jmp 0x140087ecd
mov byte [r14 + 0x30], 0
mov r12d, r15d
xor r13b, r13b
mov byte [rsp + 0x30], r13b
mov rax, r15
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x3c], eax
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x90], r15
mov qword [rsp + 0x58], r15
cmp byte [r14 + 0xab], r13b
je 0x140086db2
cmp byte [r14 + 0xac], r13b
je 0x140086db2
mov r8, qword [r14 + 0x68]
add r8, 4
mov edx, dword [r14 + 0x88]
mov rcx, r14
call fcn.140089370
mov byte [r14 + 0x32], r13b
mov eax, dword [r14 + 0x34]
cmp eax, 0x6064b50
jne 0x140086a30
mov byte [r14 + 0xa1], 1
mov rcx, r14
call fcn.140088b90
mov rbx, rax
cmp rax, 0x2c
jb 0x140086a26
movabs rax, 0x4000000000000000
cmp rbx, rax
jae 0x140086a26
lea r9, [rsp + 0x34]
mov r8d, 0x2c
lea rdx, [rsp + 0x1d0]
mov rcx, r14
call fcn.140086600
test eax, eax
jne 0x140087efa
cmp dword [rsp + 0x34], 0x2c
jne 0x140087f1e
cmp dword [rsp + 0x1d4], 0
jne 0x140086a26
cmp dword [rsp + 0x1d8], 0
jne 0x140086a26
cmp qword [rsp + 0x1dc], 0
jne 0x140086a26
cmp qword [rsp + 0x1e4], 0
jne 0x140086a26
cmp qword [rsp + 0x1ec], 0
jne 0x140086a26
cmp qword [rsp + 0x1f4], 0
jne 0x140086a26
lea rdx, [rbx - 0x2c]
xor r8d, r8d
mov rcx, r14
call fcn.140089470
test eax, eax
jne 0x140087ecd
mov rcx, r14
call fcn.140088ac0
cmp dword [r14 + 0x34], 0x7064b50
jne 0x140086a26
lea r9, [rsp + 0x34]
mov r8d, 0x10
lea rdx, [rsp + 0x198]
mov rcx, r14
call fcn.140086600
test eax, eax
jne 0x140087f30
cmp dword [rsp + 0x34], 0x10
jne 0x140087f54
cmp dword [rsp + 0x198], 0
jne 0x140086a26
cmp dword [rsp + 0x1a4], 0
jne 0x140086a26
cmp qword [rsp + 0x19c], 0
jne 0x140086a26
mov rcx, r14
call fcn.140088ac0
mov eax, dword [r14 + 0x34]
cmp eax, 0x6054b50
je 0x140086a3b
mov eax, 1
jmp 0x140087ecd
cmp eax, 0x6054b50
jne 0x140086ae5
lea r9, [rsp + 0x34]
mov r8d, 0x12
lea rdx, [rsp + 0x1a8]
mov rcx, r14
call fcn.140086600
test eax, eax
jne 0x140087f66
cmp dword [rsp + 0x34], 0x12
jne 0x140087f8a
cmp word [rsp + 0x1a8], 0
jne 0x140086a26
cmp word [rsp + 0x1aa], 0
jne 0x140086a26
cmp word [rsp + 0x1ac], 0
jne 0x140086a26
cmp word [rsp + 0x1ae], 0
jne 0x140086a26
cmp dword [rsp + 0x1b0], 0
jne 0x140086a26
cmp dword [rsp + 0x1b4], 0
jne 0x140086a26
mov rax, qword [r14 + 0x60]
mov qword [r14 + 0x58], rax
mov byte [r14 + 0xa0], 1
mov r8, qword [r14 + 0x68]
mov edx, dword [r14 + 0x88]
mov rcx, r14
call fcn.140089370
test eax, eax
jne 0x140087ecd
mov rcx, r14
call fcn.140088ac0
jmp 0x140086e12
lea rcx, [rsp + 0xc8]
call fcn.140003d70
mov qword [rsp + 0xd8], r15
mov qword [rsp + 0xe0], 0
mov dword [rsp + 0xe8], 0
mov qword [rsp + 0xf0], 0
mov qword [rsp + 0x100], r15
mov qword [rsp + 0x108], 0
mov dword [rsp + 0x110], 0
mov qword [rsp + 0x118], r15
mov qword [rsp + 0x120], r15
mov word [rsp + 0x128], 0
mov byte [rsp + 0x134], r13b
lea rdx, [rsp + 0xa0]
mov rcx, r14
call fcn.140088040
test al, al
jne 0x140086bb0
mov rcx, qword [rsp + 0x118]
call fcn.1400c79bc
lea rcx, [rsp + 0x100]
call fcn.140026620
lea rcx, [rsp + 0xd8]
call fcn.140026620
mov rcx, qword [rsp + 0xc8]
call fcn.1400c79bc
mov eax, 1
jmp 0x140087ecd
mov byte [r14 + 0xa0], 1
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x38]
mov rdx, rsi
mov rcx, r14
call fcn.140085f00
mov r12d, eax
test eax, eax
jne 0x140086be7
mov rcx, r14
call fcn.140088ac0
nop
cmp r12d, 1
je 0x140086d65
test r12d, r12d
je 0x140086c32
mov rcx, qword [rsp + 0x118]
call fcn.1400c79bc
lea rcx, [rsp + 0x100]
call fcn.140026620
lea rcx, [rsp + 0xd8]
call fcn.140026620
mov rcx, qword [rsp + 0xc8]
call fcn.1400c79bc
mov eax, r12d
jmp 0x140087ecd
mov edx, dword [rsi + 8]
test edx, edx
jne 0x140086c42
lea r12d, [rdx + 1]
jmp 0x140086d65
mov r10, qword [r14 + 0x68]
mov rax, qword [r14 + 0x58]
cmp r10, rax
jge 0x140086c5a
mov r12d, 1
jmp 0x140086d65
sub r10, rax
mov qword [rsp + 0xf8], r10
mov r8d, r15d
test edx, edx
je 0x140086cca
mov rbx, qword [rsi]
mov r11d, dword [rsp + 0xc0]
nop word [rax + rax]
lea ecx, [rdx + r8]
shr ecx, 1
mov r9, qword [rbx + rcx*8]
cmp r11d, dword [r9 + 0x20]
jae 0x140086c94
mov edx, ecx
jmp 0x140086ca6
ja 0x140086ca2
cmp r10, qword [r9 + 0x58]
je 0x140086cb6
jae 0x140086ca2
mov edx, ecx
jmp 0x140086ca6
lea r8d, [rcx + 1]
cmp r8d, edx
jb 0x140086c80
mov r12d, 1
jmp 0x140086d65
mov rdx, r9
lea rcx, [rsp + 0xa0]
call fcn.1400840e0
test al, al
jne 0x140086cd5
mov r12d, 1
jmp 0x140086d65
mov byte [r14 + 0x8c], 1
mov rax, qword [rsi]
mov rcx, qword [rax]
mov rax, qword [rcx + 0x58]
mov qword [r14 + 0x80], rax
jmp 0x140086d65
mov rcx, qword [rsp + 0x118]
call fcn.1400c79bc
lea rcx, [rsp + 0x100]
call fcn.140026620
lea rcx, [rsp + 0xd8]
call fcn.140026620
mov rcx, qword [rsp + 0xc8]
call fcn.1400c79bc
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x88], rdx
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x70], rcx
jmp 0x140086e0a
mov byte [r14 + 0xa0], 1
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x38]
mov rdx, rsi
mov rcx, r14
call fcn.140085f00
mov r12d, eax
test eax, eax
jne 0x140086dea
mov rcx, r14
call fcn.140088ac0
jmp 0x140086d99
cmp eax, 1
jne 0x140087ecd
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x70], rax
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x3c], eax
mov r13, r15
mov qword [rsp + 0x198], r15
mov ebx, r15d
mov dword [rsp + 0x1a0], ebx
mov dword [rsp + 0x1a4], r15d
mov eax, dword [rsi + 8]
mov dword [rsp + 0x38], eax
mov esi, r15d
mov r14d, r15d
test r12d, r12d
je 0x1400872fc
mov r12, qword [rsp + 0x48]
mov rcx, r12
call fcn.14007d240
mov byte [rsp + 0x30], 1
mov byte [rdi + 0x30], 0
mov qword [rdi + 0x10], r15
mov qword [rdi + 0x18], r15
mov qword [rdi + 0x58], r15
cmp byte [rdi + 0xab], 0
jne 0x140086eb5
cmp byte [rdi + 0xad], 0
jne 0x140086e8a
xor ecx, ecx
call fcn.1400c79bc
mov eax, 1
jmp 0x140087ecd
cmp dword [rdi + 0xd8], 0
jne 0x140086e79
mov r8, qword [rdi + 0x68]
xor edx, edx
mov rcx, rdi
call fcn.140089370
mov esi, eax
test eax, eax
je 0x140086edd
xor ecx, ecx
call fcn.1400c79bc
mov eax, esi
jmp 0x140087ecd
cmp qword [rdi + 0x60], 0
je 0x140086ecc
mov r8, qword [rdi + 0x68]
mov qword [rdi + 0x58], r8
mov edx, dword [rdi + 0x88]
jmp 0x140086e99
mov rax, qword [rsp + 0x60]
mov r8, qword [rax + 0x68]
mov edx, dword [rdi + 0x88]
jmp 0x140086e99
mov qword [rdi + 0x28], r15
mov rcx, rdi
call fcn.140088ac0
mov byte [rdi + 0xa6], 1
mov rdx, r12
mov rcx, rdi
call fcn.1400885b0
mov esi, eax
test eax, eax
jne 0x140086ea7
cmp dword [rdi + 0x34], 0x2014b50
je 0x140086f2a
cmp dword [r12 + 8], eax
je 0x140086e79
mov byte [rdi + 0xa8], 1
mov byte [rdi + 0xa2], 1
xor ecx, ecx
jmp 0x140087ec6
mov byte [rdi + 0x30], 1
mov rcx, qword [rdi + 0x20]
sub rcx, qword [rdi + 0x18]
mov rax, qword [rdi + 0x10]
add rcx, 0xfffffffffffffffc
add rax, rcx
mov qword [rsp + 0x90], rax
mov eax, dword [rdi + 0xc8]
mov dword [rsp + 0x3c], eax
mov rsi, qword [rdi + 0x28]
lea rcx, [rsp + 0xc8]
call fcn.140003d70
mov qword [rsp + 0xd8], r15
mov qword [rsp + 0xe0], 0
mov dword [rsp + 0xe8], 0
mov qword [rsp + 0xf0], 0
mov qword [rsp + 0x100], r15
mov qword [rsp + 0x108], 0
mov dword [rsp + 0x110], 0
mov qword [rsp + 0x118], r15
mov qword [rsp + 0x120], r15
mov word [rsp + 0x128], 0
mov byte [rsp + 0x134], 0
lea rdx, [rsp + 0xa0]
mov rcx, rdi
call fcn.140086030
mov r14d, eax
test eax, eax
jne 0x14008714c
nop dword [rax + rax]
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0x198]
call fcn.140083f80
mov rcx, qword [rdi + 0x50]
test rcx, rcx
je 0x14008705f
mov ebx, dword [rsp + 0x1a0]
test ebx, 0xfff
jne 0x140087066
mov eax, dword [r12 + 8]
mov qword [rsp + 0x50], rax
mov rax, qword [rdi + 0x28]
mov qword [rsp + 0x1c0], rax
mov rax, qword [rcx]
lea r8, [rsp + 0x1c0]
lea rdx, [rsp + 0x50]
mov rax, qword [rax + 0x20]
call qword [case.0x140046c11.0]
mov r12d, eax
test eax, eax
jne 0x1400871e5
mov r12, qword [rsp + 0x48]
jmp 0x140087066
mov ebx, dword [rsp + 0x1a0]
mov rcx, rdi
call fcn.140088ac0
nop
mov rcx, qword [rsp + 0x118]
cmp dword [rdi + 0x34], 0x2014b50
jne 0x140087283
call fcn.1400c79bc
lea rcx, [rsp + 0x100]
call fcn.140026620
lea rcx, [rsp + 0xd8]
call fcn.140026620
mov rcx, qword [rsp + 0xc8]
call fcn.1400c79bc
lea rcx, [rsp + 0xc8]
call fcn.140003d70
mov qword [rsp + 0xd8], r15
mov qword [rsp + 0xe0], 0
mov dword [rsp + 0xe8], 0
mov qword [rsp + 0xf0], 0
mov qword [rsp + 0x100], r15
mov qword [rsp + 0x108], 0
mov dword [rsp + 0x110], 0
mov qword [rsp + 0x118], r15
mov qword [rsp + 0x120], r15
mov word [rsp + 0x128], 0
mov byte [rsp + 0x134], 0
lea rdx, [rsp + 0xa0]
mov rcx, rdi
call fcn.140086030
mov r14d, eax
test eax, eax
je 0x140086ff0
mov r13, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x118]
call fcn.1400c79bc
lea rcx, [rsp + 0x100]
call fcn.140026620
lea rcx, [rsp + 0xd8]
call fcn.140026620
mov rcx, qword [rsp + 0xc8]
call fcn.1400c79bc
nop
test ebx, ebx
je 0x1400871d5
mov eax, ebx
lea rsi, [rax*8]
add rsi, r13
dec ebx
lea rsi, [rsi - 8]
mov rdi, qword [rsi]
test rdi, rdi
je 0x1400871d1
mov rcx, qword [rdi + 0x78]
call fcn.1400c79bc
lea rcx, [rdi + 0x60]
call fcn.140026620
lea rcx, [rdi + 0x38]
call fcn.140026620
mov rcx, qword [rdi + 0x28]
call fcn.1400c79bc
mov edx, 0x98
mov rcx, rdi
call fcn.1400c79bc
test ebx, ebx
jne 0x140087192
mov rcx, r13
call fcn.1400c79bc
mov eax, r14d
jmp 0x140087ecd
mov rcx, qword [rsp + 0x118]
call fcn.1400c79bc
lea rcx, [rsp + 0x100]
call fcn.140026620
lea rcx, [rsp + 0xd8]
call fcn.140026620
mov rcx, qword [rsp + 0xc8]
call fcn.1400c79bc
nop
mov r14, qword [rsp + 0x198]
test ebx, ebx
je 0x140087273
lea rsi, [r14 + rbx*8]
nop word [rax + rax]
dec ebx
lea rsi, [rsi - 8]
mov rdi, qword [rsi]
test rdi, rdi
je 0x14008726f
mov rcx, qword [rdi + 0x78]
call fcn.1400c79bc
lea rcx, [rdi + 0x60]
call fcn.140026620
lea rcx, [rdi + 0x38]
call fcn.140026620
mov rcx, qword [rdi + 0x28]
call fcn.1400c79bc
mov edx, 0x98
mov rcx, rdi
call fcn.1400c79bc
test ebx, ebx
jne 0x140087230
mov rcx, r14
call fcn.1400c79bc
mov eax, r12d
jmp 0x140087ecd
call fcn.1400c79bc
lea rcx, [rsp + 0x100]
call fcn.140026620
lea rcx, [rsp + 0xd8]
call fcn.140026620
mov rcx, qword [rsp + 0xc8]
call fcn.1400c79bc
mov r9, qword [rdi + 0x28]
sub r9, rsi
mov qword [rsp + 0x88], r9
mov dword [rsp + 0x38], ebx
mov rdx, qword [rsp + 0x90]
sub rdx, qword [rdi + 0x58]
mov qword [rsp + 0x70], rdx
mov esi, ebx
mov r14d, ebx
mov r12, qword [rsp + 0x198]
test ebx, ebx
je 0x140087304
mov byte [rdi + 0x8c], 1
mov rax, qword [r12]
mov rcx, qword [rax + 0x58]
mov qword [rdi + 0x80], rcx
jmp 0x140087304
mov r12, qword [rsp + 0x198]
xor ecx, ecx
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x160], rcx
mov qword [rsp + 0x170], rcx
mov qword [rsp + 0x178], rcx
mov qword [rsp + 0x180], rcx
mov qword [rsp + 0x58], r15
xor al, al
mov byte [rsp + 0x31], al
mov rcx, qword [rdi + 0x20]
sub rcx, qword [rdi + 0x18]
mov rax, qword [rdi + 0x10]
add rax, 0xfffffffffffffffc
add rax, rcx
mov qword [rsp + 0x40], rax
mov r13d, 0xffffffff
mov eax, dword [rdi + 0x34]
cmp eax, 0x6064b50
jne 0x1400875bb
mov eax, dword [rdi + 0xc8]
mov dword [rsp + 0x80], eax
mov byte [rsp + 0x31], 1
mov byte [rdi + 0xa1], 1
mov rcx, rdi
call fcn.140088b90
mov r13, rax
lea rcx, [rax - 0x2c]
movabs rax, 0x3fffffffffffffd3
cmp rcx, rax
ja 0x14008755f
lea r9, [rsp + 0x34]
mov r8d, 0x2c
lea rdx, [rsp + 0x1d0]
mov rcx, rdi
call fcn.140086600
test eax, eax
jne 0x140087f9c
cmp dword [rsp + 0x34], 0x2c
jne 0x140087fc0
mov rax, qword [rsp + 0x1e4]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x170], rax
mov rax, qword [rsp + 0x1ec]
mov qword [rsp + 0x178], rax
mov rax, qword [rsp + 0x1f4]
mov qword [rsp + 0x180], rax
lea rdx, [r13 - 0x2c]
mov rcx, qword [rsp + 0x48]
mov r8d, dword [rcx + 8]
mov rcx, rdi
call fcn.140089470
mov esi, eax
test eax, eax
je 0x140087484
test r14d, r14d
je 0x140087475
mov ecx, r14d
lea rdi, [r12 + rcx*8]
nop word [rax + rax]
dec r14d
lea rdi, [rdi - 8]
mov rbx, qword [rdi]
test rbx, rbx
je 0x140087470
mov rcx, qword [rbx + 0x78]
call fcn.1400c79bc
lea rcx, [rbx + 0x60]
call fcn.140026620
lea rcx, [rbx + 0x38]
call fcn.140026620
mov rcx, qword [rbx + 0x28]
call fcn.1400c79bc
mov edx, 0x98
mov rcx, rbx
call fcn.1400c79bc
test r14d, r14d
jne 0x140087430
mov rcx, r12
call fcn.1400c79bc
mov eax, esi
jmp 0x140087ecd
mov rcx, rdi
call fcn.140088ac0
cmp dword [rdi + 0x34], 0x7064b50
je 0x1400874fb
mov byte [rdi + 0xa2], 1
test ebx, ebx
je 0x1400874f3
mov eax, ebx
lea rsi, [r12 + rax*8]
nop word [rax + rax]
dec ebx
lea rsi, [rsi - 8]
mov rdi, qword [rsi]
test rdi, rdi
je 0x1400874ef
mov rcx, qword [rdi + 0x78]
call fcn.1400c79bc
lea rcx, [rdi + 0x60]
call fcn.140026620
lea rcx, [rdi + 0x38]
call fcn.140026620
mov rcx, qword [rdi + 0x28]
call fcn.1400c79bc
mov edx, 0x98
mov rcx, rdi
call fcn.1400c79bc
test ebx, ebx
jne 0x1400874b0
mov rcx, r12
jmp 0x140087ec6
lea r9, [rsp + 0x34]
mov r8d, 0x10
lea rdx, [rsp + 0x1c0]
mov rcx, rdi
call fcn.140086600
test eax, eax
jne 0x140087fd2
cmp dword [rsp + 0x34], 0x10
jne 0x140087ff6
mov rax, qword [rsp + 0x1c4]
mov qword [rsp + 0x58], rax
mov rcx, rdi
call fcn.140088ac0
mov rcx, qword [rsp + 0x60]
mov eax, dword [rcx + 0x34]
mov esi, dword [rsp + 0x1d8]
mov r13d, dword [rsp + 0x80]
mov r14d, dword [rsp + 0x1d4]
jmp 0x1400875ca
mov byte [rdi + 0xa2], 1
test esi, esi
je 0x1400874f3
mov eax, esi
lea rdi, [r12 + rax*8]
dec esi
lea rdi, [rdi - 8]
mov rbx, qword [rdi]
test rbx, rbx
je 0x1400875af
mov rcx, qword [rbx + 0x78]
call fcn.1400c79bc
lea rcx, [rbx + 0x60]
call fcn.140026620
lea rcx, [rbx + 0x38]
call fcn.140026620
mov rcx, qword [rbx + 0x28]
call fcn.1400c79bc
mov edx, 0x98
mov rcx, rbx
call fcn.1400c79bc
test esi, esi
jne 0x140087570
mov rcx, r12
jmp 0x140087ec6
mov esi, dword [rsp + 0x164]
mov r14d, dword [rsp + 0x160]
cmp eax, 0x6054b50
je 0x14008763b
mov byte [rdi + 0xa2], 1
test ebx, ebx
je 0x1400874f3
mov eax, ebx
lea rsi, [r12 + rax*8]
nop word [rax + rax]
dec ebx
lea rsi, [rsi - 8]
mov rdi, qword [rsi]
test rdi, rdi
je 0x14008762f
mov rcx, qword [rdi + 0x78]
call fcn.1400c79bc
lea rcx, [rdi + 0x60]
call fcn.140026620
lea rcx, [rdi + 0x38]
call fcn.140026620
mov rcx, qword [rdi + 0x28]
call fcn.1400c79bc
mov edx, 0x98
mov rcx, rdi
call fcn.1400c79bc
test ebx, ebx
jne 0x1400875f0
mov rcx, r12
jmp 0x140087ec6
mov byte [rdi + 0x32], 0
lea r9, [rsp + 0x34]
mov r8d, 0x12
lea rdx, [rsp + 0x1a8]
mov rcx, rdi
call fcn.140086600
test eax, eax
jne 0x140088008
cmp dword [rsp + 0x34], 0x12
jne 0x14008802c
movzx r11d, byte [rsp + 0x31]
mov ecx, 0xffff
movzx eax, word [rsp + 0x1a8]
test r11b, r11b
je 0x14008768a
cmp ax, cx
je 0x14008768e
movzx r14d, ax
movzx eax, word [rsp + 0x1aa]
test r11b, r11b
je 0x1400876a0
cmp ax, cx
je 0x1400876a3
movzx esi, ax
movzx eax, word [rsp + 0x1ae]
test r11b, r11b
je 0x1400876b5
cmp ax, cx
je 0x1400876c8
movzx r8d, ax
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x170], r8
jmp 0x1400876cd
mov r8, qword [rsp + 0x50]
mov eax, dword [rsp + 0x1b0]
test r11b, r11b
je 0x1400876de
cmp eax, 0xffffffff
je 0x1400876ea
mov ecx, eax
mov qword [rsp + 0x178], rcx
jmp 0x1400876f2
mov rcx, qword [rsp + 0x178]
mov eax, dword [rsp + 0x1b4]
test r11b, r11b
je 0x140087703
cmp eax, 0xffffffff
je 0x14008770f
mov edx, eax
mov qword [rsp + 0x180], rdx
jmp 0x140087717
mov rdx, qword [rsp + 0x180]
mov al, 1
movzx r10d, al
mov r9, qword [rsp + 0x88]
cmp dword [rsp + 0x178], r9d
cmovne r10d, r15d
test r11b, r11b
je 0x140087747
mov eax, dword [rsp + 0x38]
cmp r8, rax
jne 0x140087744
cmp rcx, r9
je 0x140087747
xor r10b, r10b
cmp byte [rdi + 0xad], 0
je 0x140087777
mov ecx, dword [rsp + 0x3c]
mov r13, qword [rsp + 0x40]
cmp ecx, esi
mov rsi, qword [rsp + 0x58]
movzx ecx, byte [rsp + 0x30]
je 0x140087872
mov byte [rdi + 0xa2], 1
jmp 0x140087872
movzx ecx, byte [rsp + 0x30]
test cl, cl
je 0x140087879
test r10b, r10b
je 0x140087885
mov r9, qword [rdi + 0x58]
mov rax, r9
test r11b, r11b
je 0x1400877df
mov rsi, qword [rsp + 0x58]
cmp r13d, dword [rdi + 0xd4]
mov r13, qword [rsp + 0x40]
jne 0x140087839
mov rcx, r13
sub rcx, rsi
cmp rcx, r13
jg 0x140087839
cmp rcx, qword [rdi + 0x68]
jle 0x1400877c6
xor r10b, r10b
jmp 0x140087839
mov qword [rdi + 0x58], rcx
mov rax, qword [rsp + 0x90]
sub rax, rcx
mov qword [rsp + 0x70], rax
mov rax, rcx
jmp 0x140087839
cmp dword [rsp + 0x38], 0
je 0x14008782f
mov ecx, dword [rsp + 0x3c]
cmp ecx, dword [rdi + 0xd4]
jne 0x14008782f
mov rcx, qword [rsp + 0x90]
mov rax, rcx
sub rax, rdx
cmp rax, rcx
jg 0x140087829
cmp rax, qword [rdi + 0x68]
jle 0x14008781e
sub rax, r9
test eax, eax
mov rax, r9
jne 0x14008782c
mov byte [rdi + 0xa9], 1
jmp 0x14008782f
mov qword [rdi + 0x58], rax
mov qword [rsp + 0x70], rdx
jmp 0x14008782f
mov rax, r9
xor r10b, r10b
mov r13, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x58]
sub r9, rax
je 0x14008786d
mov r8d, r15d
mov r11, qword [rsp + 0x48]
cmp dword [r11 + 8], 0
jbe 0x140087867
nop dword [rax]
mov ecx, r8d
mov rax, qword [r11]
mov rdx, qword [rax + rcx*8]
add qword [rdx + 0x58], r9
inc r8d
cmp r8d, dword [r11 + 8]
jb 0x140087850
movzx r11d, byte [rsp + 0x31]
movzx ecx, byte [rsp + 0x30]
test r10b, r10b
jne 0x140087896
jmp 0x14008788f
mov rsi, qword [rsp + 0x58]
mov r13, qword [rsp + 0x40]
jmp 0x140087872
mov rsi, qword [rsp + 0x58]
mov r13, qword [rsp + 0x40]
mov byte [rdi + 0xa2], 1
mov dword [rdi + 0xb0], r14d
cmp byte [rdi + 0xad], 0
jne 0x140087923
test r14d, r14d
jne 0x1400878d6
cmp byte [rdi + 0xd2], r14b
je 0x1400878d6
cmp byte [rdi + 0xce], r14b
je 0x1400878d6
mov dword [rdi + 0x100], r15d
mov rax, qword [rdi + 0xf8]
mov word [rax], r15w
mov byte [rdi + 0xd2], r14b
test cl, cl
je 0x14008791c
cmp dword [rdi + 0xb0], 0
je 0x14008791c
mov r8d, r15d
mov r9, qword [rsp + 0x48]
cmp dword [r9 + 8], 0
jbe 0x14008791c
nop dword [rax]
nop word [rax + rax]
mov ecx, r8d
mov rax, qword [r9]
mov rdx, qword [rax + rcx*8]
mov eax, dword [rdi + 0xb0]
mov dword [rdx + 0x20], eax
inc r8d
cmp r8d, dword [r9 + 8]
jb 0x140087900
mov byte [rdi + 0xae], 1
test r11b, r11b
je 0x1400879db
test r14d, r14d
jne 0x14008793d
mov rcx, qword [rdi + 0x58]
add rcx, rsi
cmp r13, rcx
jne 0x140087975
mov eax, dword [rsp + 0x38]
cmp qword [rsp + 0x50], rax
jne 0x140087975
mov rax, qword [rsp + 0x178]
cmp rax, qword [rsp + 0x88]
jne 0x140087975
mov rax, qword [rsp + 0x180]
mov r8, qword [rsp + 0x48]
cmp rax, qword [rsp + 0x70]
je 0x1400879e0
cmp dword [r8 + 8], 0
je 0x1400879e0
mov byte [rdi + 0xa2], 1
test ebx, ebx
je 0x1400874f3
mov eax, ebx
lea rsi, [r12 + rax*8]
nop word [rax + rax]
dec ebx
lea rsi, [rsi - 8]
mov rdi, qword [rsi]
test rdi, rdi
je 0x1400879cf
mov rcx, qword [rdi + 0x78]
call fcn.1400c79bc
lea rcx, [rdi + 0x60]
call fcn.140026620
lea rcx, [rdi + 0x38]
call fcn.140026620
mov rcx, qword [rdi + 0x28]
call fcn.1400c79bc
mov edx, 0x98
mov rcx, rdi
call fcn.1400c79bc
test ebx, ebx
jne 0x140087990
mov rcx, r12
jmp 0x140087ec6
mov r8, qword [rsp + 0x48]
test r10b, r10b
je 0x140087d74
test ebx, ebx
je 0x140087d74
mov rdx, r15
mov qword [rsp + 0x60], rdx
mov r14d, r15d
mov dword [rsp + 0x68], r15d
mov eax, r15d
mov dword [rsp + 0x80], eax
mov dword [rsp + 0x6c], eax
mov r12d, r15d
mov dword [rsp + 0x34], r15d
mov byte [rdi + 0xa7], 1
mov eax, r15d
mov dword [rsp + 0x3c], eax
mov rcx, qword [rdi + 0x50]
test rcx, rcx
je 0x140087a6b
test eax, 0x3fff
jne 0x140087a6b
mov eax, dword [r8 + 8]
add eax, r14d
mov qword [rsp + 0x1c0], rax
mov rax, qword [rcx]
lea r8, [rdi + 0x28]
lea rdx, [rsp + 0x1c0]
mov rax, qword [rax + 0x20]
call qword [case.0x140046c11.0]
mov esi, eax
test eax, eax
jne 0x140087cd0
mov eax, dword [rsp + 0x3c]
mov r13, qword [rsp + 0x198]
mov rsi, qword [r13 + rax*8]
cmp r12d, 0xffffffff
je 0x140087ad8
mov rdx, qword [rsp + 0x48]
cmp r12d, dword [rdx + 8]
jae 0x140087ad8
mov ecx, r12d
mov rax, qword [rdx]
mov rdx, qword [rax + rcx*8]
mov eax, dword [rsi + 0x20]
cmp dword [rdx + 0x20], eax
jne 0x140087b61
mov rax, qword [rdx + 0x58]
mov rcx, qword [rsi + 0x58]
cmp rax, rcx
je 0x140087ac4
cmp byte [rdi + 0xa9], 0
je 0x140087b61
mov eax, eax
cmp rax, rcx
jne 0x140087b61
mov eax, r12d
inc r12d
mov dword [rsp + 0x34], r12d
cmp eax, 0xffffffff
jne 0x140087b8e
mov r12, 0xffffffffffffffff
mov rdx, rsi
mov rcx, qword [rsp + 0x48]
call fcn.140084bc0
cmp eax, 0xffffffff
jne 0x140087b8e
mov ecx, dword [rsp + 0x80]
cmp r14d, ecx
jne 0x140087b72
mov eax, ecx
shr eax, 2
inc ecx
add ecx, eax
mov dword [rsp + 0x80], ecx
mov eax, 4
mul rcx
cmovo rax, r12
mov rcx, rax
call fcn.1400c79c4
mov rsi, rax
mov r12, qword [rsp + 0x60]
test r14d, r14d
je 0x140087b44
mov r8d, r14d
shl r8, 2
mov rdx, r12
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rcx, r12
call fcn.1400c79bc
mov rdx, rsi
mov qword [rsp + 0x60], rdx
mov eax, dword [rsp + 0x80]
mov dword [rsp + 0x6c], eax
jmp 0x140087b77
mov r12, 0xffffffffffffffff
mov dword [rsp + 0x34], r12d
jmp 0x140087adf
mov rdx, qword [rsp + 0x60]
mov eax, r14d
mov ecx, dword [rsp + 0x3c]
mov dword [rdx + rax*4], ecx
inc r14d
mov dword [rsp + 0x68], r14d
jmp 0x140087cac
mov ecx, eax
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov r14, qword [rax + rcx*8]
lea rdx, [rsi + 0x28]
lea rcx, [r14 + 0x28]
call fcn.14002bc10
test al, al
jne 0x140087ca2
mov rax, qword [rsi + 0x10]
cmp qword [r14 + 0x10], rax
jne 0x140087ca2
mov rax, qword [rsi + 8]
cmp qword [r14 + 8], rax
jne 0x140087ca2
mov rdx, rsi
mov rcx, r14
call fcn.140085070
test al, al
je 0x140087ca2
mov eax, dword [rsi + 0x1c]
cmp dword [r14 + 0x1c], eax
jne 0x140087ca2
movzx eax, word [rsi + 0x50]
mov word [r14 + 0x50], ax
lea rdx, [rsi + 0x60]
lea rcx, [r14 + 0x60]
call fcn.140083e30
movzx eax, word [rsi + 0x52]
mov word [r14 + 0x52], ax
mov eax, dword [rsi + 0x54]
mov dword [r14 + 0x54], eax
lea r13, [rsi + 0x78]
lea r12, [r14 + 0x78]
cmp r13, r12
je 0x140087c80
mov rax, qword [r13]
mov qword [rsp + 0x1c0], rax
mov r13, qword [r13 + 8]
cmp r13, qword [r12 + 8]
je 0x140087c6c
mov rcx, qword [r12]
test rcx, rcx
je 0x140087c49
call fcn.1400c79bc
mov qword [r12], r15
mov qword [r12 + 8], r15
test r13, r13
je 0x140087c80
mov rcx, r13
call fcn.1400c79c4
mov qword [r12], rax
mov qword [r12 + 8], r13
mov rax, qword [rsp + 0x1c0]
test r13, r13
je 0x140087c80
mov r8, r13
mov rdx, rax
mov rcx, qword [r12]
call sub.VCRUNTIME140.dll_memcpy
movzx eax, byte [rsi + 0x89]
mov byte [r14 + 0x89], al
mov r14d, dword [rsp + 0x68]
mov r13, qword [rsp + 0x198]
mov rdx, qword [rsp + 0x60]
jmp 0x140087cb3
mov r14d, dword [rsp + 0x68]
mov rdx, qword [rsp + 0x60]
mov byte [rdi + 0xa2], 1
mov eax, dword [rsp + 0x3c]
inc eax
mov dword [rsp + 0x3c], eax
cmp eax, ebx
jae 0x140087d33
mov r12d, dword [rsp + 0x34]
mov r8, qword [rsp + 0x48]
jmp 0x140087a25
mov rcx, qword [rsp + 0x60]
call fcn.1400c79bc
nop
mov r13, qword [rsp + 0x198]
dec ebx
mov rdi, qword [r13 + rbx*8]
test rdi, rdi
je 0x140087d20
mov rcx, qword [rdi + 0x78]
call fcn.1400c79bc
lea rcx, [rdi + 0x60]
call fcn.140026620
lea rcx, [rdi + 0x38]
call fcn.140026620
mov rcx, qword [rdi + 0x28]
call fcn.1400c79bc
mov edx, 0x98
mov rcx, rdi
call fcn.1400c79bc
test ebx, ebx
jne 0x140087ce3
mov rcx, r13
call fcn.1400c79bc
mov eax, esi
jmp 0x140087ecd
test r14d, r14d
je 0x140087d66
mov rsi, rdx
mov rdi, qword [rsp + 0x48]
mov eax, dword [rsi]
mov rdx, qword [r13 + rax*8]
mov rcx, rdi
call fcn.140083f80
lea rsi, [rsi + 4]
sub r14, 1
jne 0x140087d40
mov rdi, qword [rsp + 0x188]
mov rdx, qword [rsp + 0x60]
mov rcx, rdx
call fcn.1400c79bc
movzx r11d, byte [rsp + 0x31]
movzx eax, word [rsp + 0x1ac]
movzx edx, word [rsp + 0x1ae]
cmp dx, ax
jae 0x140087d90
mov byte [rdi + 0xa2], 1
cmp word [rsp + 0x1a8], 0
jne 0x140087da7
cmp dx, ax
je 0x140087da7
mov byte [rdi + 0xa2], 1
mov rsi, qword [rsp + 0x48]
test r11b, r11b
je 0x140087dd5
mov ecx, dword [rsi + 8]
cmp qword [rsp + 0x50], rcx
jne 0x140087dcc
movzx eax, dx
cmp eax, ecx
je 0x140087e09
mov eax, 0xffff
cmp dx, ax
je 0x140087e09
mov byte [rdi + 0xa2], 1
jmp 0x140087e09
movzx eax, dx
cmp eax, dword [rsi + 8]
jbe 0x140087de4
mov byte [rdi + 0xa2], 1
mov ecx, dword [rsp + 0x38]
cmp qword [rsp + 0x50], rcx
je 0x140087e09
cmp word [rsp + 0x170], cx
je 0x140087e02
mov byte [rdi + 0xa2], 1
jmp 0x140087e09
mov byte [rdi + 0xaa], 1
movzx r8d, word [rsp + 0x1b8]
lea rdx, [rdi + 0x90]
mov rcx, rdi
call fcn.140085e40
mov byte [rdi + 0x30], 0
mov eax, dword [rsp + 0x38]
cmp word [rsp + 0x170], ax
jne 0x140087e58
mov rax, qword [rsp + 0x88]
cmp dword [rsp + 0x178], eax
jne 0x140087e58
mov rax, qword [rsp + 0x70]
cmp dword [rsp + 0x180], eax
je 0x140087e5f
cmp dword [rsi + 8], 0
je 0x140087e5f
mov byte [rdi + 0xa2], 1
mov r13, qword [rsp + 0x198]
test ebx, ebx
je 0x140087ec3
mov eax, ebx
lea rsi, [rax*8]
add rsi, r13
nop dword [rax + rax]
dec ebx
lea rsi, [rsi - 8]
mov rdi, qword [rsi]
test rdi, rdi
je 0x140087ebf
mov rcx, qword [rdi + 0x78]
call fcn.1400c79bc
lea rcx, [rdi + 0x60]
call fcn.140026620
lea rcx, [rdi + 0x38]
call fcn.140026620
mov rcx, qword [rdi + 0x28]
call fcn.1400c79bc
mov edx, 0x98
mov rcx, rdi
call fcn.1400c79bc
test ebx, ebx
jne 0x140087e80
mov rcx, r13
call fcn.1400c79bc
xor eax, eax
mov rcx, qword [rsp + 0x200]
xor rcx, rsp
call fcn.1400c7aa0
lea r11, [rsp + 0x210]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov edx, eax
lea rcx, [rsp + 0x144]
call fcn.140012340
lea rdx, [0x140109da8]
lea rcx, [rsp + 0x144]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
lea rdx, [0x140109ee8]
lea rcx, [rsp + 0x78]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
mov edx, eax
lea rcx, [rsp + 0x140]
call fcn.140012340
lea rdx, [0x140109da8]
lea rcx, [rsp + 0x140]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
lea rdx, [0x140109ee8]
lea rcx, [rsp + 0x79]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
mov edx, eax
lea rcx, [rsp + 0x150]
call fcn.140012340
lea rdx, [0x140109da8]
lea rcx, [rsp + 0x150]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
lea rdx, [0x140109ee8]
lea rcx, [rsp + 0x7a]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
mov edx, eax
lea rcx, [rsp + 0x14c]
call fcn.140012340
lea rdx, [0x140109da8]
lea rcx, [rsp + 0x14c]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
lea rdx, [0x140109ee8]
lea rcx, [rsp + 0x7b]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
mov edx, eax
lea rcx, [rsp + 0x148]
call fcn.140012340
lea rdx, [0x140109da8]
lea rcx, [rsp + 0x148]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
lea rdx, [0x140109ee8]
lea rcx, [rsp + 0x7c]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
mov edx, eax
lea rcx, [rsp + 0x154]
call fcn.140012340
lea rdx, [0x140109da8]
lea rcx, [rsp + 0x154]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
lea rdx, [0x140109ee8]
lea rcx, [rsp + 0x7d]
call sub.VCRUNTIME140.dll__CxxThrowException
int3