Function at 0x1404ab9e0
Capabilities:
Execute anti-debugging instructions
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
movaps xmmword [rsp + 0x210], xmm6
mov qword [rsp + 0x180], r9
mov r12d, r8d
mov r10, rdx
mov rbx, rcx
mov rax, qword [rsp + 0x2d8]
mov qword [rsp + 0xf8], rax
mov r14, qword [rsp + 0x2d0]
mov rdi, qword [rsp + 0x2c8]
mov r9, qword [rsp + 0x2c0]
mov rdx, qword [rsp + 0x2b8]
mov r13, qword [rsp + 0x2b0]
mov r11, qword [rsp + 0x2a8]
mov r15, qword [rsp + 0x2a0]
mov rcx, qword [rsp + 0x298]
mov rsi, qword [rsp + 0x290]
mov rax, qword [0x14077ee28]
xor rax, rsp
mov qword [rsp + 0x208], rax
mov ebp, r11d
and ebp, 1
mov eax, r10d
and eax, 1
mov qword [rsp + 0x108], rax
mov eax, r14d
and al, 1
mov qword [rsp + 0x188], rax
mov eax, r8d
and eax, 0x1f
mov r8d, r15d
cmp eax, 9
mov qword [rsp + 0x178], r14
jae 0x1404abaf7
cmp eax, 3
jae 0x1404abb3e
test eax, eax
je 0x1404abcc9
cmp eax, 2
jne 0x1404abd04
mov rcx, qword [rsp + 0x208]
xor rcx, rsp
call fcn.14059b6c0
movaps xmm6, xmmword [rsp + 0x210]
add rsp, 0x228
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.1404e4770
mov dword [rsp + 0x78], r12d
mov qword [rsp + 0xf0], rcx
mov ecx, edx
and ecx, 1
add eax, 0xfffffff7
mov r12, r11
lea r11, [0x14060fdec]
movsxd rax, dword [r11 + rax*4]
add rax, r11
jmp rax
mov rax, qword [0x1407929d0]
test rax, rax
sete byte [r15]
movzx eax, byte [0x1407904a1]
mov byte [r14], al
xor ebx, ebx
jmp 0x1404ad318
cmp eax, 6
jae 0x1404abbac
cmp eax, 3
je 0x1404abf87
cmp eax, 5
jne 0x1404abfa6
mov eax, r11d
or eax, edi
test al, 1
jne 0x1404ac1f1
test r12b, 0x20
jne 0x1404ac3e9
mov dword [rsp + 0x8c], r8d
mov qword [rsp + 0xf0], rcx
mov qword [rsp + 0xc8], r13
xor eax, eax
mov rcx, qword [rsp + 0xf8]
mov dword [rsp + 0x80], ecx
xor r14d, r14d
xor r13d, r13d
xor ecx, ecx
mov qword [rsp + 0xe8], rcx
xor ecx, ecx
jmp 0x1404ac577
je 0x1404abf97
cmp eax, 8
jne 0x1404ac037
mov dword [rsp + 0x8c], r8d
mov qword [rsp + 0xf0], rcx
mov rax, qword [0x1407929d0]
mov qword [rsp + 0xc8], r13
xor rax, r13
cmp rax, 0xffffffff8a9adede
jne 0x1404ac20b
mov qword [rsp + 0xa8], rbx
mov ebx, 1
test r12b, r12b
js 0x1404ad318
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0xb8], rdx
lea rdx, [rsp + 0x1a0]
mov sil, 1
xor eax, eax
mov qword [rsp + 0xe0], rax
xor r13d, r13d
mov rax, rdx
mov qword [rsp + 0x160], rdx
mov bl, 1
mov qword [rsp + 0x110], rdx
mov qword [rsp + 0x100], rdx
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x130], rdx
mov qword [rsp + 0x138], rdx
mov qword [rsp + 0x128], rdx
mov qword [rsp + 0x120], rdx
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x140], rdx
mov qword [rsp + 0x148], rdx
mov qword [rsp + 0x150], rdx
mov qword [rsp + 0x158], rdx
mov qword [rsp + 0x168], rdx
mov al, 1
mov qword [rsp + 0x170], rax
mov rax, rdx
mov qword [rsp + 0x118], rdx
mov rdi, qword [rsp + 0xf8]
mov eax, r11d
mov qword [rsp + 0xd0], rax
jmp 0x1404ad29a
mov rcx, qword [rsp + 0x208]
xor rcx, rsp
call fcn.14059b6c0
mov rcx, r15
mov rdx, qword [rsp + 0x180]
movaps xmm6, xmmword [rsp + 0x210]
add rsp, 0x228
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.1404d3040
mov rax, qword [0x1407929c8]
test rax, rax
sete byte [r11]
movzx eax, byte [0x1407901d0]
mov byte [r9], al
xor ebx, ebx
jmp 0x1404ad318
mov rcx, r10
mov r8d, r12d
mov r9, qword [rsp + 0xf0]
call fcn.1404eb070
mov rbx, rax
jmp 0x1404ad318
mov dword [rsp + 0x8c], r8d
mov qword [rsp + 0xc8], r13
mov qword [rsp + 0xa8], rbx
or r10d, dword [rsp + 0xf8]
mov ebx, 1
test r10b, 1
mov r12d, dword [rsp + 0x78]
jne 0x1404ad318
mov edi, r9d
test r12b, 0x20
mov rbx, qword [rsp + 0xa8]
mov r13, qword [rsp + 0xc8]
je 0x1404acc02
jmp 0x1404ac52e
mov rcx, r13
mov rdx, r10
call fcn.1404e00c0
mov ebx, eax
jmp 0x1404ad318
mov qword [rsp + 0x98], rdi
mov rdi, rdx
mov dword [rsp + 0x8c], r8d
mov qword [rsp + 0xb0], r15
mov r12, r10
mov qword [rsp + 0xa0], r9
mov dword [0x14077021c], 0x529b722a
call fcn.1404ab8d0
xor r8d, r8d
cmp qword [rsp + 0xf0], 0
je 0x1404ad30b
test rsi, rsi
je 0x1404ad30b
movq xmm0, r13
movq xmm1, r12
punpcklqdq xmm1, xmm0
movq xmm0, qword [rsp + 0x180]
movq xmm2, rdi
punpcklqdq xmm2, xmm0
pxor xmm0, xmm0
pcmpeqd xmm2, xmm0
pcmpeqd xmm1, xmm0
movdqa xmm0, xmm1
shufps xmm0, xmm2, 0xdd
shufps xmm1, xmm2, 0x88
andps xmm1, xmm0
movmskps ecx, xmm1
test cl, cl
mov r9, qword [rsp + 0xa0]
mov rdx, rdi
mov r15, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0x98]
jne 0x1404ad30b
mov r10, r12
xor r8d, r8d
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xc8], r13
movzx r11d, byte [0x1407901d0]
jmp 0x1404ac28d
mov rcx, qword [rsp + 0x208]
xor rcx, rsp
call fcn.14059b6c0
movaps xmm6, xmmword [rsp + 0x210]
add rsp, 0x228
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x1404e4690
mov eax, dword [rsp + 0xf0]
mov rdx, qword [rsp + 0x108]
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x28], rax
mov r8d, 0x11a01325
call fcn.1404ab9e0
mov rbx, rax
and ebx, 1
jmp 0x1404ad318
mov dword [rsp + 0x8c], r8d
test rbx, rbx
je 0x1404ac042
test rsi, rsi
je 0x1404ac042
mov ecx, dword [rbx]
xor eax, eax
mov qword [rsp + 0xe0], rax
mov dword [rsp + 0x80], ecx
test ecx, ecx
jne 0x1404ac599
jmp 0x1404acc02
mov byte [rsp + 0x30], 0
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov rcx, r13
mov rdx, qword [rsp + 0xf8]
mov r8, r15
mov r9, rbx
call fcn.1404aad70
mov esi, eax
call fcn.1404ab8b0
cmp esi, 7
jne 0x1404ac15a
mov r11d, 7
xor r8d, r8d
mov r12d, dword [rsp + 0x78]
test r12d, 0x800
je 0x1404acbfa
jmp 0x1404ad30b
mov rcx, r10
call fcn.1404b7380
mov rbx, rax
jmp 0x1404ad318
mov rcx, rdi
call fcn.1404b73a0
movzx ebx, al
jmp 0x1404ad318
mov rcx, r9
call fcn.1404d7780
mov ebx, eax
jmp 0x1404ad318
mov dword [rsp + 0x78], r12d
mov r12, r11
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0xb8], rdx
mov dword [rsp + 0x8c], r8d
mov qword [rsp + 0xb0], r15
mov qword [rsp + 0xd8], r10
mov rdi, r9
mov qword [rsp + 0xf0], rcx
mov eax, dword [0x14077021c]
mov dword [rsp + 0x80], eax
call fcn.1404ab780
cmp byte [0x1407901d0], 0
jne 0x1404ac212
test rax, rax
je 0x1404ac212
test dword [rsp + 0x78], 0x2000
mov r10, qword [rsp + 0xd8]
jne 0x1404ac49d
mov rax, qword [rsp + 0xf8]
mov r15, qword [rsp + 0xb0]
mov rdi, r12
jmp 0x1404ac168
mov ebx, dword [0x14077021c]
jmp 0x1404ad318
xor r11d, r11d
test dword [rsp + 0x78], 0x400
jne 0x1404acbfa
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0xb8], rdx
xor edi, edi
mov rax, rbx
or rax, rsi
jne 0x1404acc02
mov qword [rsp + 0xa0], r9
mov qword [rsp + 0xc8], r13
mov rax, qword [0x1407929c8]
test rax, rax
mov r11, r12
jne 0x1404ac642
mov qword [rsp + 0xa8], rbx
lea rdx, [rsp + 0x1a0]
mov cl, 1
xor eax, eax
mov qword [rsp + 0xe0], rax
mov rax, rdx
mov qword [rsp + 0x110], rdx
mov qword [rsp + 0x100], rdx
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x130], rdx
mov qword [rsp + 0x138], rdx
mov qword [rsp + 0x128], rdx
mov qword [rsp + 0x120], rdx
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x140], rdx
mov qword [rsp + 0x148], rdx
mov qword [rsp + 0x150], rdx
mov qword [rsp + 0x158], rdx
mov qword [rsp + 0x168], rdx
mov al, 1
mov qword [rsp + 0x170], rax
mov qword [rsp + 0x118], rdx
xor eax, eax
mov qword [rsp + 0xd0], rax
xor r13d, r13d
xor r11d, r11d
mov rax, rdx
mov qword [rsp + 0x160], rdx
mov r12d, dword [rsp + 0x78]
mov r9, qword [rsp + 0xa0]
jmp 0x1404ad25f
mov dword [rsp + 0x80], esi
movzx edi, byte [0x1407904a1]
mov rdx, qword [0x1407701e0]
mov ecx, dword [0x1407701b8]
or ecx, edi
lea esi, [rax - 0x890d]
mov qword [rsp + 0x178], rax
add ecx, eax
add ecx, 0xffff76f3
movsxd r9, ecx
add r9, rdx
lea rcx, [rsp + 0x207]
lea rdx, [rsp + 0x1a0]
mov r8d, 0x238fac50
call r9
movzx ecx, byte [rsp + 0x1a0]
movzx edx, byte [rsp + 0x207]
mov rax, qword [0x1407701e8]
sub esi, edi
add esi, dword [0x1407701bc]
movsxd r9, esi
add r9, rax
mov r8d, 0xa7400c02
call r9
mov ecx, edi
test al, 1
mov r11d, dword [rsp + 0x80]
jne 0x1404acbfa
jmp 0x1404ac3f3
mov ebx, 1
xor r11d, r11d
test r12d, 0x100
jne 0x1404ad318
jmp 0x1404acbfa
xor eax, eax
jmp 0x1404ac6f7
test dword [rsp + 0x78], 0x100000
mov r9, rdi
mov r10, qword [rsp + 0xd8]
je 0x1404acc02
mov qword [rsp + 0xc8], r13
xor qword [0x1407929c8], 0xffffffff8a9adede
xor qword [0x1407929d0], 0xffffffff8a9adede
mov ecx, dword [0x1407929c0]
mov rax, rcx
mov qword [rsp + 0xd0], rcx
xor eax, 0x8a9adede
mov dword [0x1407929c0], eax
mov r8d, 0x8a9adede
xor r8d, dword [0x1407929c4]
mov r15, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0x98]
mov r11, r12
mov r12d, dword [rsp + 0x78]
test r12b, r12b
jns 0x1404ac6d9
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0xb8], rdx
mov rax, qword [rsp + 0xc8]
add rax, 2
mov qword [rsp + 0x118], rax
mov qword [rsp + 0xa8], rbx
test rbx, rbx
sete al
mov qword [rsp + 0x170], rax
lea rax, [rsp + 0x1a8]
mov qword [rsp + 0x168], rax
lea rax, [rsp + 0x1b0]
mov qword [rsp + 0x158], rax
lea rax, [rsp + 0x1f2]
mov qword [rsp + 0x150], rax
lea rax, [rsp + 0x1f3]
mov qword [rsp + 0x148], rax
lea rax, [rsp + 0x1f4]
mov qword [rsp + 0x140], rax
lea rax, [rsp + 0x1f5]
mov qword [rsp + 0x90], rax
lea rax, [rsp + 0x1ee]
mov qword [rsp + 0x120], rax
lea rcx, [rsp + 0x1b8]
lea rax, [rsp + 0x1d0]
mov qword [rsp + 0x138], rax
lea rax, [rsp + 0x1f6]
mov qword [rsp + 0x130], rax
lea rax, [rsp + 0x1fb]
mov qword [rsp + 0x80], rax
test r15, r15
sete al
mov qword [rsp + 0x108], rax
test r9, r9
mov qword [rsp + 0xe0], rbp
lea rax, [rsp + 0x1fc]
mov qword [rsp + 0x100], rax
lea rax, [rsp + 0x1c8]
mov qword [rsp + 0x110], rax
sete al
mov qword [rsp + 0x188], rax
mov dword [rsp + 0xc4], 0
mov rax, rcx
mov qword [rsp + 0x160], rcx
mov qword [rsp + 0x128], rcx
xor r13d, r13d
xor ebx, ebx
jmp 0x1404acc09
mov dword [rsp + 0x78], r12d
mov ecx, edx
mov r11d, ebx
mov r12d, dword [rsp + 0x78]
test r12d, 0x1000
jne 0x1404acc02
mov ebp, r11d
mov rax, qword [0x1407701f0]
mov rdi, qword [rsp + 0x178]
lea esi, [rdi - 0x890d]
mov r14, rcx
add ecx, edi
add ecx, 0xffff76f3
add ecx, dword [0x1407701c0]
movsxd r9, ecx
add r9, rax
lea rcx, [rsp + 0x207]
lea rdx, [rsp + 0x1a0]
mov r8d, 0x3972877b
call r9
movzx ecx, byte [rsp + 0x1a0]
movzx edx, byte [rsp + 0x207]
mov rax, qword [0x1407701d0]
mov qword [rsp + 0xf0], r14
sub esi, r14d
add esi, dword [0x1407701b0]
movsxd r9, esi
add r9, rax
mov r8d, 0xe97166e3
call r9
test al, 1
je 0x1404ac527
test r12b, r12b
mov r11d, ebp
js 0x1404acbfa
jmp 0x1404acc02
mov r9, rdi
mov qword [rsp + 0xa8], rbx
mov rcx, qword [rax + 0x10]
mov r8, rcx
test rcx, rcx
sete cl
movzx edx, byte [0x1407904a1]
xor dl, 1
xor ebx, ebx
test cl, dl
mov r15, qword [rsp + 0xb0]
jne 0x1404ad318
mov r11, r12
mov qword [rsp + 0xc8], r13
mov r13, qword [rax + 0x18]
test r13, r13
mov rdx, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0x98]
mov r12d, dword [rsp + 0x78]
je 0x1404ad318
xor ecx, ecx
mov r14, r8
mov qword [rsp + 0xe8], r8
mov r8d, 0
test r12d, 0x800
mov rbx, qword [rsp + 0xa8]
je 0x1404ac577
jmp 0x1404ac6d9
mov dword [rsp + 0x8c], ebp
mov rax, qword [0x1407701f8]
mov ecx, dword [0x1407701c4]
mov r14, qword [rsp + 0xf0]
xor ecx, r14d
mov rsi, rdi
add ecx, edi
add ecx, 0xffff76f3
movsxd r8, ecx
add r8, rax
mov rcx, r13
mov edx, 0xcd91f319
call r8
mov r11d, dword [rsp + 0x8c]
test al, 1
je 0x1404acbfa
jmp 0x1404acef8
cmp r14, qword [rax + 0x10]
je 0x1404ac80e
mov qword [rsp + 0xe0], rcx
mov dword [rsp + 0x78], r12d
mov r12, r11
mov r13, qword [rsp + 0xc8]
mov qword [rsp + 0xd8], r10
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0xb8], rdx
mov qword [rsp + 0xb0], r15
mov rdi, r9
mov qword [rsp + 0xa8], rbx
cmp word [rsp + 0x78], 0
mov qword [rsp + 0xc8], r13
mov qword [rsp + 0xa0], r9
jns 0x1404ac952
call fcn.1404ab780
xor ebx, ebx
test rax, rax
je 0x1404ad318
mov edx, dword [rsp + 0x78]
test edx, 0x400
jne 0x1404ac985
mov r13, qword [rax + 0x10]
mov r9, qword [rax + 0x18]
mov rcx, r13
mov qword [rsp + 0x90], r13
mov qword [rsp + 0xe8], r13
test edx, 0x80000
mov rbx, qword [rsp + 0xa8]
mov r10, qword [rsp + 0xd8]
mov r15, qword [rsp + 0xb0]
mov r11, r12
jne 0x1404ac84b
mov rax, qword [0x1407929d0]
xor ecx, ecx
test rax, rax
mov rdx, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0x98]
mov r12d, dword [rsp + 0x78]
mov r9, qword [rsp + 0xa0]
je 0x1404acc02
lea rax, [rsp + 0x1a0]
lea r13, [rsp + 0x207]
mov qword [rsp + 0x90], r13
mov r8, rax
mov qword [rsp + 0xe8], rax
mov r8, rbx
mov dword [rsp + 0x80], ebx
test r12d, 0x20000
mov rbx, r8
mov r14, qword [rsp + 0x90]
je 0x1404ac944
mov qword [0x1407929c8], 0
mov qword [0x1407929d0], 0
mov dword [0x1407929c0], 0
xor r8d, r8d
mov dword [0x1407929c4], r8d
mov eax, ebp
test r12d, 0x100
mov r14, qword [rsp + 0x178]
je 0x1404acc02
xor esi, esi
test r12b, 0x40
jne 0x1404ad314
mov qword [rsp + 0x188], rax
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0xb8], rdx
mov qword [rsp + 0xd8], r10
mov qword [rsp + 0xa0], r9
lea rcx, [rsp + 0x207]
lea rdx, [rsp + 0x1a0]
mov r8, rdx
xor eax, eax
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x78], rax
xor r13d, r13d
mov dword [rsp + 0xc4], 0
mov r9d, r14d
mov qword [rsp + 0xa8], rbx
mov edi, ebx
mov qword [rsp + 0xe8], rbp
mov eax, ebp
mov rbp, rdx
mov qword [rsp + 0x170], rax
mov rax, rdx
mov qword [rsp + 0x168], rdx
mov qword [rsp + 0x158], rdx
mov qword [rsp + 0x150], rdx
mov qword [rsp + 0x148], rdx
mov qword [rsp + 0x140], rdx
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x120], rdx
mov rax, rcx
mov qword [rsp + 0x128], rcx
mov rax, rdx
mov qword [rsp + 0x138], rdx
mov qword [rsp + 0x130], rdx
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x100], rdx
mov qword [rsp + 0x110], rdx
mov rax, rcx
mov qword [rsp + 0x118], rcx
mov qword [rsp + 0x160], rcx
jmp 0x1404acdca
mov qword [rsp + 0x90], r14
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0xb8], rdx
test r12d, 0x10000
jne 0x1404aca88
mov qword [rsp + 0xa0], r9
mov r9, r13
mov dword [rsp + 0x78], r12d
mov rcx, qword [rsp + 0xe0]
test cl, 1
jne 0x1404ac8e0
mov r8, rbx
mov rdi, qword [rsp + 0xe8]
mov r13, r9
cmp rdi, r9
movzx edx, cl
mov ecx, 1
cmovne ecx, edx
mov rbx, qword [rdi + 0x30]
test rbx, rbx
mov rdx, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0x98]
je 0x1404ac91f
mov r12, r11
movzx r11d, word [rbx]
xor r11d, 0x33c0
cmp r11d, 0x7e9a
mov r9, qword [rsp + 0xa0]
je 0x1404ac8bd
cmp r11d, 0x698d
jne 0x1404ac90a
cmp dword [rbx + 0x1c], 0x6f746544
jne 0x1404ac90a
cmp dword [rbx + 0x20], 0x737275
mov r11, r12
mov r12d, dword [rsp + 0x78]
jne 0x1404ac69e
jmp 0x1404ad318
mov rdx, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0x98]
mov r12d, dword [rsp + 0x78]
mov r14, qword [rsp + 0x90]
mov r13, r9
mov r9, qword [rsp + 0xa0]
jmp 0x1404ac944
mov rbx, r8
mov r11, r12
mov r12d, dword [rsp + 0x78]
mov r14, qword [rsp + 0x90]
jmp 0x1404ac944
mov r12d, dword [rsp + 0x78]
test r12d, 0x4000
mov rbx, r8
mov r14, qword [rsp + 0x90]
mov r9, qword [rsp + 0xa0]
je 0x1404acb7a
test cl, 1
je 0x1404ac577
jmp 0x1404acc02
cmp byte [0x1407904a1], 0
mov rbx, qword [rsp + 0xa8]
jne 0x1404aca79
cmp dword [rbx + 4], 0
je 0x1404aca79
lea rax, [rbx + 4]
mov r9, rdi
mov r10, qword [rsp + 0xd8]
jmp 0x1404acb95
xor eax, eax
mov qword [rsp + 0x160], rax
xor eax, eax
mov qword [rsp + 0x188], rax
xor eax, eax
mov qword [rsp + 0x108], rax
xor eax, eax
mov qword [rsp + 0x110], rax
xor eax, eax
mov qword [rsp + 0x100], rax
xor eax, eax
mov qword [rsp + 0x80], rax
xor eax, eax
mov qword [rsp + 0x130], rax
xor eax, eax
mov qword [rsp + 0x138], rax
xor eax, eax
mov qword [rsp + 0x128], rax
xor eax, eax
mov qword [rsp + 0x120], rax
xor eax, eax
mov qword [rsp + 0x90], rax
xor eax, eax
mov qword [rsp + 0x140], rax
xor eax, eax
mov qword [rsp + 0x148], rax
xor eax, eax
mov qword [rsp + 0x150], rax
xor eax, eax
mov qword [rsp + 0x158], rax
xor eax, eax
mov qword [rsp + 0x168], rax
xor eax, eax
mov qword [rsp + 0x170], rax
xor eax, eax
mov qword [rsp + 0x118], rax
xor r11d, r11d
xor eax, eax
mov qword [rsp + 0xd0], rax
mov dword [rsp + 0xc4], 0
xor r13d, r13d
xor eax, eax
mov qword [rsp + 0xe0], rax
mov r9, rdi
mov r10, qword [rsp + 0xd8]
mov r15, qword [rsp + 0xb0]
mov r12d, edx
jmp 0x1404ad2d9
xor ebx, ebx
test dword [rsp + 0x78], 0x200
jmp 0x1404ad318
mov qword [rsp + 0xa8], rbx
lea rcx, [rsp + 0x207]
lea rdx, [rsp + 0x1a0]
mov al, 1
mov qword [rsp + 0x170], rax
mov r14, r10
mov rbx, qword [rsp + 0x178]
mov rax, qword [rsp + 0xe0]
mov r13d, eax
mov dword [rsp + 0xc4], eax
mov qword [rsp + 0xd0], r11
mov eax, dword [rsp + 0x80]
mov r11d, eax
mov rax, rdx
mov qword [rsp + 0x158], rdx
mov qword [rsp + 0x150], rdx
mov qword [rsp + 0x148], rdx
mov qword [rsp + 0x140], rdx
mov qword [rsp + 0x120], rdx
mov r8, qword [rsp + 0xe8]
mov rax, r8
mov qword [rsp + 0x128], r8
mov rax, rdx
mov qword [rsp + 0x138], rdx
mov qword [rsp + 0x130], r8
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x80], rax
mov rax, rdx
mov qword [rsp + 0x100], rdx
mov qword [rsp + 0x168], rdx
mov qword [rsp + 0x110], rdx
mov rdx, r8
mov al, 1
mov qword [rsp + 0x108], rax
mov rax, rcx
mov qword [rsp + 0x118], rcx
mov qword [rsp + 0x160], rcx
jmp 0x1404acd04
mov r12, r11
mov qword [rsp + 0xb0], r15
lea rax, [rsp + 0x1a0]
mov r13, qword [rsp + 0xc8]
lea rcx, [0x1407929c0]
mov qword [0x1407929c8], rcx
mov ecx, dword [rbx]
mov dword [0x1407929c0], ecx
mov eax, dword [rax]
mov dword [0x1407929c4], eax
mov qword [0x1407929d0], rsi
mov rax, qword [0x1407929d0]
cmp byte [0x1407901d0], 0
jne 0x1404acbd3
test rax, rax
jne 0x1404ac22b
test dword [rsp + 0x78], 0x40000
je 0x1404acc02
mov rsi, r9
mov rdi, r10
call fcn.14048fab0
mov r10, rdi
mov r9, rsi
mov qword [0x1407929d0], rax
jmp 0x1404ac22b
mov ebx, r11d
jmp 0x1404ad318
xor ebx, ebx
jmp 0x1404ad318
mov r14d, ebx
mov rdx, qword [r10 + r14*8]
test rdx, rdx
mov rcx, qword [rsp + 0x98]
je 0x1404ad2e5
test byte [rsp + 0x170], 1
jne 0x1404acc3a
mov rax, qword [rsp + 0xa8]
inc qword [rax]
mov rdx, qword [r10 + r14*8]
test rdx, rdx
mov rax, qword [rsp + 0xb8]
js 0x1404acc7b
test cl, 1
jne 0x1404accf7
add rdx, qword [rsp + 0x118]
mov rax, qword [0x140770108]
mov ecx, dword [0x1407700d8]
mov r8, qword [rsp + 0xd0]
add r8d, r11d
add ecx, r8d
add ecx, 0xc1cd
jmp 0x1404accbb
test cl, 1
jne 0x1404accf7
test r12d, 0x100
je 0x1404abd72
movabs rax, 0x7fffffffffffffff
and rdx, rax
mov rax, qword [0x140770108]
mov ecx, dword [0x1407700d8]
mov r8, qword [rsp + 0xd0]
sub r8d, r11d
add ecx, r8d
add ecx, 0xc1cd
mov rsi, r9
movsxd r9, ecx
add r9, rax
mov rcx, qword [rsp + 0x180]
mov r8d, 0xd821f5bc
mov rdi, r10
mov ebp, r12d
mov r12, r11
call r9
mov r11, r12
mov r12d, ebp
mov r10, rdi
mov r9, rsi
mov rdx, rax
test rdx, rdx
jne 0x1404acd04
jmp 0x1404ad2d9
mov rdx, qword [rax + r14*8]
test rdx, rdx
je 0x1404ad2d9
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0xd8], r10
mov qword [rsp + 0xa0], r9
mov edi, r11d
mov rax, qword [0x1407700f8]
mov ecx, dword [0x1407700c0]
xor ecx, r11d
mov rbx, rdx
mov rdx, qword [rsp + 0xd0]
mov ebp, r13d
mov r13d, r12d
mov r12, r15
mov r15, rdx
add ecx, edx
add ecx, 0xc1cd
movsxd r8, ecx
add r8, rax
mov rsi, qword [rsp + 0x180]
mov rcx, rsi
mov edx, 0x729d8814
call r8
mov qword [rsp + 0xe8], rax
mov rax, qword [0x1407700e8]
lea ecx, [r15 + rdi]
add ecx, 0xc1cd
add ecx, dword [0x1407700c8]
movsxd r8, ecx
add r8, rax
mov rcx, rsi
mov edx, 0x8435bb1a
call r8
mov rdx, rbx
mov r9, r15
mov r15, r12
mov r12d, r13d
mov r13d, ebp
cmp eax, 1
sete sil
mov rax, qword [rsp + 0xb8]
lea rbp, [rax + r14*8]
mov rbx, qword [rsp + 0x78]
mov qword [rsp + 0x78], rbx
cmp rdx, qword [rax + r14*8]
je 0x1404acf66
mov qword [rsp + 0xd0], r9
mov qword [rsp + 0xb0], r15
mov r15d, r12d
mov rax, qword [0x140770118]
mov r14d, dword [0x1407700cc]
add r14d, edi
mov r12d, 0xffff3e33
sub r12d, r9d
mov ecx, r14d
sub ecx, r12d
movsxd r8, ecx
add r8, rax
mov rcx, rdx
mov edx, 0x506545a9
call r8
mov r9, qword [rsp + 0xd0]
test rax, rax
je 0x1404acec6
mov rbx, rax
lea r14d, [r9 + 0xc1cd]
mov rax, qword [0x1407700e8]
mov ecx, dword [0x1407700c8]
xor ecx, edi
sub ecx, r12d
movsxd r8, ecx
add r8, rax
mov rcx, rbx
mov edx, 0x8435bb1a
mov r12, r9
call r8
cmp eax, 1
movzx esi, sil
cmove esi, eax
mov rax, qword [0x1407700f8]
lea ecx, [r12 + rdi]
add ecx, 0xc1cd
add ecx, dword [0x1407700c0]
movsxd r8, ecx
add r8, rax
mov rcx, rbx
mov edx, 0x729d8814
call r8
mov r12d, eax
mov rax, qword [0x140770100]
sub r14d, edi
add r14d, dword [0x1407700d0]
movsxd r8, r14d
add r8, rax
mov rcx, rbx
mov edx, 0xe76bc42b
call r8
test al, al
je 0x1404acf4b
mov rbx, qword [rsp + 0x78]
mov r11d, edi
mov r12d, r15d
mov r15, qword [rsp + 0xb0]
jmp 0x1404ad21d
mov r12d, r15d
test r15d, 0x200
mov r15, qword [rsp + 0xb0]
jne 0x1404acf66
mov rax, qword [rsp + 0xf8]
mov esi, eax
mov rbx, qword [rsp + 0xa8]
mov r13, qword [rsp + 0xc8]
mov rax, qword [0x1407701d8]
xor r14d, dword [0x1407701b4]
lea ecx, [rsi + r14]
add ecx, 0xffff76f3
movsxd r10, ecx
add r10, rax
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov rcx, r13
mov rdx, qword [rsp + 0xf8]
mov r8, r15
mov r9, rbx
call r10
test r12b, 0x40
je 0x1404acc02
mov r11d, eax
jmp 0x1404acbfa
mov qword [rsp + 0xe8], r12
mov r12d, r15d
mov r15, qword [rsp + 0xb0]
mov r9, qword [rsp + 0xd0]
mov rbx, qword [rbp]
mov rax, qword [0x1407700f0]
mov ecx, dword [0x1407700c4]
or ecx, edi
mov r14d, 0xffff3e33
mov qword [rsp + 0xd0], r9
sub r14d, r9d
sub ecx, r14d
movsxd rdx, ecx
add rdx, rax
mov ecx, 0x182a0197
call rdx
cmp rbx, rax
movzx eax, byte [rsp + 0xe0]
mov ecx, 1
cmovne ecx, eax
mov qword [rsp + 0xe0], rcx
test cl, 1
jne 0x1404ad215
mov dword [rsp + 0x194], r13d
xorps xmm6, xmm6
mov rax, qword [rsp + 0x160]
movups xmmword [rax + 0x39], xmm6
movups xmmword [rax + 0x30], xmm6
movups xmmword [rax + 0x20], xmm6
movups xmmword [rax + 0x10], xmm6
movups xmmword [rax], xmm6
mov qword [rsp + 0x1a0], rbp
mov qword [rsp + 0x198], rbp
mov rax, qword [rbp]
mov rcx, qword [rsp + 0x168]
mov qword [rcx], rax
mov rcx, qword [rsp + 0x180]
mov rbx, qword [rsp + 0x158]
mov qword [rbx], rcx
mov rax, qword [rsp + 0x150]
mov byte [rax], sil
mov rdx, qword [rsp + 0xe8]
and dl, 1
mov rax, qword [rsp + 0x148]
mov byte [rax], dl
mov rax, qword [0x1407700e0]
mov edx, dword [0x1407700dc]
or edx, edi
sub edx, r14d
movsxd r8, edx
add r8, rax
mov edx, 0xa6b51d5d
call r8
mov rcx, qword [rsp + 0x140]
mov byte [rcx], al
mov rcx, qword [rbx]
mov rax, qword [0x140770100]
mov edx, dword [0x1407700d0]
or edx, edi
sub edx, r14d
movsxd r8, edx
add r8, rax
mov edx, 0xe76bc42b
call r8
mov rcx, qword [rsp + 0x90]
mov byte [rcx], al
mov rax, qword [rsp + 0x128]
movups xmmword [rax], xmm6
mov rax, qword [rsp + 0x138]
movups xmmword [rax + 0x10], xmm6
movups xmmword [rax], xmm6
mov word [rax + 0x20], 0
mov rax, qword [rsp + 0x130]
mov dword [rax], 0
mov byte [rax + 4], 0
mov rax, qword [rsp + 0x80]
mov byte [rax], 1
mov rax, qword [rsp + 0x110]
mov qword [rax], 0
mov rax, qword [rsp + 0x100]
mov byte [rax + 4], 0
mov dword [rax], 0
mov rax, qword [0x140770110]
mov ecx, dword [0x1407700d4]
xor ecx, edi
sub ecx, r14d
movsxd rdx, ecx
add rdx, rax
lea rcx, [rsp + 0x1a0]
call rdx
test al, al
je 0x1404ad1b4
mov rax, qword [rsp + 0x80]
cmp byte [rax], 0
je 0x1404ad1b4
xor r13d, r13d
lea rbx, [rsp + 0x1a0]
mov esi, 1
xor ebp, ebp
nop dword [rax + rax]
mov rax, qword [rsp + 0x110]
mov rax, qword [rax]
test r13, r13
je 0x1404ad180
lea ecx, [rbp + 1]
test rax, rax
movzx edx, bpl
cmovne edx, esi
mov r8, rax
cmove r8, r13
cmp rax, r13
movzx ebp, cl
cmovne ebp, edx
mov r13, r8
cmp bpl, 9
jbe 0x1404ad186
jmp 0x1404ad1b4
inc bpl
mov r13, rax
mov rax, qword [0x140770110]
mov ecx, dword [0x1407700d4]
xor ecx, edi
sub ecx, r14d
movsxd rdx, ecx
add rdx, rax
mov rcx, rbx
call rdx
test al, al
je 0x1404ad1b4
mov rax, qword [rsp + 0x80]
cmp byte [rax], 0
jne 0x1404ad140
mov rax, qword [rsp + 0x100]
cmp byte [rax], 0
mov r9, qword [rsp + 0xa0]
mov r10, qword [rsp + 0xd8]
mov r11, qword [rsp + 0x78]
je 0x1404ad232
mov rax, qword [rsp + 0x120]
cmp dword [rax], 0
mov rcx, qword [rsp + 0x188]
mov r13d, dword [rsp + 0x194]
je 0x1404ad2d3
mov bl, 1
test byte [rsp + 0x108], 1
je 0x1404ad23f
mov r14, qword [rsp + 0x178]
mov rdx, qword [rsp + 0x198]
jmp 0x1404ad26e
mov rbx, qword [rsp + 0x78]
mov r11d, edi
mov r9, qword [rsp + 0xa0]
mov r10, qword [rsp + 0xd8]
jmp 0x1404ad2d9
mov r13d, dword [rsp + 0x194]
jmp 0x1404ad2d3
test r12d, 0x1000
mov r14, qword [rsp + 0x178]
mov rdx, qword [rsp + 0x198]
je 0x1404acc02
inc qword [r15]
xor ebx, ebx
test r12d, 0x2000
je 0x1404ad318
mov eax, ecx
test cl, 1
je 0x1404ad292
mov al, 1
mov qword [rsp + 0x188], rax
mov qword [rsp + 0x108], rbx
mov al, 1
mov dword [rsp + 0xc4], eax
jmp 0x1404ad2d3
xor esi, esi
cmp qword [r9], 0
jne 0x1404ad2a6
test r12b, 0x20
jne 0x1404ad314
mov rax, qword [rdx]
mov qword [r9], rax
movzx eax, r13b
test r14b, 1
mov r13d, 1
cmove r13d, eax
mov al, 1
mov dword [rsp + 0xc4], eax
mov eax, esi
mov qword [rsp + 0x188], rax
mov qword [rsp + 0x108], rbx
mov ebx, r11d
mov r11d, edi
inc ebx
test r13b, 1
je 0x1404acc09
mov r8d, dword [rsp + 0xc4]
or r8b, byte [0x1407904a1]
or r8b, byte [0x1407901d0]
xor r11d, r11d
test r12d, 0x800
je 0x1404acbfa
movzx ebx, r8b
and ebx, 1
jmp 0x1404ad318
movzx ebx, sil
mov rcx, qword [rsp + 0x208]
xor rcx, rsp
call fcn.14059b6c0
mov rax, rbx
movaps xmm6, xmmword [rsp + 0x210]
add rsp, 0x228
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
push rsi
sub rsp, 0x240
mov rax, qword [0x14077ee28]
xor rax, rsp
mov qword [rsp + 0x238], rax
mov rax, qword [0x140792a78]
test rax, rax
je 0x1404e46cd
inc qword [0x140772ed0]
mov rsi, qword [0x140792a78]
xor rsi, 0x11223344
jne 0x1404e4745
lea rdx, [0x140610d20]
lea rsi, [rsp + 0x30]
mov r8d, 0x14
mov rcx, rsi
call fcn.1400d2840
mov byte [rsp + 0x44], 0
mov rcx, rsi
mov edx, 5
call fcn.14048f9c0
mov qword [rsp + 0x28], 0
lea rdx, [rsp + 0x28]
mov rcx, rsi
call fcn.14048f9d0
mov rsi, rax
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x40], 0
test rax, rax
je 0x1404e4745
mov rax, qword [0x140792a78]
test rax, rax
jne 0x1404e4745
mov qword [0x140792a78], rsi
xor qword [0x140792a78], 0x11223344
mov rcx, qword [rsp + 0x238]
xor rcx, rsp
call fcn.14059b6c0
mov rax, rsi
add rsp, 0x240
pop rsi
ret