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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
mov ebp, 1
movsxd rax, r8d
mov r13, rcx
mov r15, rdx
mov rbx, rax
mov r12, rax
shl rbx, 4
sub rbx, rax
shl rbx, 5
add rbx, qword [rcx + 0x188]
mov dword [rbx], 0
movzx eax, byte [rdx + 3]
sub eax, 3
test al, 0xfd
je 0x14001c4b6
movzx eax, byte [rdx + 5]
xor ebp, ebp
sub eax, 3
test al, 0xfd
sete bpl
movzx r10d, byte [r15 + 1]
test r10b, r10b
jne 0x14001c680
mov dword [rsp + 0x58], 0
mov r10d, dword [rbx + 0x2c]
xor r14d, r14d
movzx r8d, byte [r15]
test r8b, r8b
je 0x14001c4f4
or dword [rbx], 0x10000
cmp r8b, 0x81
je 0x14001c738
test ebp, ebp
je 0x14001c770
mov r8d, dword [rbx + 0x10]
mov edx, r10d
mov rcx, r13
mov edi, 0xffffffff
call fcn.14001c210
test rax, rax
mov rsi, rax
setne r14b
mov dword [rsp + 0x20], ebp
mov r9, rbx
mov r8, rsi
mov edx, edi
mov rcx, r13
call fcn.14001c2f0
cmp byte [r15 + 1], 0
je 0x14001c536
test r14b, r14b
jne 0x14001c5f0
movzx eax, byte [r15 + 2]
test al, al
jne 0x14001c632
mov r9, r15
mov r8d, r12d
mov rdx, rbx
mov rcx, r13
mov dword [rsp + 0x20], 1
call fcn.140021300
mov r9, r15
mov r8d, r12d
mov rdx, rbx
mov dword [rsp + 0x20], 0
mov rcx, r13
call fcn.140021300
mov dword [rsp + 0x20], ebp
mov r9, rbx
mov r8, rsi
mov edx, edi
mov rcx, r13
call fcn.14001c3e0
test rsi, rsi
je 0x14001c5da
test edi, edi
jns 0x14001c650
mov eax, dword [rbx]
test ah, 1
je 0x14001c5bf
test byte [r13 + 0xa80], 4
jne 0x14001c5ae
test byte [r13 + 0x20], 2
je 0x14001c5ba
mov edx, dword [rbx + 0xe0]
add dword [rbx + 0xdc], edx
and ah, 0xfe
mov dword [rbx], eax
mov eax, dword [rsp + 0x58]
test eax, eax
je 0x14001c5da
test dword [rbx], 0x1000
jne 0x14001c5da
cmp byte [rbx + 0x5c], 0
jne 0x14001c5da
mov eax, dword [rsi]
mov dword [rbx + 0x4c], eax
xor eax, eax
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
movsxd rax, dword [rbx + 0x2c]
cmp eax, dword [r13 + 0x5dc]
jae 0x14001c625
imul rax, rax, 0x308
add rax, qword [r13 + 0x608]
mov edx, dword [rax + 0x24]
test edx, edx
jle 0x14001c625
and dword [rbx + 8], 0xffffffef
mov qword [rbx + 0x60], 0xffffffffffffffff
mov dword [rbx + 0x68], 0xffffffff
movzx eax, byte [r15 + 2]
test al, al
je 0x14001c878
sub eax, 1
or dword [rbx], 0x1000
and dword [rbx + 4], 0xfffffffe
mov dword [rbx + 0x4c], eax
jmp 0x14001c543
pxor xmm2, xmm2
mov dword [rbx + 0xc], edi
mov edx, r12d
mov rcx, r13
cvtsi2sd xmm2, dword [rbx + 0xdc]
call fcn.1400189e0
mov eax, dword [rbx]
test ah, 1
je 0x14001c5bf
jmp 0x14001c59d
and dword [rbx + 8], 0xfffffbfc
sub r10d, 1
mov dword [rbx + 0x44], 0x10000
mov qword [rbx], 0x800
mov dword [rbx + 0xdc], 0
cmp dword [r13 + 0x5dc], r10d
jbe 0x14001c710
movsxd r9, r10d
imul r9, r9, 0x308
add r9, qword [r13 + 0x608]
mov r8d, dword [r9 + 0x24]
test r8d, r8d
jle 0x14001c710
movzx r8d, byte [r15]
mov edx, r10d
mov rcx, r13
sub r8d, 1
call fcn.14001c210
test ebp, ebp
je 0x14001c8c8
mov r10d, dword [rbx + 0x2c]
test rax, rax
je 0x14001c920
cmp byte [rbx + 0x5c], 0
jne 0x14001c910
mov eax, dword [rax]
mov dword [rsp + 0x58], 0
xor r14d, r14d
mov dword [rbx + 0x4c], eax
jmp 0x14001c4d3
mov edx, r12d
mov rcx, r13
mov r14d, 1
call fcn.1400183e0
mov dword [rsp + 0x58], 1
mov r10d, dword [rbx + 0x2c]
jmp 0x14001c4d3
or dword [rbx + 8], 0x402
mov r8d, dword [rbx + 0x10]
mov edx, r10d
mov rcx, r13
mov edi, 0xffffffff
call fcn.14001c210
mov dword [rsp + 0x58], 0
test rax, rax
mov rsi, rax
setne r14b
jmp 0x14001c512
lea edi, [r8 - 1]
cmp edi, 0x78
jg 0x14001c4f4
and dword [rbx + 8], 0xfffffffb
mov r8d, edi
mov edx, r10d
mov rcx, r13
mov dword [rbx + 0x10], edi
xor r14d, 1
call fcn.14001c210
test rax, rax
mov rsi, rax
setne al
and r14b, al
je 0x14001c900
movsxd rax, r10d
movsxd rdx, edi
mov r9d, dword [rsi + 0x28]
add edi, dword [rsi + 0xc]
imul rax, rax, 0x308
add rax, qword [r13 + 0x608]
movsx eax, byte [rax + rdx*2 + 0x201]
mov edx, dword [r13 + 0x5e0]
add edi, eax
cmp edx, r9d
jbe 0x14001c512
movsxd r8, r9d
mov rcx, qword [r13 + 0x610]
lea rax, [r8*8]
sub rax, r8
lea rax, [rcx + rax*8]
cmp qword [rax + 0x30], 0
je 0x14001c512
mov eax, r9d
not eax
shr eax, 0x1f
cmp edx, r9d
setg dl
test dl, al
je 0x14001c512
mov dword [rsp + 0x40], 0
mov r8d, r10d
mov edx, r12d
mov rcx, r13
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], edi
mov dword [rsp + 0x5c], r9d
call fcn.140018710
mov r9d, dword [rsp + 0x5c]
mov edx, dword [rbx + 0x2c]
mov rcx, r13
mov r8d, dword [rbx + 0x10]
mov dword [rbx + 0x34], r9d
call fcn.14001c210
test rax, rax
mov rsi, rax
setne r14b
jmp 0x14001c512
mov r9, r15
mov r8d, r12d
mov rdx, rbx
mov rcx, r13
mov dword [rsp + 0x20], 1
call fcn.140021300
mov r9, r15
mov r8d, r12d
mov rdx, rbx
mov dword [rsp + 0x20], 0
mov rcx, r13
call fcn.140021300
mov dword [rsp + 0x20], ebp
mov r9, rbx
mov r8, rsi
mov edx, edi
mov rcx, r13
call fcn.14001c3e0
jmp 0x14001c58e
mov edx, dword [r9 + 0x28]
mov dword [rbx + 0x2c], r10d
mov dword [rbx + 0x48], edx
test rax, rax
je 0x14001c930
mov r14d, dword [r13 + 0xa80]
mov dword [rsp + 0x58], 1
and r14d, 4
je 0x14001c4d3
mov eax, dword [rax + 0x10]
xor r14d, r14d
mov dword [rbx + 0x28], eax
jmp 0x14001c4d3
mov dword [rbx], 0
mov r8d, edi
jmp 0x14001c743
mov dword [rsp + 0x58], 0
xor r14d, r14d
jmp 0x14001c4d3
mov dword [rsp + 0x58], ebp
xor r14d, r14d
jmp 0x14001c4d3
mov dword [rsp + 0x58], 1
xor r14d, r14d
jmp 0x14001c4d3
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xa8
mov rbx, qword [rcx + 0x188]
movsxd r14, r8d
mov r13, rdx
movzx edx, byte [rdx + 1]
mov r12, rcx
mov rsi, r14
mov r15, r14
shl rsi, 4
sub rsi, r14
shl rsi, 5
add rbx, rsi
test dl, dl
je 0x14001cab5
movzx eax, dl
mov dword [rbx + 0x30], eax
mov eax, dword [rbx + 8]
test al, 0x20
je 0x14001cac2
or eax, 4
mov dword [rbx + 8], eax
cmp dword [r12 + 0x5d8], r15d
jle 0x14001cb10
mov ebp, dword [r12 + 0xa84]
cmp ebp, 2
je 0x14001d080
cmp ebp, 3
je 0x14001d2d0
cmp ebp, 1
je 0x14001cc68
mov r8d, r15d
mov rdx, r13
mov rcx, r12
add rsp, 0xa8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp 0x14001c460
test dl, dl
jne 0x14001cb30
mov dword [rbx], 0
xor eax, eax
add rsp, 0xa8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
and dword [rbx + 8], 0xfffffbfc
lea esi, [rdx - 1]
mov rcx, r12
mov qword [rbx], 0x800
mov edx, esi
mov dword [rbx + 0xdc], 0
call fcn.140028ac0
mov r11, rax
test rax, rax
je 0x14001cb63
mov eax, dword [rax + 0x28]
mov dword [rbx + 0x48], eax
or dword [rbx], 0x10000
mov edx, dword [rbx + 8]
mov dword [rbx + 0x2c], esi
movzx eax, byte [r13]
cmp al, 0x81
je 0x14001e260
cmp al, 0x83
je 0x14001e3d0
cmp al, 0x82
je 0x14001e81d
lea r9d, [rax - 1]
mov eax, dword [r12 + 0x5dc]
and edx, 0xfffffffb
mov dword [rbx + 0x44], 0x10000
mov dword [rbx + 0x10], r9d
mov dword [rbx + 8], edx
cmp esi, eax
jl 0x14001db20
add eax, dword [r12 + 0x26c4]
cmp esi, eax
jge 0x14001db20
mov rbp, qword [r11 + 0x2f8]
test rbp, rbp
je 0x14001cb1a
movsxd rcx, dword [rbp + 0x28]
mov r10, qword [r12 + 0x26d8]
mov edi, dword [rbp + 0xc]
lea rax, [rcx*8]
mov rdx, rcx
sub rax, rcx
add edi, r9d
lea rax, [r10 + rax*8]
mov r11d, dword [rax + 0x20]
test r11d, r11d
je 0x14001dba0
test ecx, ecx
js 0x14001dba0
cmp ecx, dword [r12 + 0x26c8]
jge 0x14001dba0
add edx, dword [r12 + 0x5e0]
mov r14d, edx
mov dword [rsp + 0x40], 0
mov r9d, r14d
mov r8d, esi
mov edx, r15d
mov dword [rsp + 0x38], 0
mov rcx, r12
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], edi
call fcn.140018710
mov dword [rbx + 0x34], r14d
jmp 0x14001dba0
mov eax, dword [r12 + 0x10]
cmp dword [r12 + 0xc], eax
jge 0x14001cb1a
mov r9, qword [r13]
mov rax, r9
mov qword [rsp + 0x98], r9
shr rax, 0x10
mov qword [rsp + 0x70], rax
test r9d, 0xff0000
je 0x14001cca0
and byte [rbx + 0xfa], 0x7f
movzx eax, r9b
mov dword [rbx], 0
mov dword [rsp + 0x60], eax
mov rax, r9
movzx eax, ah
mov r10, rax
mov eax, r9d
movzx edi, ah
mov rax, r9
shr rax, 0x18
mov r11d, eax
cmp al, 0x14
je 0x14001e080
sub eax, 3
test al, 0xfd
jne 0x14001e050
mov dword [rsp + 0x5c], 1
xor r13d, r13d
mov byte [rsp + 0x6c], 1
mov byte [rsp + 0x80], 1
test edi, edi
je 0x14001da18
mov eax, dword [r12 + 0x5dc]
lea ecx, [rdi - 1]
mov dword [rsp + 0x68], eax
cmp ecx, eax
jae 0x14001dc10
movzx eax, r10b
mov rsi, qword [r12 + 0x608]
imul rax, rax, 0x308
mov qword [rsp + 0x78], rsi
mov eax, dword [rsi + rax - 0x2e4]
test eax, eax
jle 0x14001dc10
mov esi, dword [rsp + 0x60]
test esi, esi
je 0x14001e340
xor eax, eax
cmp esi, 0x80
jg 0x14001e340
mov edx, dword [rbx + 8]
or ah, 8
mov dword [rbx + 4], 0
mov dword [rbx], eax
mov eax, edx
and edx, 0xfffffb7d
mov dword [rbx + 0x44], 0x10000
and eax, 0xfffffb7c
test r13d, r13d
cmove edx, eax
mov dword [rbx + 8], edx
cmp dword [rsp + 0x68], ecx
jbe 0x14001e1c0
movsxd rax, edi
imul rax, rax, 0x308
add rax, qword [r12 + 0x608]
mov eax, dword [rax - 0x2e4]
test eax, eax
jle 0x14001e1c0
mov eax, dword [rsp + 0x5c]
xor r13d, r13d
test eax, eax
jne 0x14001cdb6
mov dword [rbx + 0x2c], ecx
mov byte [rbx + 0xfa], 0x20
test edi, edi
je 0x14001e5ec
mov eax, dword [rsp + 0x60]
lea r8d, [rax - 1]
cmp r8d, 0x7f
ja 0x14001e330
mov esi, dword [rbx + 0x2c]
mov rcx, r12
mov dword [rsp + 0x60], r8d
mov edx, esi
call fcn.14001c210
mov r8d, dword [rsp + 0x60]
test rax, rax
je 0x14001e790
mov ecx, dword [rax]
lea rdx, [r14 + r14*2]
mov edx, dword [r12 + rdx*4 + 0x618]
mov dword [rbx + 0x4c], ecx
test byte [r12 + 0xa81], 0x10
jne 0x14001ce48
add edx, 0xffffff80
mov eax, dword [rax + 8]
mov ecx, edx
sar ecx, 0x1f
add eax, 0xffffff80
mov r9d, ecx
xor r9d, edx
sub ecx, r9d
sub ecx, 0xffffff80
imul ecx, eax
test ecx, ecx
lea eax, [rcx + 0x7f]
cmovns eax, ecx
sar eax, 7
lea eax, [rdx + rax + 0x80]
mov dword [rbx + 0x170], eax
movsxd rax, esi
imul rax, rax, 0x308
add rax, qword [r12 + 0x608]
mov eax, dword [rax + 0x28]
mov dword [rbx + 0x48], eax
mov edi, dword [rsp + 0x5c]
or dword [rbx], 0x11000
test edi, edi
je 0x14001e568
test r13d, r13d
jne 0x14001eee5
mov byte [rsp + 0x68], 1
mov ebp, dword [rsp + 0x5c]
mov r14d, 0xffffffff
mov edi, 0xffffffff
mov edx, esi
cmp edi, 0x78
ja 0x14001da31
mov rcx, r12
mov r8d, r14d
mov dword [rsp + 0x60], esi
call fcn.14001c210
mov rcx, rax
test rax, rax
je 0x14001eefd
movsxd rax, esi
movsxd r9, r14d
mov r8d, dword [rcx + 0xc]
mov rdx, rax
imul rax, rax, 0x308
add rax, qword [r12 + 0x608]
movsx edi, byte [rax + r9*2 + 0x201]
add r8d, r14d
lea r10, [r9 + 0x100]
add edi, r8d
lea r9d, [rdi - 0xc]
cmp r9d, 0x76
jbe 0x14001e4c0
and dword [rbx], 0xfffeffff
mov r14d, dword [rbx + 0x10]
xor r13d, r13d
mov edi, 0xffffffff
mov byte [rsp + 0x80], 0
nop
mov r8d, r14d
mov rcx, r12
mov r9, rbx
call fcn.14001c210
mov rcx, r12
mov edx, edi
mov rsi, rax
mov eax, dword [rsp + 0x5c]
mov r8, rsi
mov dword [rsp + 0x20], eax
call fcn.14001c2f0
test rsi, rsi
movzx ecx, byte [rsp + 0x6c]
setne r14b
test byte [rsp + 0x68], cl
je 0x14001cf51
test r14b, r14b
jne 0x14001dd50
movzx eax, byte [rsp + 0x9a]
test al, al
je 0x14001cf74
sub eax, 1
or dword [rbx], 0x1000
mov dword [rbx + 0x4c], eax
mov eax, dword [rbx + 8]
test al, 4
jne 0x14001dd38
mov dword [rbx + 0xdc], 0
mov r8d, r15d
mov rdx, rbx
mov rcx, r12
mov dword [rsp + 0x20], 1
lea r9, [rsp + 0x98]
mov qword [rsp + 0x60], r9
call fcn.140021300
mov r9, qword [rsp + 0x60]
mov r8d, r15d
mov rdx, rbx
mov dword [rsp + 0x20], 0
mov rcx, r12
call fcn.140021300
cmp byte [rsp + 0x80], 0
jne 0x14001e0c0
test r13b, r13b
je 0x14001da50
test r14b, r14b
je 0x14001da50
movsd xmm0, qword [0x1400a55c0]
comisd xmm0, xmmword [rbx + 0x18]
ja 0x14001cff5
mov r13d, dword [rsp + 0x5c]
test r13d, r13d
jne 0x14001d00d
movsd xmm3, qword [rbx + 0x20]
mov r8d, dword [rbx + 0x28]
mov edx, edi
mov rcx, r12
call fcn.140018be0
movsd qword [rbx + 0x18], xmm0
mov dword [rbx + 0xc], edi
mov edx, dword [rbx + 0xdc]
test byte [r12 + 0xa83], 4
je 0x14001d045
movsxd rcx, dword [rsi + 0x28]
mov rdi, qword [r12 + 0x610]
lea rax, [rcx*8]
sub rax, rcx
lea rax, [rdi + rax*8]
cmp dword [rax + 0x20], edx
jle 0x14001e6b0
pxor xmm2, xmm2
mov rcx, r12
cvtsi2sd xmm2, edx
mov edx, r15d
call fcn.1400189e0
test ebp, ebp
je 0x14001cb1a
test dword [rbx], 0x1000
jne 0x14001cb1a
mov eax, dword [rsi]
mov dword [rbx + 0x4c], eax
jmp 0x14001cb1a
mov dword [rbx], 0
movzx eax, byte [r13 + 3]
mov edi, 1
sub eax, 3
test al, 0xfd
je 0x14001d0a7
movzx eax, byte [r13 + 5]
xor edi, edi
sub eax, 3
test al, 0xfd
sete dil
mov edx, r15d
mov rcx, r12
call fcn.1400183b0
mov r11d, dword [rbx + 0x2c]
test eax, eax
js 0x14001d9c0
movzx edx, byte [r13 + 1]
test dl, dl
je 0x14001d8f0
or dword [rbx], 0x800
sub edx, 1
and dword [rbx + 8], 0xfffffbfc
mov dword [rbx + 0x44], 0x10000
mov dword [rbx + 4], 0
mov dword [rbx + 0xdc], 0
cmp dword [r12 + 0x5dc], edx
jbe 0x14001d140
movsxd rax, edx
imul rax, rax, 0x308
add rax, qword [r12 + 0x608]
mov esi, dword [rax + 0x24]
test esi, esi
jle 0x14001d140
cmp edx, r11d
je 0x14001e784
test edi, edi
jne 0x14001e79c
mov eax, dword [rax + 0x28]
mov dword [rbx + 0x2c], edx
mov r11d, edx
mov ebp, 1
mov edx, 1
mov dword [rbx + 0x48], eax
jmp 0x14001d14a
mov dword [rbx], 0
xor ebp, ebp
xor edx, edx
movzx eax, byte [r13]
test al, al
je 0x14001d850
or dword [rbx], 0x10000
cmp al, 0x81
je 0x14001e140
test edi, edi
jne 0x14001dd10
lea r8d, [rax - 1]
cmp r8d, 0x78
jg 0x14001d850
and dword [rbx + 8], 0xfffffffb
mov edx, r11d
mov rcx, r12
mov dword [rbx + 0x10], r8d
mov dword [rsp + 0x5c], r8d
call fcn.14001c210
mov r8d, dword [rsp + 0x5c]
test rax, rax
mov rsi, rax
je 0x14001ec07
movsxd rax, r11d
movsxd rdx, r8d
mov r9d, dword [rsi + 0x28]
add r8d, dword [rsi + 0xc]
imul rax, rax, 0x308
add rax, qword [r12 + 0x608]
movsx r14d, byte [rax + rdx*2 + 0x201]
mov edx, dword [r12 + 0x5e0]
add r14d, r8d
cmp edx, r9d
jbe 0x14001d211
movsxd rcx, r9d
mov r10, qword [r12 + 0x610]
lea rax, [rcx*8]
sub rax, rcx
lea rax, [r10 + rax*8]
cmp qword [rax + 0x30], 0
je 0x14001d211
mov eax, r9d
not eax
shr eax, 0x1f
cmp r9d, edx
setl dl
test dl, al
jne 0x14001ee6e
mov r9, rbx
mov r8, rsi
mov edx, r14d
mov rcx, r12
mov dword [rsp + 0x20], 0
call fcn.14001c2f0
cmp byte [r13 + 1], 0
je 0x14001d271
nop dword [rax]
movsxd rax, dword [rbx + 0x2c]
cmp eax, dword [r12 + 0x5dc]
jae 0x14001d271
imul rax, rax, 0x308
add rax, qword [r12 + 0x608]
mov r8d, dword [rax + 0x24]
test r8d, r8d
jle 0x14001d271
and dword [rbx + 8], 0xffffffef
mov qword [rbx + 0x60], 0xffffffffffffffff
mov dword [rbx + 0x68], 0xffffffff
movzx eax, byte [r13 + 2]
test al, al
jne 0x14001d9a8
mov r9, r13
mov r8d, r15d
mov rdx, rbx
mov rcx, r12
mov dword [rsp + 0x20], 1
call fcn.140021300
mov r9, r13
mov r8d, r15d
mov rdx, rbx
mov dword [rsp + 0x20], 0
mov rcx, r12
call fcn.140021300
mov dword [rsp + 0x20], edi
mov r9, rbx
mov r8, rsi
mov edx, r14d
mov rcx, r12
call fcn.14001c3e0
jmp 0x14001d95d
mov rax, qword [r13]
mov r13d, dword [r12 + 0xa80]
movzx edi, ah
mov qword [rsp + 0x98], rax
movzx ebp, al
mov edx, dword [rbx + 0x2c]
test dil, dil
je 0x14001d768
mov dword [rbx + 0x1c4], 0
mov dword [rbx], 0
test r13d, 0x800000
je 0x14001d7b8
cmp al, 0x81
jne 0x14001d7b8
movzx r9d, dil
mov r8d, dword [r12 + 0x5dc]
mov dword [rsp + 0x5c], 0
lea ecx, [r9 - 1]
cmp ecx, r8d
jae 0x14001d35d
movzx ecx, dil
imul rcx, rcx, 0x308
add rcx, qword [r12 + 0x608]
mov ecx, dword [rcx - 0x2e4]
test ecx, ecx
setg cl
movzx ecx, cl
mov dword [rsp + 0x5c], ecx
test dil, dil
je 0x14001e28b
shr rax, 0x18
mov dword [rsp + 0x70], 0
movzx edi, byte [rsp + 0x99]
mov ecx, eax
sub eax, 3
and eax, 0xfffffffd
mov r8d, dword [rbx + 8]
mov r14d, edx
test al, al
je 0x14001dd98
movzx eax, byte [rsp + 0x9d]
sub eax, 3
test al, 0xfd
je 0x14001dd98
mov dword [rsp + 0x68], 0
xor r11d, r11d
and r8d, 3
setne r11b
xor r10d, r10d
test dil, dil
je 0x14001de40
movzx edi, dil
sub edi, 1
test ebp, ebp
jne 0x14001dfd0
test r11d, r11d
je 0x14001dfd0
test r10d, r10d
je 0x14001e580
test r13d, 0x400000
jne 0x14001e310
mov eax, dword [rbx + 8]
and eax, 0x40
mov dword [rsp + 0x78], eax
jne 0x14001e310
cmp edx, edi
je 0x14001dff6
nop dword [rax]
or dword [rbx], 0x800
mov dword [rsp + 0x80], 1
mov dword [rbx + 4], 0
and r13d, 0x8000
cmp dword [r12 + 0x5dc], edi
jbe 0x14001def8
movsxd rax, edi
imul rax, rax, 0x308
add rax, qword [r12 + 0x608]
mov r11d, dword [rax + 0x24]
test r11d, r11d
jle 0x14001def8
test ebp, ebp
jne 0x14001e690
mov eax, dword [rbx + 8]
test ah, 1
jne 0x14001eae5
test r13d, r13d
jne 0x14001d47d
test al, 4
jne 0x14001edef
cmp edi, dword [rbx + 0x2c]
je 0x14001ddce
and eax, 0xffffffbf
mov ecx, dword [rbx + 0x10]
mov dword [rbx + 8], eax
lea ebp, [rcx + 1]
test r10d, r10d
je 0x14001e7c4
test byte [r12 + 0xa82], 0x40
je 0x14001ebb7
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x60], r10d
mov dword [rsp + 0x6c], eax
nop word [rax + rax]
test ebp, ebp
je 0x14001ddf0
mov ecx, dword [rbx]
mov edx, dword [rbx + 8]
mov eax, ecx
or eax, 0x10000
mov dword [rbx], eax
mov eax, edx
or eax, 0x40
mov dword [rbx + 8], eax
cmp ebp, 0x83
je 0x14001e108
cmp ebp, 0x82
je 0x14001e730
cmp ebp, 0x81
je 0x14001e448
mov r8d, dword [rsp + 0x70]
test r8d, r8d
jne 0x14001ddf0
lea r9d, [rbp - 1]
test r10d, r10d
je 0x14001e83d
mov ebp, edx
and ebp, 4
or ebp, dword [rsp + 0x6c]
jne 0x14001eb19
cmp r9d, 0x78
ja 0x14001d536
mov dword [rbx + 0x6c], r9d
mov dword [rsp + 0x6c], 0
movzx edx, byte [rsp + 0x99]
mov r13d, 0xffffffff
nop dword [rax]
test byte [r12 + 0xa82], 0x40
je 0x14001e040
test dl, dl
jne 0x14001e5a8
mov ecx, dword [r12 + 0x5dc]
mov edi, r10d
cmp ecx, r14d
jbe 0x14001d5ea
nop word [rax + rax]
movsxd rax, r14d
mov r8, qword [r12 + 0x608]
imul rax, rax, 0x308
add rax, r8
mov r9d, dword [rax + 0x24]
test r9d, r9d
jle 0x14001d5dc
mov r9d, dword [rbx + 0x2c]
cmp r9d, r14d
je 0x14001d5d2
cmp r9d, ecx
jae 0x14001d5d2
movsxd rcx, r9d
imul rcx, rcx, 0x308
mov ecx, dword [r8 + rcx + 0x24]
test ecx, ecx
jle 0x14001d5d2
and dword [rbx + 8], 0xffffffef
mov qword [rbx + 0x60], 0xffffffffffffffff
mov dword [rbx + 0x68], 0xffffffff
mov eax, dword [rax + 0x28]
mov dword [rbx + 0x2c], r14d
mov dword [rbx + 0x48], eax
test dl, dl
je 0x14001d5ea
test byte [rbx + 8], 0x10
jne 0x14001e160
mov r14d, dword [rsp + 0x80]
test r14d, r14d
je 0x14001d60f
cmp byte [rsp + 0x98], 0
je 0x14001d608
and dword [rbx + 8], 0xffffff7c
mov dword [rbx + 0x44], 0x10000
test ebp, ebp
je 0x14001d624
cmp byte [rsp + 0x98], 0
je 0x14001d624
and dword [rbx + 8], 0xfffffbff
mov ecx, dword [rsp + 0x5c]
test dword [rsp + 0x6c], ecx
jne 0x14001df30
mov edx, dword [rbx + 0x2c]
mov r8d, dword [rbx + 0x10]
mov rcx, r12
mov r9, rbx
call fcn.14001c210
mov dword [rsp + 0x20], edi
mov edx, r13d
mov rcx, r12
mov rsi, rax
mov r8, rax
call fcn.14001c2f0
test rsi, rsi
je 0x14001df60
test r13d, r13d
js 0x14001d6b2
mov eax, dword [rsi + 8]
test eax, eax
js 0x14001d67e
mov dword [rbx + 0x170], eax
mov dword [rbx + 0x180], 0
mov eax, dword [rbx + 8]
test al, 8
jne 0x14001e218
mov r11d, dword [rsp + 0x68]
test r11d, r11d
je 0x14001d69e
test byte [r12 + 0xa82], 0x40
je 0x14001d6ac
mov rdx, rbx
mov rcx, r12
call fcn.14001c280
mov eax, dword [rbx + 8]
and eax, 0xfffffff7
mov dword [rbx + 8], eax
movzx eax, byte [rsp + 0x9a]
test al, al
jne 0x14001de70
and dword [rbx + 0xdc], 0xffff0000
mov r8d, r15d
mov rdx, rbx
mov rcx, r12
mov dword [rsp + 0x20], 0
lea rbp, [rsp + 0x98]
mov r9, rbp
call fcn.140021300
mov r9, rbp
mov r8d, r15d
mov rdx, rbx
mov dword [rsp + 0x20], 1
mov rcx, r12
call fcn.140021300
mov dword [rsp + 0x20], edi
mov r9, rbx
mov r8, rsi
mov edx, r13d
mov rcx, r12
call fcn.14001c3e0
test r13d, r13d
js 0x14001de28
mov dword [rbx + 0xc], r13d
pxor xmm2, xmm2
mov edx, r15d
mov rcx, r12
cvtsi2sd xmm2, dword [rbx + 0xdc]
call fcn.1400189e0
mov r9d, dword [rsp + 0x60]
test r9d, r9d
je 0x14001cb1a
mov eax, dword [rbx]
and eax, 0x1000
jne 0x14001cb1a
mov edx, dword [rsi]
mov dword [rbx + 0x4c], edx
jmp 0x14001cb1c
test al, al
je 0x14001da70
mov ecx, dword [rbx + 0x1c4]
mov dword [rsp + 0x5c], ecx
test ecx, ecx
je 0x14001e270
mov byte [rsp + 0x99], cl
mov dword [rbx + 0x1c4], 0
mov dword [rbx], 0
test r13d, 0x800000
je 0x14001d7aa
cmp al, 0x81
je 0x14001eb65
test cl, cl
je 0x14001da76
mov edi, ecx
nop dword [rax]
mov ecx, dword [r12 + 0x5dc]
movzx edi, dil
cmp edi, ecx
jg 0x14001db10
lea r8d, [rax - 1]
cmp r8b, 0x78
ja 0x14001db10
lea r14d, [rdi - 1]
cmp r14d, ecx
jge 0x14001d81f
movsxd rcx, r14d
lea r8d, [rbp - 1]
imul rcx, rcx, 0x308
movsxd r8, r8d
add rcx, qword [r12 + 0x608]
movzx ecx, byte [rcx + r8*2 + 0x200]
cmp ecx, 0xff
je 0x14001eb3c
cmp ecx, dword [r12 + 0x5e0]
jge 0x14001eb3c
shr rax, 0x18
mov dword [rsp + 0x5c], 0
movzx edi, byte [rsp + 0x99]
mov ecx, eax
sub eax, 3
mov dword [rsp + 0x70], 0
and eax, 0xfffffffd
jmp 0x14001d382
mov r8d, dword [rbx + 0x10]
mov r14d, 0xffffffff
mov edx, r11d
mov rcx, r12
mov r9, rbx
call fcn.14001c210
mov dword [rsp + 0x20], edi
mov edx, r14d
mov rcx, r12
mov r8, rax
mov rsi, rax
call fcn.14001c2f0
cmp byte [r13 + 1], 0
je 0x14001d900
test rsi, rsi
jne 0x14001d238
movzx eax, byte [r13 + 2]
test al, al
jne 0x14001d9a8
mov r9, r13
mov r8d, r15d
mov rdx, rbx
mov rcx, r12
mov dword [rsp + 0x20], 1
call fcn.140021300
mov r9, r13
mov r8d, r15d
mov rdx, rbx
mov dword [rsp + 0x20], 0
mov rcx, r12
call fcn.140021300
mov dword [rsp + 0x20], edi
mov r9, rbx
xor r8d, r8d
mov edx, r14d
mov rcx, r12
call fcn.14001c3e0
jmp 0x14001cb1a
xor ebp, ebp
xor edx, edx
jmp 0x14001d14a
movzx eax, byte [r13 + 2]
test al, al
jne 0x14001d9a8
mov r9, r13
mov r8d, r15d
mov rdx, rbx
mov rcx, r12
mov dword [rsp + 0x20], 1
call fcn.140021300
mov r9, r13
mov r8d, r15d
mov rdx, rbx
mov dword [rsp + 0x20], 0
mov rcx, r12
call fcn.140021300
mov dword [rsp + 0x20], edi
mov r9, rbx
mov r8, rsi
mov edx, r14d
mov rcx, r12
call fcn.14001c3e0
test rsi, rsi
je 0x14001cb1a
test r14d, r14d
js 0x14001d97d
pxor xmm2, xmm2
mov dword [rbx + 0xc], r14d
mov edx, r15d
mov rcx, r12
cvtsi2sd xmm2, dword [rbx + 0xdc]
call fcn.1400189e0
mov edx, dword [r12 + 0xa80]
and edx, 0x10
test ebp, ebp
je 0x14001d9e0
mov eax, dword [rbx]
and eax, 0x1000
je 0x14001d75a
test edx, edx
je 0x14001cb1a
jmp 0x14001d9f4
sub eax, 1
or dword [rbx], 0x1000
mov dword [rbx + 0x4c], eax
jmp 0x14001d90d
movzx eax, byte [r13 + 1]
mov edx, eax
sub eax, 1
cmp r11d, eax
mov eax, 0
cmovne edi, eax
jmp 0x14001d0c3
test edx, edx
je 0x14001cb1a
test dword [rbx], 0x1000
je 0x14001cb1a
mov eax, dword [rbx + 0x4c]
imul eax, dword [r12 + 0x148]
cdq
idiv dword [r12 + 0xa64]
mov dword [rbx + 0x4c], eax
xor eax, eax
jmp 0x14001cb1c
mov byte [rsp + 0x68], 0
xor ebp, ebp
xor r13d, r13d
mov esi, dword [rsp + 0x60]
test esi, esi
jne 0x14001e2a6
mov esi, dword [rbx + 0x2c]
mov r14d, dword [rbx + 0x10]
mov edx, esi
xor r13d, r13d
mov edi, 0xffffffff
mov byte [rsp + 0x80], 0
jmp 0x14001cf10
test rsi, rsi
je 0x14001cb1a
test edi, edi
js 0x14001d058
jmp 0x14001d00d
mov dword [rbx], 0
lea ecx, [rax - 1]
cmp cl, 0x78
ja 0x14001dae8
mov ecx, dword [rbx + 0x30]
mov r9d, dword [r12 + 0x5dc]
sub ecx, 1
cmp r9d, ecx
jbe 0x14001e0e0
movsxd r8, ecx
imul r8, r8, 0x308
add r8, qword [r12 + 0x608]
mov r14d, dword [r8 + 0x24]
test r14d, r14d
jle 0x14001e0e0
cmp ecx, r9d
jge 0x14001dae8
lea ecx, [rbp - 1]
movsxd rcx, ecx
movzx ecx, byte [r8 + rcx*2 + 0x200]
cmp ecx, 0xff
je 0x14001ec3d
cmp ecx, dword [r12 + 0x5e0]
jge 0x14001ec3d
nop word [rax + rax]
shr rax, 0x18
mov dword [rsp + 0x5c], 0
mov ecx, eax
sub eax, 3
mov dword [rsp + 0x70], 0
and eax, 0xfffffffd
jmp 0x14001d382
mov dword [rsp + 0x5c], 0
jmp 0x14001d366
cmp r9d, 0x78
ja 0x14001cb1a
mov r8d, r9d
mov edx, esi
mov rcx, r12
call fcn.14001c210
mov rbp, rax
test rax, rax
je 0x14001cb1a
mov edi, dword [rax + 0xc]
mov r14d, dword [rax + 0x28]
mov edx, dword [r12 + 0x5e0]
add edi, r9d
movsxd r9, r9d
movsx r9d, byte [r11 + r9*2 + 0x201]
add edi, r9d
cmp edx, r14d
jbe 0x14001dba0
movsxd rcx, r14d
mov r9, qword [r12 + 0x610]
lea rax, [rcx*8]
sub rax, rcx
lea rax, [r9 + rax*8]
cmp qword [rax + 0x30], 0
je 0x14001dba0
mov eax, r14d
cmp r14d, edx
not eax
setl dl
shr eax, 0x1f
test dl, al
jne 0x14001cc23
mov dword [rsp + 0x20], 0
mov r9, rbx
mov r8, rbp
mov edx, edi
mov rcx, r12
call fcn.14001c2f0
mov r9, rbx
mov r8, rbp
mov edx, edi
mov dword [rsp + 0x20], 0
mov rcx, r12
call fcn.14001c3e0
cmp byte [r13 + 1], 0
jne 0x14001e6c0
movzx eax, byte [r13 + 2]
pxor xmm2, xmm2
mov dword [rbx + 0xc], edi
mov edx, r15d
cvtsi2sd xmm2, dword [rbx + 0xdc]
mov rcx, r12
sub eax, 1
mov dword [rbx + 0x4c], eax
call fcn.1400189e0
xor eax, eax
jmp 0x14001cb1c
xor eax, eax
xor edi, edi
cmp dword [rsp + 0x60], 0x83
lea ecx, [rdi - 1]
jne 0x14001cd52
or eax, 0x10000
xor ebp, ebp
xor r13d, r13d
mov dword [rbx], eax
or dword [rbx + 8], 1
test edi, edi
mov r14d, 0x82
mov edi, 0x82
setne byte [rsp + 0x68]
test r10b, r10b
jne 0x14001dc78
movsxd rax, dword [rbx + 0x30]
lea edx, [rax - 1]
cmp edx, dword [r12 + 0x5dc]
jae 0x14001dc81
imul rax, rax, 0x308
add rax, qword [r12 + 0x608]
mov r8d, dword [rax - 0x2e4]
test r8d, r8d
jle 0x14001dc81
test r13d, r13d
je 0x14001eb11
mov edx, r15d
mov rcx, r12
call fcn.1400183e0
mov esi, dword [rbx + 0x2c]
cmp edi, 0x78
ja 0x14001da31
mov edx, esi
mov rcx, r12
mov r8d, r14d
call fcn.14001c210
mov edx, dword [rbx + 8]
mov dword [rbx + 0x10], r14d
mov dword [rbx + 0x44], 0x10000
mov ecx, edx
and ecx, 0xfffffffb
mov dword [rbx + 8], ecx
test rax, rax
je 0x14001dce8
movsxd rax, esi
imul rax, rax, 0x308
add rax, qword [r12 + 0x608]
test byte [rax + 0x2c], 1
jne 0x14001dce8
and edx, 0xfffffbf8
mov dword [rbx + 8], edx
nop dword [rax]
mov dword [rbx], 0
mov edx, esi
xor r13d, r13d
xor ebp, ebp
mov byte [rsp + 0x80], 0
mov edi, 0xffffffff
jmp 0x14001cf10
mov r8d, dword [rbx + 0x10]
mov r14d, 0xffffffff
test edx, edx
je 0x14001d85a
mov dword [rbx + 0xdc], 0
jmp 0x14001d85a
and eax, 0xfffffbfc
mov dword [rbx + 0x44], 0x10000
mov dword [rbx + 8], eax
jmp 0x14001cf74
movsxd rax, dword [rbx + 0x2c]
cmp eax, dword [r12 + 0x5dc]
jae 0x14001cf51
imul rax, rax, 0x308
add rax, qword [r12 + 0x608]
mov eax, dword [rax + 0x24]
test eax, eax
jle 0x14001cf51
and dword [rbx + 8], 0xffffffef
mov qword [rbx + 0x60], 0xffffffffffffffff
mov dword [rbx + 0x68], 0xffffffff
jmp 0x14001cf51
xor r11d, r11d
test r8b, 3
pxor xmm0, xmm0
setne r11b
comisd xmm0, xmmword [rbx + 0x18]
jae 0x14001ddbe
mov eax, r8d
and eax, 4
mov dword [rsp + 0x68], eax
je 0x14001e1e0
mov dword [rsp + 0x68], 0
xor r10d, r10d
jmp 0x14001d3ba
and eax, 0xffffffbf
or dword [rbx], 0x800
mov dword [rbx + 8], eax
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x60], 1
mov dword [rsp + 0x6c], eax
nop word [rax + rax]
movzx edx, byte [rsp + 0x99]
xor ebp, ebp
mov r13d, 0xffffffff
mov edi, dword [rsp + 0x5c]
or edi, r10d
jne 0x14001d550
mov ecx, dword [r12 + 0x5dc]
cmp ecx, r14d
jbe 0x14001d5dc
jmp 0x14001d580
mov r10d, dword [rsp + 0x68]
test r10d, r10d
je 0x14001d73f
jmp 0x14001d728
mov dword [rsp + 0x60], 0
mov dword [rsp + 0x80], 0
mov dword [rsp + 0x78], 0
mov dword [rsp + 0x6c], 0
jmp 0x14001d4c0
test byte [rbx + 8], 8
je 0x14001de80
cmp byte [rsp + 0x99], 0
je 0x14001de8c
sub eax, 1
or dword [rbx], 0x1000
mov dword [rbx + 0x4c], eax
and dword [rbx + 0xdc], 0xffff0000
mov r8d, r15d
mov rdx, rbx
mov rcx, r12
mov dword [rsp + 0x20], 0
lea rbp, [rsp + 0x98]
mov r9, rbp
call fcn.140021300
mov r9, rbp
mov r8d, r15d
mov rdx, rbx
mov dword [rsp + 0x20], 1
mov rcx, r12
call fcn.140021300
mov dword [rsp + 0x20], edi
mov r9, rbx
mov r8, rsi
mov edx, r13d
mov rcx, r12
call fcn.14001c3e0
test rsi, rsi
jne 0x14001d71b
jmp 0x14001cb1a
test r13d, r13d
jne 0x14001df04
mov dword [rbx + 0x4c], 0
mov eax, dword [rsp + 0x78]
mov dword [rbx], 0
mov dword [rsp + 0x60], 0
mov dword [rsp + 0x6c], eax
mov dword [rsp + 0x70], 1
jmp 0x14001d4c0
or dword [rbx], 0x800
pxor xmm2, xmm2
mov edx, r15d
mov rcx, r12
call fcn.1400189e0
and dword [rbx + 8], 0xfffffb7c
mov dword [rbx + 0x44], 0x10000
jmp 0x14001d632
movzx eax, byte [rsp + 0x9a]
test al, al
jne 0x14001de70
and dword [rbx + 0xdc], 0xffff0000
mov r8d, r15d
mov rdx, rbx
mov rcx, r12
mov dword [rsp + 0x20], 0
lea rsi, [rsp + 0x98]
mov r9, rsi
call fcn.140021300
mov r9, rsi
mov r8d, r15d
mov rdx, rbx
mov dword [rsp + 0x20], 1
mov rcx, r12
call fcn.140021300
mov dword [rsp + 0x20], edi
mov r9, rbx
xor r8d, r8d
mov edx, r13d
mov rcx, r12
call fcn.14001c3e0
xor eax, eax
jmp 0x14001cb1c
mov dword [rsp + 0x78], 0
test r10d, r10d
je 0x14001d410
cmp edx, edi
jne 0x14001d410
test r13d, 0x400000
jne 0x14001d410
lea r9d, [rbp - 1]
mov r8d, edi
mov edx, r15d
mov rcx, r12
mov dword [rsp + 0x60], r11d
call fcn.14001c940
test eax, eax
je 0x14001ec67
mov r11d, dword [rsp + 0x60]
test r11d, r11d
je 0x14001ef11
mov dword [rsp + 0x78], 0
mov r10d, r11d
mov dword [rsp + 0x80], 0
jmp 0x14001d421
mov edi, r10d
jmp 0x14001de0d
mov byte [rsp + 0x6c], 1
xor r13d, r13d
mov rax, r9
shr rax, 0x28
sub eax, 3
test al, 0xfd
sete al
sete byte [rsp + 0x80]
movzx eax, al
mov dword [rsp + 0x5c], eax
jmp 0x14001ccf2
mov rax, r9
shr rax, 0x20
test al, al
jne 0x14001e050
movzx eax, byte [rsp + 0x70]
mov rdx, r9
shr rdx, 0x28
or eax, r10d
or al, dl
jne 0x14001e3dd
mov byte [rsp + 0x6c], 0
mov r13d, 1
mov dword [rsp + 0x60], 0
jmp 0x14001e05f
movsd xmm3, qword [rbx + 0x20]
mov r8d, dword [rbx + 0x28]
mov edx, edi
mov rcx, r12
call fcn.140018be0
movsd qword [rbx + 0x150], xmm0
jmp 0x14001cfca
shr rax, 0x18
mov dword [rsp + 0x5c], 0
mov ecx, eax
sub eax, 3
mov dword [rsp + 0x70], 1
and eax, 0xfffffffd
jmp 0x14001d382
or edx, 0x41
mov dword [rsp + 0x60], 0
xor ebp, ebp
mov r13d, 0xffffffff
mov dword [rbx + 8], edx
movzx edx, byte [rsp + 0x99]
mov dword [rsp + 0x80], 0
jmp 0x14001de00
or dword [rbx + 8], 0x402
mov r8d, dword [rbx + 0x10]
xor ebp, ebp
mov r14d, 0xffffffff
jmp 0x14001d85a
mov edx, r14d
mov rcx, r12
call fcn.140028ac0
test rax, rax
je 0x14001e17f
mov eax, dword [rax + 0x2c]
and eax, 0x21
cmp eax, 0x21
je 0x14001e804
movsxd rax, dword [rbx + 0x2c]
cmp eax, dword [r12 + 0x5dc]
jae 0x14001d5ea
imul rax, rax, 0x308
add rax, qword [r12 + 0x608]
mov eax, dword [rax + 0x24]
test eax, eax
jle 0x14001d5ea
and dword [rbx + 8], 0xffffffef
mov dword [rbx + 0x60], 0xffffffff
jmp 0x14001d5ea
mov r13d, dword [rsp + 0x5c]
mov dword [rbx], 0
test r13d, r13d
jne 0x14001e5d0
mov r13d, 1
jmp 0x14001cdb6
mov r10d, 1
cmp cl, 9
jne 0x14001d3ba
mov dword [rsp + 0x68], 1
test r13d, 0x400000
jne 0x14001d3ba
and r8d, 0xffffffef
mov dword [rbx + 8], r8d
jmp 0x14001d3ba
movsxd rdx, dword [rbx + 0x2c]
cmp edx, dword [r12 + 0x5dc]
jae 0x14001d6ac
imul rdx, rdx, 0x308
add rdx, qword [r12 + 0x608]
mov ebp, dword [rdx + 0x24]
test ebp, ebp
jle 0x14001d6ac
mov qword [rbx + 0x60], 0xffffffffffffffff
and eax, 0xffffffef
mov dword [rbx + 0x68], 0xffffffff
jmp 0x14001d6ac
or edx, 0x402
xor eax, eax
mov dword [rbx + 8], edx
jmp 0x14001cb1c
mov dword [rbx], 0
test r13d, 0x800000
je 0x14001da76
cmp al, 0x81
jne 0x14001da76
shr rax, 0x18
mov dword [rsp + 0x70], 0
xor edi, edi
mov ecx, eax
sub eax, 3
and eax, 0xfffffffd
jmp 0x14001d382
or dword [rbx], 0x10000
cmp dword [rsp + 0x60], 0x81
jne 0x14001ef47
cmp byte [rsp + 0x70], 0
mov eax, dword [r12 + 0x5dc]
mov esi, dword [rbx + 0x2c]
jne 0x14001e600
cmp r11b, 0xc
je 0x14001e600
cmp r11b, 0xe
je 0x14001ec7a
cmp eax, esi
ja 0x14001ef24
test r10b, r10b
jne 0x14001ecf1
or dword [rbx + 8], 0x402
mov edi, pe_nt_image_headers64
mov r14d, pe_nt_image_headers64
xor ebp, ebp
jmp 0x14001dc4c
mov rdx, rbx
mov rcx, r12
call fcn.14001c280
mov dword [rsp + 0x78], 0
xor r10d, r10d
jmp 0x14001d410
mov byte [rsp + 0x68], 1
jmp 0x14001da22
mov esi, dword [rbx + 0x2c]
mov r8d, dword [rbx + 0x10]
mov rcx, r12
mov edx, esi
call fcn.14001c210
mov rdx, rax
xor eax, eax
test rdx, rdx
je 0x14001dc14
mov ecx, dword [rdx]
lea rax, [r14 + r14*2]
mov eax, dword [r12 + rax*4 + 0x618]
mov dword [rbx + 0x4c], ecx
test byte [r12 + 0xa81], 0x10
jne 0x14001e3b0
add eax, 0xffffff80
mov edx, dword [rdx + 8]
mov ecx, eax
sar ecx, 0x1f
add edx, 0xffffff80
mov r8d, ecx
xor r8d, eax
sub ecx, r8d
sub ecx, 0xffffff80
imul ecx, edx
test ecx, ecx
lea edx, [rcx + 0x7f]
cmovns edx, ecx
sar edx, 7
lea eax, [rax + rdx + 0x80]
mov dword [rbx + 0x170], eax
movsxd rax, esi
mov rcx, qword [rsp + 0x78]
imul rax, rax, 0x308
mov eax, dword [rcx + rax + 0x28]
mov dword [rbx + 0x48], eax
mov eax, 0x1000
jmp 0x14001dc14
or edx, 1
xor eax, eax
mov dword [rbx + 8], edx
jmp 0x14001cb1c
mov esi, dword [rbx + 0x2c]
cmp esi, dword [r12 + 0x5dc]
jae 0x14001e710
movsxd rax, esi
imul rax, rax, 0x308
add rax, qword [r12 + 0x608]
mov ecx, dword [rax + 0x24]
test ecx, ecx
jle 0x14001e710
mov r13d, dword [rax + 0x2c]
and r13d, 1
jne 0x14001ecc4
or dword [rbx + 8], 1
mov eax, edx
mov r13d, 1
xor r11d, r11d
mov byte [rsp + 0x9b], 0
mov dword [rsp + 0x60], 0
mov byte [rsp + 0x6c], 0
jmp 0x14001e05f
movsxd rax, dword [rbx + 0x2c]
cmp eax, dword [r12 + 0x5dc]
jae 0x14001e480
imul rax, rax, 0x308
add rax, qword [r12 + 0x608]
mov r9d, dword [rax + 0x24]
test r9d, r9d
jle 0x14001e480
mov r8d, dword [rax + 0x2c]
and r8d, 7
cmp r8d, 3
je 0x14001ec1a
mov eax, edx
or eax, 0x442
or ecx, 0x4010000
mov dword [rbx + 8], eax
xor ebp, ebp
mov eax, dword [rsp + 0x60]
mov dword [rbx], ecx
movzx edx, byte [rsp + 0x99]
mov r13d, 0xffffffff
mov dword [rsp + 0x80], 0
test dl, dl
cmove eax, ebp
mov dword [rsp + 0x60], eax
jmp 0x14001de00
mov edx, dword [rbx + 8]
mov dword [rbx + 0x10], r14d
mov dword [rbx + 0x44], 0x10000
mov r9d, edx
and r9d, 0xfffffffb
mov dword [rbx + 8], r9d
test byte [rax + 0x2c], 1
jne 0x14001e4f1
and edx, 0xfffffbf8
mov dword [rbx + 8], edx
movsx edi, byte [rax + r10*2 + 1]
add edi, r8d
test edi, edi
mov r13d, edi
mov r14d, dword [rcx + 0x28]
mov edx, dword [r12 + 0x5e0]
setg al
not r13d
and al, byte [rsp + 0x80]
mov byte [rsp + 0x80], al
shr r13d, 0x1f
cmp edx, r14d
jbe 0x14001e556
movsxd rcx, r14d
lea rax, [rcx*8]
sub rax, rcx
mov rcx, qword [r12 + 0x610]
lea rax, [rcx + rax*8]
cmp qword [rax + 0x30], 0
je 0x14001e556
mov eax, r14d
cmp r14d, edx
not eax
setl dl
shr eax, 0x1f
test dl, al
jne 0x14001edaa
mov r14d, dword [rbx + 0x10]
mov edx, esi
jmp 0x14001cf10
mov byte [rsp + 0x68], 1
mov r14d, r8d
mov edi, r8d
jmp 0x14001dc47
mov rdx, rbx
mov rcx, r12
mov dword [rsp + 0x60], r10d
call fcn.14001c280
mov dword [rsp + 0x78], 0
mov r10d, dword [rsp + 0x60]
jmp 0x14001d410
mov rdx, rbx
mov rcx, r12
mov dword [rsp + 0x70], r10d
call fcn.14001c280
mov r10d, dword [rsp + 0x70]
movzx edx, byte [rsp + 0x99]
mov edi, r10d
jmp 0x14001de0d
mov byte [rbx + 0xfa], 0x20
mov r13d, dword [rsp + 0x5c]
mov dword [rsp + 0x60], 0
test edi, edi
jne 0x14001e330
mov byte [rsp + 0x68], 0
xor edi, edi
jmp 0x14001da22
cmp eax, esi
jbe 0x14001e770
movsxd rax, esi
imul rax, rax, 0x308
add rax, qword [r12 + 0x608]
mov edx, dword [rax + 0x24]
test edx, edx
jle 0x14001e770
mov edx, dword [rax + 0x2c]
test dl, 1
je 0x14001e770
mov ecx, 1
mov r8d, dword [rbx + 0x60]
cmp r11b, 0xe
sete r11b
and edx, 7
and ecx, r11d
cmp edx, 3
mov edx, dword [rbx + 8]
je 0x14001ed00
mov eax, edx
or eax, 0x402
mov dword [rbx + 8], eax
test cl, cl
je 0x14001e675
shr r9, 0x20
mov edx, r9d
shr dl, 4
cmp dl, 0xd
je 0x14001ee25
mov edi, pe_nt_image_headers64
mov r14d, pe_nt_image_headers64
xor ebp, ebp
jmp 0x14001dc47
cmp edi, dword [rbx + 0x2c]
jne 0x14001d492
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x60], 1
mov dword [rsp + 0x6c], eax
jmp 0x14001d4c8
mov edx, r15d
mov rcx, r12
call fcn.1400183e0
jmp 0x14001d058
movsxd rax, dword [rbx + 0x2c]
cmp eax, dword [r12 + 0x5dc]
jae 0x14001dbdb
imul rax, rax, 0x308
add rax, qword [r12 + 0x608]
mov r8d, dword [rax + 0x24]
test r8d, r8d
jle 0x14001dbdb
and dword [rbx + 8], 0xffffffef
mov qword [rbx + 0x60], 0xffffffffffffffff
mov dword [rbx + 0x68], 0xffffffff
jmp 0x14001dbdb
mov byte [rsp + 0x6c], 0
mov r13d, 1
mov dword [rsp + 0x60], 0
jmp 0x14001e058
or edx, 0x14c
mov rcx, r12
mov dword [rsp + 0x70], r10d
xor ebp, ebp
mov dword [rbx + 8], edx
mov edx, r15d
mov r13d, 0xffffffff
mov qword [rbx + 0x18], 0
call fcn.1400183e0
movzx edx, byte [rsp + 0x99]
mov r10d, dword [rsp + 0x70]
jmp 0x14001de00
or dword [rbx + 8], 1
mov edi, pe_nt_image_headers64
mov r14d, pe_nt_image_headers64
jmp 0x14001dc47
mov ebp, 1
xor edx, edx
jmp 0x14001d14a
mov dword [rbx + 0x4c], 0
jmp 0x14001ce60
movzx r8d, byte [r13]
mov rcx, r12
sub r8d, 1
call fcn.14001c210
test rax, rax
je 0x14001ecd6
mov eax, dword [rax]
mov edx, edi
xor ebp, ebp
mov dword [rbx + 0x4c], eax
jmp 0x14001d14a
mov r8d, edi
lea r9d, [rbp - 1]
mov edx, r15d
mov rcx, r12
mov dword [rsp + 0x84], r10d
mov r14d, edi
mov edi, 1
call fcn.14001c940
mov dword [rsp + 0x60], edi
mov r10d, dword [rsp + 0x84]
test eax, eax
mov eax, edi
cmovne eax, dword [rsp + 0x78]
mov dword [rsp + 0x6c], eax
jmp 0x14001d4c0
mov eax, dword [rbx + 0x48]
test eax, eax
je 0x14001e17f
cmp eax, dword [rbx + 0x44]
jl 0x14001d60f
jmp 0x14001e17f
or edx, 4
mov qword [rbx + 0x18], 0
mov rcx, r12
mov dword [rbx + 8], edx
mov edx, r15d
call fcn.1400183e0
xor eax, eax
jmp 0x14001cb1c
cmp r9d, 0x78
ja 0x14001eec4
mov dword [rsp + 0x80], 1
mov ebp, 1
test al, 8
mov edx, 1
cmove edx, dword [rsp + 0x60]
and eax, 0xfffffffb
mov dword [rbx + 0x10], r9d
mov r8d, r9d
mov rcx, r12
mov dword [rbx + 8], eax
mov dword [rsp + 0x60], edx
mov edx, r14d
call fcn.14001c210
mov rdi, rax
test rax, rax
je 0x14001e9e0
movsxd rax, r14d
mov r13d, dword [rdi + 0xc]
movsxd rdx, r9d
mov r11d, dword [rdi + 0x28]
imul rax, rax, 0x308
add rax, qword [r12 + 0x608]
movsx eax, byte [rax + rdx*2 + 0x201]
add r13d, r9d
mov dword [rbx + 0x3c], 0
add r13d, eax
cmp dword [r12 + 0x5e0], r11d
jbe 0x14001e9d0
movsxd rdx, r11d
lea rax, [rdx*8]
sub rax, rdx
mov rdx, qword [r12 + 0x610]
lea rax, [rdx + rax*8]
cmp qword [rax + 0x30], 0
mov eax, 0xffffffff
cmove r11d, eax
mov eax, dword [rsp + 0x78]
test eax, eax
jne 0x14001ea01
mov eax, dword [rdi + 0x30]
mov dword [rsp + 0x70], eax
mov eax, dword [rdi + 0x34]
mov r8d, r14d
mov edx, r15d
mov rcx, r12
mov dword [rsp + 0x78], r10d
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x70], r11d
mov dword [rsp + 0x38], eax
mov eax, dword [rdi + 0x2c]
mov dword [rsp + 0x28], r9d
mov r9d, r11d
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x20], r13d
call fcn.140018710
mov r11d, dword [rsp + 0x70]
mov r10d, dword [rsp + 0x78]
mov r8d, eax
mov eax, dword [rdi + 0x24]
mov edx, eax
and edx, 0xff
jne 0x14001ea92
mov dword [rbx + 0x54], 0
movzx edx, ah
test ah, 0xff
jne 0x14001ea48
mov dword [rbx + 0x58], 0
test r8d, r8d
js 0x14001eebc
cmp r15d, r8d
je 0x14001e9b0
movsxd rdx, r8d
mov rax, rdx
shl rax, 4
sub rax, rdx
shl rax, 5
test r8d, r8d
jg 0x14001eb6f
mov rdx, qword [r12 + 0x188]
mov dword [rdx + rax], 0
test r11d, r11d
js 0x14001e9b9
mov dword [rbx + 0x34], r11d
movzx edx, byte [rsp + 0x99]
jmp 0x14001de00
mov r11d, 0xffffffff
jmp 0x14001e8f3
mov dword [rbx], 0
mov r13d, 0xffffffff
movzx edx, byte [rsp + 0x99]
mov dword [rsp + 0x60], 0
jmp 0x14001de00
cmp dword [rdi + 0x2c], 1
je 0x14001ed22
xor r8d, r8d
mov edx, r15d
mov rcx, r12
mov dword [rsp + 0x78], r10d
mov dword [rsp + 0x88], r9d
mov dword [rsp + 0x84], r11d
call fcn.140018690
mov r9d, dword [rsp + 0x88]
mov r10d, dword [rsp + 0x78]
mov r11d, dword [rsp + 0x84]
jmp 0x14001e906
cmp edx, 0x40
mov eax, 0x40
mov dword [rsp + 0x78], r11d
cmovle eax, edx
mov dword [rsp + 0x84], r8d
mov dword [rsp + 0x70], r10d
mov edi, eax
call sub.msvcrt.dll_rand
lea ecx, [rdi + 1]
mov r10d, dword [rsp + 0x70]
mov r11d, dword [rsp + 0x78]
cdq
mov r8d, dword [rsp + 0x84]
idiv ecx
mov eax, edi
shr eax, 1
sub edx, eax
mov dword [rbx + 0x58], edx
jmp 0x14001e979
mov dword [rsp + 0x88], edx
mov dword [rsp + 0x84], r8d
mov dword [rsp + 0x78], r11d
mov dword [rsp + 0x70], r10d
call sub.msvcrt.dll_rand
mov ecx, 0x64
mov r10d, dword [rsp + 0x70]
mov edx, dword [rsp + 0x88]
mov r11d, dword [rsp + 0x78]
mov r8d, dword [rsp + 0x84]
cmp edx, 0x64
cmovg edx, ecx
lea ecx, [rdx + 1]
cdq
idiv ecx
mov eax, dword [rdi + 0x24]
mov dword [rbx + 0x54], edx
jmp 0x14001e966
cmp edi, dword [rbx + 0x2c]
jne 0x14001d492
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x60], 1
mov r13d, 0xffffffff
movzx edx, byte [rsp + 0x99]
mov dword [rsp + 0x6c], eax
jmp 0x14001de00
mov esi, dword [rbx + 0x2c]
jmp 0x14001ce8f
mov eax, edx
or ecx, 0x10800
and al, 0x7c
mov dword [rbx], ecx
or eax, 0x40
mov dword [rbx + 8], eax
cmp r9d, 0x78
ja 0x14001ef70
xor ebp, ebp
jmp 0x14001e857
mov qword [rsp + 0x98], 0
xor edi, edi
mov r8d, dword [rbx + 8]
xor ecx, ecx
mov dword [rsp + 0x5c], 0
mov dword [rsp + 0x70], 0
jmp 0x14001d391
movzx edi, byte [rsp + 0x5c]
jmp 0x14001d31b
add rsi, qword [r12 + 0x188]
mov rdx, qword [r12 + 0x188]
mov rcx, qword [rsi]
add rdx, rax
mov qword [rdx], rcx
lea rdi, [rdx + 8]
mov rcx, qword [rsi + 0x1d8]
and rdi, 0xfffffffffffffff8
mov qword [rdx + 0x1d8], rcx
sub rdx, rdi
sub rsi, rdx
add edx, 0x1e0
shr edx, 3
mov ecx, edx
rep movsq qword [rdi], qword [rsi]
jmp 0x14001e9a1
lea r9d, [rbp - 1]
mov r8d, edi
mov edx, r15d
mov rcx, r12
mov dword [rsp + 0x6c], r10d
call fcn.14001c940
mov r10d, dword [rsp + 0x6c]
test eax, eax
mov dword [rsp + 0x60], eax
jne 0x14001ee10
mov r8d, ebp
mov edx, edi
mov rcx, r12
call fcn.14001c210
test rax, rax
je 0x14001ee49
mov eax, dword [rax]
mov dword [rsp + 0x6c], r10d
mov r14d, edi
mov dword [rbx + 0x4c], eax
jmp 0x14001d4c0
mov dword [rbx], 0
xor ebp, ebp
mov r14d, 0xffffffff
jmp 0x14001d85a
mov edi, dword [rax + 0x38]
lea r8d, [rdi + rdi]
movsxd r8, r8d
movsx r8d, word [rax + r8*2 + 0x48]
mov eax, edx
or al, 0xc0
cmp dword [rbx + 0x60], r8d
jne 0x14001e480
jmp 0x14001e487
mov dword [rsp + 0x5c], 0
mov r14d, edx
xor ecx, ecx
mov qword [rsp + 0x98], 0
mov r8d, dword [rbx + 8]
mov dword [rsp + 0x70], 0
jmp 0x14001d391
mov dword [rsp + 0x78], 1
mov r10d, 1
jmp 0x14001d410
mov rdx, r9
xor ecx, ecx
shr rdx, 0x20
cmp dl, 0xd0
sete cl
cmp eax, esi
jbe 0x14001ecdf
movsxd rax, esi
imul rax, rax, 0x308
add rax, qword [r12 + 0x608]
mov r8d, dword [rax + 0x24]
test r8d, r8d
jle 0x14001ecdf
mov edx, dword [rax + 0x2c]
test dl, 1
jne 0x14001e631
test r10b, r10b
jne 0x14001ee5b
xor ecx, ecx
jmp 0x14001e636
mov byte [rsp + 0x6c], 0
mov dword [rsp + 0x60], 0
jmp 0x14001e058
mov ebp, edi
mov edx, edi
jmp 0x14001d14a
test r10b, r10b
je 0x14001e2f5
cmp dl, 0xd0
je 0x14001e770
or dword [rbx + 8], 0x402
jmp 0x14001e675
mov edi, dword [rax + 0x38]
lea r11d, [rdi + rdi]
movsxd r11, r11d
movsx r11d, word [rax + r11*2 + 0x48]
mov eax, edx
or al, 0x80
cmp r11d, r8d
jne 0x14001e654
jmp 0x14001e65b
mov dword [rsp + 0x84], r10d
mov r10, qword [r12 + 0x188]
mov rcx, r12
mov dword [rsp + 0x8c], r9d
add r10, rsi
mov dword [rsp + 0x88], r11d
mov edx, dword [r10 + 0x2c]
mov qword [rsp + 0x78], r10
call fcn.140028ac0
mov r10, qword [rsp + 0x78]
mov edx, dword [rdi + 0xc]
movsxd rcx, dword [r10 + 0x6c]
add edx, dword [r10 + 0x10]
movsd xmm3, qword [r10 + 0x20]
mov r8d, dword [r10 + 0x28]
movsx eax, byte [rax + rcx*2 + 0x201]
mov rcx, r12
add edx, eax
call fcn.140018be0
mov r10, qword [rsp + 0x78]
mov r9d, dword [rsp + 0x8c]
mov r11d, dword [rsp + 0x88]
movsd qword [r10 + 0x18], xmm0
mov r10d, dword [rsp + 0x84]
jmp 0x14001ea0b
mov dword [rsp + 0x40], 0
mov r9d, r14d
mov edx, r15d
mov r8d, esi
mov dword [rsp + 0x38], 0
mov rcx, r12
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], edi
call fcn.140018710
mov dword [rbx + 0x34], r14d
mov edx, dword [rbx + 0x2c]
mov r14d, dword [rbx + 0x10]
jmp 0x14001cf10
pxor xmm2, xmm2
mov edx, r15d
mov rcx, r12
mov dword [rsp + 0x60], r10d
call fcn.1400189e0
mov eax, dword [rbx + 8]
mov r10d, dword [rsp + 0x60]
jmp 0x14001d47d
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x60], r10d
mov r14d, edi
mov dword [rsp + 0x6c], eax
jmp 0x14001d4c0
and r9d, 0xf
je 0x14001e675
and eax, 0xfffffb7d
mov edi, pe_nt_image_headers64
mov r14d, pe_nt_image_headers64
xor ebp, ebp
mov dword [rbx + 8], eax
jmp 0x14001dc47
mov dword [rsp + 0x60], r10d
mov r14d, edi
mov dword [rsp + 0x6c], r10d
jmp 0x14001d4c0
test ecx, ecx
jne 0x14001e770
mov r8d, dword [rbx + 0x60]
xor ecx, ecx
jmp 0x14001e63a
mov dword [rsp + 0x40], 0
mov r8d, r11d
mov edx, r15d
mov rcx, r12
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], r14d
mov dword [rsp + 0x5c], r9d
call fcn.140018710
mov r9d, dword [rsp + 0x5c]
mov r8d, dword [rbx + 0x10]
mov r11d, dword [rbx + 0x2c]
mov dword [rbx + 0x34], r9d
jmp 0x14001d85a
or eax, 0xffffffff
jmp 0x14001cb1c
mov dword [rsp + 0x80], 1
movzx edx, byte [rsp + 0x99]
mov ebp, 1
or r13d, 0xffffffff
jmp 0x14001de00
mov edx, r15d
mov rcx, r12
mov ebp, r13d
call fcn.1400183e0
mov byte [rsp + 0x68], 1
jmp 0x14001da2e
and dword [rbx + 8], 0xfffffffb
mov dword [rbx + 0x10], r14d
mov dword [rbx + 0x44], 0x10000
jmp 0x14001dce8
mov dword [rsp + 0x78], 0
mov r10d, 1
jmp 0x14001d410
movsxd rax, esi
xor ecx, ecx
imul rax, rax, 0x308
add rax, qword [r12 + 0x608]
cmp dword [rax + 0x24], 0
jg 0x14001eca8
jmp 0x14001e2ec
cmp dword [rsp + 0x60], 0x83
je 0x14001dc31
test edi, edi
setne byte [rsp + 0x68]
cmp dword [rsp + 0x5c], 0
jne 0x14001ef83
mov eax, dword [rsp + 0x60]
lea r8d, [rax - 1]
jmp 0x14001e56d
movzx edx, byte [rsp + 0x99]
xor ebp, ebp
or r13d, 0xffffffff
jmp 0x14001d550
or edi, 0xffffffff
or r14d, 0xffffffff
jmp 0x14001dc47