Function at 0x1400530e0
Capabilities:
Access peb ldr_data
Encode data using xor
Parse pe header
Resolve function by parsing pe exports

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
mov qword [r11 + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x220
mov rax, qword [0x140181020]
xor rax, rsp
mov qword [rsp + 0x218], rax
mov qword [rsp + 0xd8], rdx
xorps xmm0, xmm0
movups xmmword [rsp + 0x1b0], xmm0
xor r15d, r15d
mov qword [r11 - 0x88], r15
mov qword [r11 - 0x80], 0xf
mov byte [r11 - 0x98], r15b
lea rcx, [r11 - 0xf8]
call fcn.1400551a0
mov rbx, rax
movsx edi, byte [rax]
mov ecx, edi
call fcn.140014160
add edi, eax
cmp edi, 0xfffffff0
jg 0x140053163
mov edx, 0x84
call fcn.140052d80
cmp edi, 0xffffffb7
jg 0x140053172
mov edx, 0x9d
call fcn.140052d80
imul edi, edi, 0x5bd1e995
mov r9d, r15d
lea r8, [rbx + 4]
mov r10, r8
mov esi, 8
mov r11d, esi
nop word [rax + rax]
mov eax, edi
shr eax, 0x18
xor eax, edi
imul eax, eax, 0x5bd1e995
mov ecx, r9d
xor ecx, eax
imul edx, ecx, 0x286a90b9
xor edx, 0xaa2a7357
mov eax, edx
shr eax, 0xd
xor eax, edx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
shr eax, 0xf
xor eax, ecx
mov dword [r10], eax
add r9d, 0x5bd1e995
lea r10, [r10 + 4]
sub r11, 1
jne 0x140053190
mov r9d, dword [0x14018719c]
mov rdx, qword [rbx + 0x28]
call fcn.1400525a0
mov r13, rax
test rax, rax
jne 0x1400531f3
mov r13, r15
jmp 0x140053213
mov rcx, r13
mov edx, 0xc
nop dword [rax + rax]
movzx eax, byte [rbx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x140053200
mov byte [r13 + 0xc], dl
lea rcx, [rsp + 0xe0]
call fcn.140055050
mov rbx, rax
movsx edi, byte [rax]
mov ecx, edi
call fcn.140014160
add edi, eax
cmp edi, 0xfffffff0
jg 0x14005323e
mov edx, 0x84
call fcn.140052d80
cmp edi, 0xffffffb7
jg 0x14005324d
mov edx, 0x9d
call fcn.140052d80
imul edi, edi, 0x5bd1e995
mov r9d, r15d
lea r8, [rbx + 4]
mov r10, r8
mov r11, rsi
mov eax, edi
shr eax, 0x18
xor eax, edi
imul ecx, eax, 0x5bd1e995
xor ecx, r9d
imul edx, ecx, 0x286a90b9
xor edx, 0xaa2a7357
mov eax, edx
shr eax, 0xd
xor eax, edx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
shr eax, 0xf
xor eax, ecx
mov dword [r10], eax
add r9d, 0x5bd1e995
lea r10, [r10 + 4]
sub r11, 1
jne 0x140053260
mov r9d, dword [0x14018719c]
mov rdx, qword [rbx + 0x28]
call fcn.1400525a0
mov rsi, rax
test rax, rax
jne 0x1400532c1
mov rsi, r15
jmp 0x1400532e2
mov rcx, rsi
mov edx, 0xc
nop dword [rax]
movzx eax, byte [rbx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1400532d0
mov byte [rsi + 0xc], dl
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rdi, qword [rax]
mov r14d, 0x5a4d
cmp qword [rdi + 0x60], 0
je 0x1400533d9
xor r12d, r12d
nop word [rax + rax]
mov r11, qword [rdi + 0x30]
mov rdi, qword [rdi]
test r11, r11
je 0x1400533cc
cmp word [r11], r14w
jne 0x1400533d6
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x1400533d6
mov ecx, dword [rax + r11 + 0x88]
test ecx, ecx
je 0x1400533d6
lea rax, [r11 + rcx]
mov r14d, dword [rax + 0x1c]
add r14, r11
mov r9d, dword [rax + 0x20]
add r9, r11
mov r15d, dword [rax + 0x24]
add r15, r11
mov r10d, r12d
mov ebx, dword [rax + 0x18]
test ebx, ebx
je 0x1400533c6
nop
xor r8b, r8b
mov ecx, dword [r9]
add rcx, r11
cmp byte [rcx], r8b
je 0x1400533ba
mov rdx, rsi
sub rdx, rcx
movzx eax, byte [rdx + rcx]
test al, al
je 0x1400533b5
cmp byte [rcx], al
jne 0x1400533ba
mov r8b, 1
inc rcx
cmp byte [rcx], r12b
jne 0x140053384
movsxd rax, r10d
movzx ecx, word [r15 + rax*2]
mov eax, dword [r14 + rcx*4]
add rax, r11
xor r15d, r15d
mov r14d, 0x5a4d
jmp 0x1400533dc
test r8b, r8b
jne 0x14005339b
inc r10d
add r9, 4
cmp r10d, ebx
jb 0x140053370
mov r14d, 0x5a4d
cmp qword [rdi + 0x60], r12
jne 0x140053310
xor r15d, r15d
mov rax, r15
mov rcx, r13
call rax
mov qword [rsp + 0xd0], rax
test rax, rax
je 0x140054d52
lea rcx, [rsp + 0x50]
call fcn.1400552f0
mov rbx, rax
movsx edi, byte [rax]
mov ecx, edi
call fcn.140014160
add edi, eax
cmp edi, 0xfffffff0
jg 0x14005341a
mov edx, 0x84
call fcn.140052d80
cmp edi, 0xffffffb7
jg 0x140053429
mov edx, 0x9d
call fcn.140052d80
imul edi, edi, 0x5bd1e995
mov r9d, r15d
lea r8, [rbx + 4]
mov r10, r8
mov r11d, 8
nop
mov eax, edi
shr eax, 0x18
xor eax, edi
imul ecx, eax, 0x5bd1e995
xor ecx, r9d
imul edx, ecx, 0x286a90b9
xor edx, 0xaa2a7357
mov eax, edx
shr eax, 0xd
xor eax, edx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
shr eax, 0xf
xor eax, ecx
mov dword [r10], eax
add r9d, 0x5bd1e995
lea r10, [r10 + 4]
sub r11, 1
jne 0x140053440
mov r9d, dword [0x14018719c]
mov rdx, qword [rbx + 0x28]
call fcn.1400525a0
mov rdi, rax
test rax, rax
jne 0x1400534a1
mov rdi, r15
jmp 0x140053502
mov r8, r15
movsx eax, byte [rbx]
movd xmm1, eax
punpcklbw xmm1, xmm1
punpcklwd xmm1, xmm1
pshufd xmm1, xmm1, 0
lea rax, [rdi + 0x13]
cmp rdi, rbx
ja 0x1400534c6
cmp rax, rbx
jae 0x1400534d7
movdqu xmm0, xmmword [rdi]
xorps xmm0, xmm1
movdqu xmmword [rdi], xmm0
mov r8d, 0x10
lea rcx, [rdi + r8]
mov edx, 0x14
sub rdx, r8
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rbx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1400534f0
mov byte [rdi + 0x14], dl
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
cmp qword [rsi + 0x60], 0
je 0x1400535fc
xor r12d, r12d
nop dword [rax]
nop dword [rax + rax]
mov r11, qword [rsi + 0x30]
mov rsi, qword [rsi]
test r11, r11
je 0x1400535e0
cmp word [r11], r14w
jne 0x1400535f1
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x1400535f1
mov ecx, dword [rax + r11 + 0x88]
test ecx, ecx
je 0x1400535f1
lea rax, [r11 + rcx]
mov r14d, dword [rax + 0x1c]
add r14, r11
mov r9d, dword [rax + 0x20]
add r9, r11
mov r15d, dword [rax + 0x24]
add r15, r11
mov r10d, r12d
mov ebx, dword [rax + 0x18]
test ebx, ebx
je 0x1400535e0
nop
xor r8b, r8b
mov ecx, dword [r9]
add rcx, r11
cmp byte [rcx], r8b
je 0x1400535d4
mov rdx, rdi
sub rdx, rcx
movzx eax, byte [rcx + rdx]
test al, al
je 0x1400535cf
cmp byte [rcx], al
jne 0x1400535d4
mov r8b, 1
inc rcx
cmp byte [rcx], r12b
jne 0x1400535a4
movsxd rax, r10d
movzx ecx, word [r15 + rax*2]
mov eax, dword [r14 + rcx*4]
add rax, r11
xor r15d, r15d
jmp 0x1400535ff
test r8b, r8b
jne 0x1400535bb
inc r10d
add r9, 4
cmp r10d, ebx
jb 0x140053590
cmp qword [rsi + 0x60], r12
je 0x1400535f9
mov r14d, 0x5a4d
jmp 0x140053530
xor r15d, r15d
mov eax, r15d
jmp 0x140053605
xor r15d, r15d
mov rax, r15
mov r14d, 0x5a4d
lea r8, [rsp + 0x1a8]
lea rdx, [rsp + 0x1d0]
xor ecx, ecx
call rax
test eax, eax
je 0x140053631
lea rcx, [rsp + 0x1b0]
call fcn.140005a50
xor al, al
jmp 0x140055021
mov r13d, r15d
mov dword [rsp + 0x44], r13d
cmp r13d, dword [rsp + 0x1d0]
jae 0x1400549f5
mov r12d, r13d
shl r12, 4
add r12, qword [rsp + 0x1a8]
lea rcx, [rsp + 0x50]
call fcn.140055450
mov rdi, rax
movsx ebx, byte [rax]
mov ecx, ebx
call fcn.140014160
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x14005367e
mov edx, 0x84
call fcn.140052d80
cmp ebx, 0xffffffb7
jg 0x14005368d
mov edx, 0x9d
call fcn.140052d80
imul ebx, ebx, 0x5bd1e995
mov r9d, r15d
lea r8, [rdi + 4]
mov r10, r8
mov r11d, 8
nop dword [rax]
nop word [rax + rax]
mov eax, ebx
shr eax, 0x18
xor eax, ebx
imul ecx, eax, 0x5bd1e995
xor ecx, r9d
imul edx, ecx, 0x286a90b9
xor edx, 0xaa2a7357
mov eax, edx
shr eax, 0xd
xor eax, edx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
shr eax, 0xf
xor eax, ecx
mov dword [r10], eax
add r9d, 0x5bd1e995
lea r10, [r10 + 4]
sub r11, 1
jne 0x1400536b0
mov r9d, dword [0x14018719c]
mov rdx, qword [rdi + 0x28]
call fcn.1400525a0
mov rsi, rax
test rax, rax
jne 0x140053711
mov rsi, r15
jmp 0x140053732
mov rcx, rsi
mov edx, 0xe
nop dword [rax]
movzx eax, byte [rdi]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x140053720
mov byte [rsi + 0xe], dl
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rdi, qword [rax]
cmp qword [rdi + 0x60], 0
je 0x14005382a
nop dword [rax]
nop word [rax + rax]
mov r11, qword [rdi + 0x30]
mov rdi, qword [rdi]
test r11, r11
je 0x14005380d
cmp word [r11], r14w
jne 0x14005381f
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x14005381f
mov ecx, dword [rax + r11 + 0x88]
test ecx, ecx
je 0x14005381f
lea rax, [r11 + rcx]
mov r14d, dword [rax + 0x1c]
add r14, r11
mov r9d, dword [rax + 0x20]
add r9, r11
mov r15d, dword [rax + 0x24]
add r15, r11
xor r10d, r10d
mov ebx, dword [rax + 0x18]
test ebx, ebx
je 0x14005380d
nop
xor dl, dl
mov ecx, dword [r9]
add rcx, r11
cmp byte [rcx], dl
je 0x140053801
mov r8, rsi
sub r8, rcx
movzx eax, byte [rcx + r8]
test al, al
je 0x1400537fd
cmp byte [rcx], al
jne 0x140053801
mov dl, 1
inc rcx
cmp byte [rcx], 0
jne 0x1400537d2
movsxd rax, r10d
movzx ecx, word [r15 + rax*2]
mov eax, dword [r14 + rcx*4]
add rax, r11
xor r15d, r15d
jmp 0x14005382d
test dl, dl
jne 0x1400537e9
inc r10d
add r9, 4
cmp r10d, ebx
jb 0x1400537c0
cmp qword [rdi + 0x60], 0
je 0x140053827
mov r14d, 0x5a4d
jmp 0x140053760
xor r15d, r15d
mov eax, r15d
jmp 0x140053833
xor r15d, r15d
mov rax, r15
mov r14d, 0x5a4d
lea r8, [rsp + 0x198]
xor edx, edx
mov rcx, r12
call rax
test eax, eax
jne 0x1400549ed
mov r12, qword [rsp + 0x198]
lea rcx, [rsp + 0x50]
call fcn.1400555c0
mov rbx, rax
movsx edi, byte [rax]
mov ecx, edi
call fcn.140014160
add edi, eax
cmp edi, 0xfffffff0
jg 0x14005387a
mov edx, 0x84
call fcn.140052d80
cmp edi, 0xffffffb7
jg 0x140053889
mov edx, 0x9d
call fcn.140052d80
imul edi, edi, 0x5bd1e995
mov r9d, r15d
lea r8, [rbx + 4]
mov r10, r8
mov r11d, 8
nop
mov eax, edi
shr eax, 0x18
xor eax, edi
imul eax, eax, 0x5bd1e995
mov ecx, r9d
xor ecx, eax
imul edx, ecx, 0x286a90b9
xor edx, 0xaa2a7357
mov eax, edx
shr eax, 0xd
xor eax, edx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
shr eax, 0xf
xor eax, ecx
mov dword [r10], eax
add r9d, 0x5bd1e995
lea r10, [r10 + 4]
sub r11, 1
jne 0x1400538a0
mov r9d, dword [0x14018719c]
mov rdx, qword [rbx + 0x28]
call fcn.1400525a0
mov rdi, rax
test rax, rax
jne 0x140053903
mov rdi, r15
jmp 0x140053962
mov r8, r15
movsx eax, byte [rbx]
movd xmm1, eax
punpcklbw xmm1, xmm1
punpcklwd xmm1, xmm1
pshufd xmm1, xmm1, 0
lea rax, [rdi + 0x12]
cmp rdi, rbx
ja 0x140053928
cmp rax, rbx
jae 0x140053939
movdqu xmm0, xmmword [rdi]
xorps xmm1, xmm0
movdqu xmmword [rdi], xmm1
mov r8d, 0x10
lea rcx, [r8 + rdi]
mov edx, 0x13
sub rdx, r8
nop word [rax + rax]
movzx eax, byte [rbx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x140053950
mov byte [rdi + 0x13], dl
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
cmp qword [rsi + 0x60], 0
je 0x140053a5a
nop dword [rax]
nop word [rax + rax]
mov r11, qword [rsi + 0x30]
mov rsi, qword [rsi]
test r11, r11
je 0x140053a3d
cmp word [r11], r14w
jne 0x140053a4f
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x140053a4f
mov ecx, dword [rax + r11 + 0x88]
test ecx, ecx
je 0x140053a4f
lea rax, [r11 + rcx]
mov r14d, dword [rax + 0x1c]
add r14, r11
mov r9d, dword [rax + 0x20]
add r9, r11
mov r15d, dword [rax + 0x24]
add r15, r11
xor r10d, r10d
mov ebx, dword [rax + 0x18]
test ebx, ebx
je 0x140053a3d
nop
xor dl, dl
mov ecx, dword [r9]
add rcx, r11
cmp byte [rcx], dl
je 0x140053a31
mov r8, rdi
sub r8, rcx
movzx eax, byte [rcx + r8]
test al, al
je 0x140053a2d
cmp byte [rcx], al
jne 0x140053a31
mov dl, 1
inc rcx
cmp byte [rcx], 0
jne 0x140053a02
movsxd rax, r10d
movzx ecx, word [r15 + rax*2]
mov eax, dword [r14 + rcx*4]
add rax, r11
xor r15d, r15d
jmp 0x140053a5d
test dl, dl
jne 0x140053a19
inc r10d
add r9, 4
cmp r10d, ebx
jb 0x1400539f0
cmp qword [rsi + 0x60], 0
je 0x140053a57
mov r14d, 0x5a4d
jmp 0x140053990
xor r15d, r15d
mov eax, r15d
jmp 0x140053a63
xor r15d, r15d
mov rax, r15
mov r14d, 0x5a4d
lea r9, [rsp + 0x1a0]
lea r8, [rsp + 0x1d4]
mov edx, 0x200
mov rcx, r12
call rax
test eax, eax
jne 0x1400548cd
mov rdx, qword [rsp + 0x1a0]
mov qword [rsp + 0xc8], rdx
mov eax, r15d
mov dword [rsp + 0x40], eax
cmp eax, dword [rsp + 0x1d4]
jae 0x1400547a7
lea rsi, [rax + rax*4]
shl rsi, 4
add rsi, rdx
mov qword [rsp + 0xb8], rsi
mov r8, qword [rsi + 0x18]
mov r8, qword [r8 + 0x10]
lea rdx, [rsp + 0x1d8]
call fcn.140052fd0
nop
mov cl, 0x4b
mov byte [rsp + 0x50], cl
mov dword [rsp + 0x80], 0x3b3f3f23
xor eax, eax
mov byte [rsp + 0x84], al
movsx ebx, cl
mov ecx, ebx
call fcn.140014160
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x140053b07
mov edx, 0x84
call fcn.140052d80
cmp ebx, 0xffffffb7
jg 0x140053b16
mov edx, 0x9d
call fcn.140052d80
imul r11d, ebx, 0x5bd1e995
mov r8d, r15d
lea r9, [rsp + 0x54]
mov r12d, 8
mov r10d, r12d
nop
mov eax, r11d
shr eax, 0x18
xor eax, r11d
imul eax, eax, 0x5bd1e995
mov ecx, r8d
xor ecx, eax
imul edx, ecx, 0x286a90b9
xor edx, 0xaa2a7357
mov eax, edx
shr eax, 0xd
xor eax, edx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
shr eax, 0xf
xor eax, ecx
mov dword [r9], eax
add r8d, 0x5bd1e995
lea r9, [r9 + 4]
sub r10, 1
jne 0x140053b30
mov eax, 4
nop dword [rax]
inc eax
test al, 0xf
jne 0x140053b80
mov qword [0x140187190], r15
lea edi, [rax + 8]
mov edx, edi
call fcn.140052d80
mov rbx, rax
mov qword [0x140187190], rax
test rax, rax
jne 0x140053bab
mov rbx, r15
jmp 0x140053bea
mov dword [0x14018719c], edi
mov dword [0x140187198], 4
mov dword [rax], edi
mov eax, dword [0x140187198]
mov dword [rbx + 4], eax
mov eax, dword [rsp + 0x80]
mov dword [rbx + 8], eax
mov edx, dword [0x14018719c]
add edx, 0xfffffff8
lea rcx, [rbx + 8]
lea r9, [rsp + 0x54]
mov r8b, 1
call fcn.140052470
mov qword [rsp + 0x78], rbx
movsx ebx, byte [rsp + 0x50]
mov ecx, ebx
call fcn.140014160
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x140053c0c
mov edx, 0x84
call fcn.140052d80
cmp ebx, 0xffffffb7
jg 0x140053c1b
mov edx, 0x9d
call fcn.140052d80
imul r11d, ebx, 0x5bd1e995
mov r8d, r15d
lea r9, [rsp + 0x54]
mov r10, r12
nop dword [rax]
mov eax, r11d
shr eax, 0x18
xor eax, r11d
imul eax, eax, 0x5bd1e995
mov ecx, r8d
xor ecx, eax
imul edx, ecx, 0x286a90b9
xor edx, 0xaa2a7357
mov eax, edx
shr eax, 0xd
xor eax, edx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
shr eax, 0xf
xor eax, ecx
mov dword [r9], eax
add r8d, 0x5bd1e995
lea r9, [r9 + 4]
sub r10, 1
jne 0x140053c30
mov r9d, dword [0x14018719c]
lea r8, [rsp + 0x54]
mov rdx, qword [rsp + 0x78]
call fcn.1400525a0
mov r9, rax
test rax, rax
jne 0x140053ca0
mov r9, r15
jmp 0x140053cb9
movzx eax, byte [rsp + 0x50]
xor byte [r9], al
xor byte [r9 + 1], al
xor byte [r9 + 2], al
xor byte [r9 + 3], al
mov byte [r9 + 4], 0
mov rax, 0xffffffffffffffff
inc rax
cmp byte [r9 + rax], 0
jne 0x140053cc0
lea rcx, [rsp + 0x1d8]
cmp qword [rsp + 0x1f0], 0x10
cmovae rcx, qword [rsp + 0x1d8]
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, qword [rsp + 0x1e8]
call fcn.140025820
cmp rax, 0xffffffffffffffff
je 0x140054787
mov r8, qword [rsi + 0x20]
mov r8, qword [r8 + 0x10]
lea rdx, [rsp + 0x1f8]
call fcn.140052fd0
nop
mov qword [rsp + 0x190], r15
mov r12, qword [rsi + 0x30]
mov r13, qword [rsi + 0x20]
mov rax, qword [rsi + 0x18]
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0x198]
mov qword [rsp + 0xc0], rax
lea rcx, [rsp + 0x50]
call fcn.140055730
mov rdi, rax
movsx ebx, byte [rax]
mov ecx, ebx
call fcn.140014160
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x140053d6d
mov edx, 0x84
call fcn.140052d80
cmp ebx, 0xffffffb7
jg 0x140053d7c
mov edx, 0x9d
call fcn.140052d80
imul ebx, ebx, 0x5bd1e995
mov r9d, r15d
lea r8, [rdi + 4]
mov r10, r8
mov r11d, 8
nop dword [rax]
nop word [rax + rax]
mov eax, ebx
shr eax, 0x18
xor eax, ebx
imul eax, eax, 0x5bd1e995
mov ecx, r9d
xor ecx, eax
imul edx, ecx, 0x286a90b9
xor edx, 0xaa2a7357
mov eax, edx
shr eax, 0xd
xor eax, edx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
shr eax, 0xf
xor eax, ecx
mov dword [r10], eax
add r9d, 0x5bd1e995
lea r10, [r10 + 4]
sub r11, 1
jne 0x140053da0
mov r9d, dword [0x14018719c]
mov rdx, qword [rdi + 0x28]
call fcn.1400525a0
mov rsi, rax
test rax, rax
jne 0x140053e03
mov rsi, r15
jmp 0x140053e22
mov rcx, rsi
mov edx, 0xc
nop dword [rax + rax]
movzx eax, byte [rdi]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x140053e10
mov byte [rsi + 0xc], dl
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rdi, qword [rax]
cmp qword [rdi + 0x60], 0
je 0x140053f1a
nop dword [rax]
nop word [rax + rax]
mov r11, qword [rdi + 0x30]
mov rdi, qword [rdi]
test r11, r11
je 0x140053efd
cmp word [r11], r14w
jne 0x140053f0f
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x140053f0f
mov ecx, dword [rax + r11 + 0x88]
test ecx, ecx
je 0x140053f0f
lea rax, [r11 + rcx]
mov r14d, dword [rax + 0x1c]
add r14, r11
mov r9d, dword [rax + 0x20]
add r9, r11
mov r15d, dword [rax + 0x24]
add r15, r11
xor r10d, r10d
mov ebx, dword [rax + 0x18]
test ebx, ebx
je 0x140053efd
nop
xor dl, dl
mov ecx, dword [r9]
add rcx, r11
cmp byte [rcx], dl
je 0x140053ef1
mov r8, rsi
sub r8, rcx
movzx eax, byte [rcx + r8]
test al, al
je 0x140053eed
cmp byte [rcx], al
jne 0x140053ef1
mov dl, 1
inc rcx
cmp byte [rcx], 0
jne 0x140053ec2
movsxd rax, r10d
movzx ecx, word [r15 + rax*2]
mov eax, dword [r14 + rcx*4]
add rax, r11
xor r15d, r15d
jmp 0x140053f1d
test dl, dl
jne 0x140053ed9
inc r10d
add r9, 4
cmp r10d, ebx
jb 0x140053eb0
cmp qword [rdi + 0x60], 0
je 0x140053f17
mov r14d, 0x5a4d
jmp 0x140053e50
xor r15d, r15d
mov eax, r15d
jmp 0x140053f23
xor r15d, r15d
mov rax, r15
mov r14d, 0x5a4d
lea rcx, [rsp + 0x190]
mov qword [rsp + 0x38], rcx
mov dword [rsp + 0x30], r15d
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r12
mov r9, r13
mov r8, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xc0]
call rax
test eax, eax
jne 0x140054779
mov r13, qword [rsp + 0x190]
mov rax, qword [r13 + 0x28]
test rax, rax
je 0x140054463
cmp qword [rax + 0x10], 0
je 0x140054463
lea rcx, [rsp + 0x50]
call fcn.140055880
mov rdi, rax
movsx ebx, byte [rax]
mov ecx, ebx
call fcn.140014160
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x140053fac
mov edx, 0x84
call fcn.140052d80
cmp ebx, 0xffffffb7
jg 0x140053fbb
mov edx, 0x9d
call fcn.140052d80
imul ebx, ebx, 0x5bd1e995
mov r9d, r15d
lea r8, [rdi + 4]
mov r10, r8
mov r12d, 8
mov r11d, r12d
nop dword [rax]
nop dword [rax + rax]
mov eax, ebx
shr eax, 0x18
xor eax, ebx
imul eax, eax, 0x5bd1e995
mov ecx, r9d
xor ecx, eax
imul edx, ecx, 0x286a90b9
xor edx, 0xaa2a7357
mov eax, edx
shr eax, 0xd
xor eax, edx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
shr eax, 0xf
xor eax, ecx
mov dword [r10], eax
add r9d, 0x5bd1e995
lea r10, [r10 + 4]
sub r11, 1
jne 0x140053fe0
mov r9d, dword [0x14018719c]
mov rdx, qword [rdi + 0x28]
call fcn.1400525a0
mov r9, rax
test rax, rax
jne 0x140054043
mov r9, r15
jmp 0x1400540b4
mov rdx, r15
movsx eax, byte [rdi]
movd xmm1, eax
punpcklbw xmm1, xmm1
punpcklwd xmm1, xmm1
pshufd xmm1, xmm1, 0
lea rax, [r9 + 0x29]
cmp r9, rdi
ja 0x140054070
cmp rax, rdi
jae 0x14005408f
nop dword [rax + rax]
movdqu xmm0, xmmword [r9 + rdx]
xorps xmm0, xmm1
movdqu xmmword [r9 + rdx], xmm0
add rdx, 0x10
cmp rdx, 0x20
jb 0x140054070
cmp rdx, 0x2a
jae 0x1400540af
lea rcx, [r9 + rdx]
mov r8d, 0x2a
sub r8, rdx
nop dword [rax]
movzx eax, byte [rdi]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub r8, 1
jne 0x1400540a0
mov byte [r9 + 0x2a], 0
mov rdx, r9
lea rcx, [rsp + 0x1b0]
call fcn.140005750
mov cl, 0x4c
mov byte [rsp + 0x50], cl
mov dword [rsp + 0x80], 0x76203e39
mov word [rsp + 0x84], 0x6c
movsx ebx, cl
mov ecx, ebx
call fcn.140014160
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x1400540fa
mov edx, 0x84
call fcn.140052d80
cmp ebx, 0xffffffb7
jg 0x140054109
mov edx, 0x9d
call fcn.140052d80
imul r11d, ebx, 0x5bd1e995
mov r8d, r15d
lea r9, [rsp + 0x54]
mov r10, r12
nop dword [rax + rax]
mov eax, r11d
shr eax, 0x18
xor eax, r11d
imul ecx, eax, 0x5bd1e995
xor ecx, r8d
imul edx, ecx, 0x286a90b9
xor edx, 0xaa2a7357
mov eax, edx
shr eax, 0xd
xor eax, edx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
shr eax, 0xf
xor eax, ecx
mov dword [r9], eax
add r8d, 0x5bd1e995
lea r9, [r9 + 4]
sub r10, 1
jne 0x140054120
mov eax, 5
nop dword [rax + rax]
inc eax
test al, 0xf
jne 0x140054170
mov qword [0x140187190], r15
lea edi, [rax + 8]
mov edx, edi
call fcn.140052d80
mov rbx, rax
mov qword [0x140187190], rax
test rax, rax
jne 0x14005419b
mov rbx, r15
jmp 0x1400541e5
mov dword [0x14018719c], edi
mov dword [0x140187198], 5
mov dword [rax], edi
mov eax, dword [0x140187198]
mov dword [rbx + 4], eax
mov eax, dword [rsp + 0x80]
mov dword [rbx + 8], eax
movzx eax, byte [rsp + 0x84]
mov byte [rbx + 0xc], al
mov edx, dword [0x14018719c]
add edx, 0xfffffff8
lea rcx, [rbx + 8]
lea r9, [rsp + 0x54]
mov r8b, 1
call fcn.140052470
mov qword [rsp + 0x78], rbx
movsx ebx, byte [rsp + 0x50]
mov ecx, ebx
call fcn.140014160
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x140054207
mov edx, 0x84
call fcn.140052d80
cmp ebx, 0xffffffb7
jg 0x140054216
mov edx, 0x9d
call fcn.140052d80
imul r11d, ebx, 0x5bd1e995
mov r8d, r15d
lea r9, [rsp + 0x54]
mov r10, r12
nop dword [rax + rax]
mov eax, r11d
shr eax, 0x18
xor eax, r11d
imul ecx, eax, 0x5bd1e995
xor ecx, r8d
imul edx, ecx, 0x286a90b9
xor edx, 0xaa2a7357
mov eax, edx
shr eax, 0xd
xor eax, edx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
shr eax, 0xf
xor eax, ecx
mov dword [r9], eax
add r8d, 0x5bd1e995
lea r9, [r9 + 4]
sub r10, 1
jne 0x140054230
mov r9d, dword [0x14018719c]
lea r8, [rsp + 0x54]
mov rdx, qword [rsp + 0x78]
call fcn.1400525a0
mov rdx, rax
test rax, rax
jne 0x1400542a0
mov rdx, r15
jmp 0x1400542b7
movzx eax, byte [rsp + 0x50]
xor byte [rdx], al
xor byte [rdx + 1], al
xor byte [rdx + 2], al
xor byte [rdx + 3], al
xor byte [rdx + 4], al
mov byte [rdx + 5], 0
lea rcx, [rsp + 0x1b0]
call fcn.140005750
lea rdx, [rsp + 0x1d8]
lea rcx, [rsp + 0x1b0]
call fcn.1400057f0
lea rdx, str._nlogin:
lea rcx, [rsp + 0x50]
call fcn.1400346d0
mov rcx, rax
call fcn.14001d910
mov rdx, rax
lea rcx, [rsp + 0x1b0]
call fcn.140005750
lea rdx, [rsp + 0x1f8]
lea rcx, [rsp + 0x1b0]
call fcn.1400057f0
lea rcx, [rsp + 0x50]
call fcn.140055a30
mov rdi, rax
movsx ebx, byte [rax]
mov ecx, ebx
call fcn.140014160
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x14005433f
mov edx, 0x84
call fcn.140052d80
cmp ebx, 0xffffffb7
jg 0x14005434e
mov edx, 0x9d
call fcn.140052d80
imul ebx, ebx, 0x5bd1e995
mov r9d, r15d
lea r8, [rdi + 4]
mov r10, r8
mov r11, r12
nop dword [rax]
nop word [rax + rax]
mov eax, ebx
shr eax, 0x18
xor eax, ebx
imul ecx, eax, 0x5bd1e995
xor ecx, r9d
imul edx, ecx, 0x286a90b9
xor edx, 0xaa2a7357
mov eax, edx
shr eax, 0xd
xor eax, edx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
shr eax, 0xf
xor eax, ecx
mov dword [r10], eax
add r9d, 0x5bd1e995
lea r10, [r10 + 4]
sub r11, 1
jne 0x140054370
mov r9d, dword [0x14018719c]
mov rdx, qword [rdi + 0x28]
call fcn.1400525a0
mov rdx, rax
test rax, rax
jne 0x1400543d1
mov rdx, r15
jmp 0x140054416
movzx eax, byte [rdi]
xor byte [rdx], al
movzx eax, byte [rdi]
xor byte [rdx + 1], al
movzx eax, byte [rdi]
xor byte [rdx + 2], al
movzx eax, byte [rdi]
xor byte [rdx + 3], al
movzx eax, byte [rdi]
xor byte [rdx + 4], al
movzx eax, byte [rdi]
xor byte [rdx + 5], al
movzx eax, byte [rdi]
xor byte [rdx + 6], al
movzx eax, byte [rdi]
xor byte [rdx + 7], al
movzx eax, byte [rdi]
xor byte [rdx + 8], al
movzx eax, byte [rdi]
xor byte [rdx + 9], al
movzx eax, byte [rdi]
xor byte [rdx + 0xa], al
mov byte [rdx + 0xb], 0
lea rcx, [rsp + 0x1b0]
call fcn.140005750
mov rax, qword [rsp + 0x190]
mov r8, qword [rax + 0x28]
mov r8, qword [r8 + 0x10]
lea rdx, [rsp + 0x50]
call fcn.140052fd0
nop
mov rdx, rax
lea rcx, [rsp + 0x1b0]
call fcn.1400057f0
nop
lea rcx, [rsp + 0x50]
call fcn.140005a50
mov r13, qword [rsp + 0x190]
jmp 0x140054469
mov r12d, 8
mov cl, 0x78
mov byte [rsp + 0x50], cl
mov dword [rsp + 0x80], 0x140d192e
mov dword [rsp + 0x84], 0x1d0a3e0c
mov word [rsp + 0x88], 0x1d
movsx ebx, cl
mov ecx, ebx
call fcn.140014160
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x1400544aa
mov edx, 0x84
call fcn.140052d80
cmp ebx, 0xffffffb7
jg 0x1400544b9
mov edx, 0x9d
call fcn.140052d80
imul r11d, ebx, 0x5bd1e995
mov r8d, r15d
lea r9, [rsp + 0x54]
mov r10, r12
nop dword [rax + rax]
mov eax, r11d
shr eax, 0x18
xor eax, r11d
imul ecx, eax, 0x5bd1e995
xor ecx, r8d
imul edx, ecx, 0x286a90b9
xor edx, 0xaa2a7357
mov eax, edx
shr eax, 0xd
xor eax, edx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
shr eax, 0xf
xor eax, ecx
mov dword [r9], eax
add r8d, 0x5bd1e995
lea r9, [r9 + 4]
sub r10, 1
jne 0x1400544d0
mov eax, 9
nop dword [rax + rax]
inc eax
test al, 0xf
jne 0x140054520
mov qword [0x140187190], r15
lea edi, [rax + 8]
mov edx, edi
call fcn.140052d80
mov rbx, rax
mov qword [0x140187190], rax
test rax, rax
jne 0x14005454b
mov rbx, r15
jmp 0x140054599
mov dword [0x14018719c], edi
mov dword [0x140187198], 9
mov dword [rax], edi
mov eax, dword [0x140187198]
mov dword [rbx + 4], eax
movsd xmm0, qword [rsp + 0x80]
movsd qword [rbx + 8], xmm0
movzx eax, byte [rsp + 0x88]
mov byte [rbx + 0x10], al
mov edx, dword [0x14018719c]
add edx, 0xfffffff8
lea rcx, [rbx + 8]
lea r9, [rsp + 0x54]
mov r8b, 1
call fcn.140052470
mov qword [rsp + 0x78], rbx
movsx ebx, byte [rsp + 0x50]
mov ecx, ebx
call fcn.140014160
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x1400545bb
mov edx, 0x84
call fcn.140052d80
cmp ebx, 0xffffffb7
jg 0x1400545ca
mov edx, 0x9d
call fcn.140052d80
imul r11d, ebx, 0x5bd1e995
mov r8d, r15d
lea r9, [rsp + 0x54]
mov r10, r12
nop dword [rax]
mov eax, r11d
shr eax, 0x18
xor eax, r11d
imul ecx, eax, 0x5bd1e995
xor ecx, r8d
imul edx, ecx, 0x286a90b9
xor edx, 0xaa2a7357
mov eax, edx
shr eax, 0xd
xor eax, edx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
shr eax, 0xf
xor eax, ecx
mov dword [r9], eax
add r8d, 0x5bd1e995
lea r9, [r9 + 4]
sub r10, 1
jne 0x1400545e0
mov r9d, dword [0x14018719c]
lea r8, [rsp + 0x54]
mov rdx, qword [rsp + 0x78]
call fcn.1400525a0
mov rbx, rax
test rax, rax
jne 0x140054650
mov rbx, r15
jmp 0x140054673
movzx eax, byte [rsp + 0x50]
xor byte [rbx], al
xor byte [rbx + 1], al
xor byte [rbx + 2], al
xor byte [rbx + 3], al
xor byte [rbx + 4], al
xor byte [rbx + 5], al
xor byte [rbx + 6], al
xor byte [rbx + 7], al
xor byte [rbx + 8], al
mov byte [rbx + 9], 0
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
cmp qword [rsi + 0x60], 0
je 0x14005476a
nop dword [rax]
nop word [rax + rax]
mov r11, qword [rsi + 0x30]
mov rsi, qword [rsi]
test r11, r11
je 0x14005474d
cmp word [r11], r14w
jne 0x14005475f
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x14005475f
mov ecx, dword [rax + r11 + 0x88]
test ecx, ecx
je 0x14005475f
lea rax, [r11 + rcx]
mov r14d, dword [rax + 0x1c]
add r14, r11
mov r9d, dword [rax + 0x20]
add r9, r11
mov r15d, dword [rax + 0x24]
add r15, r11
xor r10d, r10d
mov edi, dword [rax + 0x18]
test edi, edi
je 0x14005474d
nop
xor dl, dl
mov eax, dword [r9]
add rax, r11
cmp byte [rax], dl
je 0x140054741
mov r8, rbx
sub r8, rax
movzx ecx, byte [rax + r8]
test cl, cl
je 0x14005473d
cmp byte [rax], cl
jne 0x140054741
mov dl, 1
inc rax
cmp byte [rax], 0
jne 0x140054712
movsxd rax, r10d
movzx ecx, word [r15 + rax*2]
mov eax, dword [r14 + rcx*4]
add rax, r11
xor r15d, r15d
jmp 0x14005476d
test dl, dl
jne 0x140054729
inc r10d
add r9, 4
cmp r10d, edi
jb 0x140054700
cmp qword [rsi + 0x60], 0
je 0x140054767
mov r14d, 0x5a4d
jmp 0x1400546a0
xor r15d, r15d
mov eax, r15d
jmp 0x140054773
xor r15d, r15d
mov rax, r15
mov r14d, 0x5a4d
mov rcx, r13
call rax
nop
lea rcx, [rsp + 0x1f8]
call fcn.140005a50
nop
lea rcx, [rsp + 0x1d8]
call fcn.140005a50
mov eax, dword [rsp + 0x40]
inc eax
mov rdx, qword [rsp + 0xc8]
jmp 0x140053a98
mov r12, qword [rsp + 0x1a0]
lea rdx, str.VaultFree
lea rcx, [rsp + 0x50]
call fcn.140040b50
mov rcx, rax
call fcn.14001c8d0
mov rsi, rax
mov rcx, qword gs:[0x60]
mov rdx, qword [rcx + 0x18]
mov rcx, qword [rdx + 0x10]
mov rdi, qword [rcx]
cmp qword [rdi + 0x60], 0
je 0x1400548ba
nop word [rax + rax]
mov r11, qword [rdi + 0x30]
mov rdi, qword [rdi]
test r11, r11
je 0x14005489d
cmp word [r11], r14w
jne 0x1400548af
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x1400548af
mov ecx, dword [rax + r11 + 0x88]
test ecx, ecx
je 0x1400548af
lea rax, [r11 + rcx]
mov r14d, dword [rax + 0x1c]
add r14, r11
mov r9d, dword [rax + 0x20]
add r9, r11
mov r15d, dword [rax + 0x24]
add r15, r11
xor r10d, r10d
mov ebx, dword [rax + 0x18]
test ebx, ebx
je 0x14005489d
nop
xor dl, dl
mov ecx, dword [r9]
add rcx, r11
cmp byte [rcx], dl
je 0x140054891
mov r8, rsi
sub r8, rcx
movzx eax, byte [rcx + r8]
test al, al
je 0x14005488d
cmp byte [rcx], al
jne 0x140054891
mov dl, 1
inc rcx
cmp byte [rcx], 0
jne 0x140054862
movsxd rax, r10d
movzx ecx, word [r15 + rax*2]
mov eax, dword [r14 + rcx*4]
add rax, r11
xor r15d, r15d
jmp 0x1400548bd
test dl, dl
jne 0x140054879
inc r10d
add r9, 4
cmp r10d, ebx
jb 0x140054850
cmp qword [rdi + 0x60], 0
je 0x1400548b7
mov r14d, 0x5a4d
jmp 0x1400547f0
xor r15d, r15d
mov eax, r15d
jmp 0x1400548c3
xor r15d, r15d
mov rax, r15
mov r14d, 0x5a4d
mov rcx, r12
call rax
mov r13d, dword [rsp + 0x44]
lea rdx, str.VaultCloseVault
lea rcx, [rsp + 0x50]
call fcn.14003b750
mov rcx, rax
call fcn.14003a140
mov rsi, rax
mov rcx, qword gs:[0x60]
mov rdx, qword [rcx + 0x18]
mov rcx, qword [rdx + 0x10]
mov rdi, qword [rcx]
cmp qword [rdi + 0x60], 0
je 0x1400549da
nop dword [rax + rax]
mov r11, qword [rdi + 0x30]
mov rdi, qword [rdi]
test r11, r11
je 0x1400549bd
cmp word [r11], r14w
jne 0x1400549cf
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x1400549cf
mov ecx, dword [rax + r11 + 0x88]
test ecx, ecx
je 0x1400549cf
lea rax, [r11 + rcx]
mov r14d, dword [rax + 0x1c]
add r14, r11
mov r9d, dword [rax + 0x20]
add r9, r11
mov r15d, dword [rax + 0x24]
add r15, r11
xor r10d, r10d
mov ebx, dword [rax + 0x18]
test ebx, ebx
je 0x1400549bd
nop
xor dl, dl
mov ecx, dword [r9]
add rcx, r11
cmp byte [rcx], dl
je 0x1400549b1
mov r8, rsi
sub r8, rcx
movzx eax, byte [rcx + r8]
test al, al
je 0x1400549ad
cmp byte [rcx], al
jne 0x1400549b1
mov dl, 1
inc rcx
cmp byte [rcx], 0
jne 0x140054982
movsxd rax, r10d
movzx ecx, word [r15 + rax*2]
mov eax, dword [r14 + rcx*4]
add rax, r11
xor r15d, r15d
jmp 0x1400549dd
test dl, dl
jne 0x140054999
inc r10d
add r9, 4
cmp r10d, ebx
jb 0x140054970
cmp qword [rdi + 0x60], 0
je 0x1400549d7
mov r14d, 0x5a4d
jmp 0x140054910
xor r15d, r15d
mov eax, r15d
jmp 0x1400549e3
xor r15d, r15d
mov rax, r15
mov r14d, 0x5a4d
lea rcx, [rsp + 0x198]
call rax
inc r13d
jmp 0x140053634
mov r12, qword [rsp + 0x1a8]
test r12, r12
je 0x140054b2c
lea rdx, str.VaultFree
lea rcx, [rsp + 0x50]
call fcn.140034cc0
mov rcx, rax
call fcn.14001c8d0
mov rsi, rax
mov rcx, qword gs:[0x60]
mov rdx, qword [rcx + 0x18]
mov rcx, qword [rdx + 0x10]
mov rdi, qword [rcx]
cmp qword [rdi + 0x60], 0
je 0x140054b1d
nop dword [rax]
nop word [rax + rax]
mov r11, qword [rdi + 0x30]
mov rdi, qword [rdi]
test r11, r11
je 0x140054b00
cmp word [r11], r14w
jne 0x140054b12
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x140054b12
mov ecx, dword [rax + r11 + 0x88]
test ecx, ecx
je 0x140054b12
lea rax, [r11 + rcx]
mov r14d, dword [rax + 0x1c]
add r14, r11
mov r9d, dword [rax + 0x20]
add r9, r11
mov r15d, dword [rax + 0x24]
add r15, r11
xor r10d, r10d
mov ebx, dword [rax + 0x18]
test ebx, ebx
je 0x140054b00
nop
xor r8b, r8b
mov ecx, dword [r9]
add rcx, r11
cmp byte [rcx], r8b
je 0x140054af4
mov rdx, rsi
sub rdx, rcx
movzx eax, byte [rcx + rdx]
test al, al
je 0x140054aef
cmp byte [rcx], al
jne 0x140054af4
mov r8b, 1
inc rcx
cmp byte [rcx], 0
jne 0x140054ac4
movsxd rax, r10d
movzx ecx, word [r15 + rax*2]
mov eax, dword [r14 + rcx*4]
add rax, r11
xor r15d, r15d
jmp 0x140054b20
test r8b, r8b
jne 0x140054adb
inc r10d
add r9, 4
cmp r10d, ebx
jb 0x140054ab0
cmp qword [rdi + 0x60], 0
je 0x140054b1a
mov r14d, 0x5a4d
jmp 0x140054a50
xor r15d, r15d
mov eax, r15d
jmp 0x140054b26
xor r15d, r15d
mov rax, r15
mov r14d, 0x5a4d
mov rcx, r12
call rax
nop
lea rcx, [rsp + 0x50]
call fcn.140055b90
mov rbx, rax
movsx edi, byte [rax]
mov ecx, edi
call fcn.140014160
add edi, eax
cmp edi, 0xfffffff0
jg 0x140054b54
mov edx, 0x84
call fcn.140052d80
cmp edi, 0xffffffb7
jg 0x140054b63
mov edx, 0x9d
call fcn.140052d80
imul edi, edi, 0x5bd1e995
mov r9d, r15d
lea r8, [rbx + 4]
mov r10, r8
mov r12d, 8
mov r11d, r12d
nop dword [rax]
mov eax, edi
shr eax, 0x18
xor eax, edi
imul eax, eax, 0x5bd1e995
mov ecx, r9d
xor ecx, eax
imul edx, ecx, 0x286a90b9
xor edx, 0xaa2a7357
mov eax, edx
shr eax, 0xd
xor eax, edx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
shr eax, 0xf
xor eax, ecx
mov dword [r10], eax
add r9d, 0x5bd1e995
lea r10, [r10 + 4]
sub r11, 1
jne 0x140054b80
mov r9d, dword [0x14018719c]
mov rdx, qword [rbx + 0x28]
call fcn.1400525a0
mov rdi, rax
test rax, rax
jne 0x140054bf0
mov rdi, r15
jmp 0x140054c35
movzx eax, byte [rbx]
xor byte [rdi], al
movzx eax, byte [rbx]
xor byte [rdi + 1], al
movzx eax, byte [rbx]
xor byte [rdi + 2], al
movzx eax, byte [rbx]
xor byte [rdi + 3], al
movzx eax, byte [rbx]
xor byte [rdi + 4], al
movzx eax, byte [rbx]
xor byte [rdi + 5], al
movzx eax, byte [rbx]
xor byte [rdi + 6], al
movzx eax, byte [rbx]
xor byte [rdi + 7], al
movzx eax, byte [rbx]
xor byte [rdi + 8], al
movzx eax, byte [rbx]
xor byte [rdi + 9], al
movzx eax, byte [rbx]
xor byte [rdi + 0xa], al
mov byte [rdi + 0xb], 0
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
cmp qword [rsi + 0x60], 0
je 0x140054d2f
nop dword [rax]
nop dword [rax + rax]
mov r11, qword [rsi + 0x30]
mov rsi, qword [rsi]
test r11, r11
je 0x140054d1a
cmp word [r11], r14w
jne 0x140054d2c
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x140054d2c
mov ecx, dword [rax + r11 + 0x88]
test ecx, ecx
je 0x140054d2c
lea rax, [r11 + rcx]
mov r14d, dword [rax + 0x1c]
add r14, r11
mov r9d, dword [rax + 0x20]
add r9, r11
mov r15d, dword [rax + 0x24]
add r15, r11
xor r10d, r10d
mov ebx, dword [rax + 0x18]
test ebx, ebx
je 0x140054d1a
nop
xor r8b, r8b
mov ecx, dword [r9]
add rcx, r11
cmp byte [rcx], r8b
je 0x140054d0e
mov rdx, rdi
sub rdx, rcx
movzx eax, byte [rcx + rdx]
test al, al
je 0x140054d09
cmp byte [rcx], al
jne 0x140054d0e
mov r8b, 1
inc rcx
cmp byte [rcx], 0
jne 0x140054cd4
movsxd rax, r10d
movzx ecx, word [r15 + rax*2]
mov eax, dword [r14 + rcx*4]
add rax, r11
xor r15d, r15d
mov rcx, qword [rsp + 0xd0]
call rax
jmp 0x140054d58
test r8b, r8b
jne 0x140054ceb
inc r10d
add r9, 4
cmp r10d, ebx
jb 0x140054cc0
cmp qword [rsi + 0x60], 0
je 0x140054d2c
mov r14d, 0x5a4d
jmp 0x140054c60
xor r15d, r15d
mov rax, r15
mov rcx, qword [rsp + 0xd0]
call rax
jmp 0x140054d58
mov r12d, 8
cmp qword [rsp + 0x1c0], 0
je 0x140055012
lea rcx, [rsp + 0xe0]
call fcn.140055cf0
mov rbx, rax
movsx edi, byte [rax]
mov ecx, edi
call fcn.140014160
add edi, eax
cmp edi, 0xfffffff0
jg 0x140054d92
mov edx, 0x84
call fcn.140052d80
cmp edi, 0xffffffb7
jg 0x140054da1
mov edx, 0x9d
call fcn.140052d80
imul edi, edi, 0x5bd1e995
mov r9d, r15d
lea r8, [rbx + 4]
mov r10, r8
mov r11, r12
nop dword [rax]
nop dword [rax + rax]
mov eax, edi
shr eax, 0x18
xor eax, edi
imul eax, eax, 0x5bd1e995
mov ecx, r9d
xor ecx, eax
imul edx, ecx, 0x286a90b9
xor edx, 0xaa2a7357
mov eax, edx
shr eax, 0xd
xor eax, edx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
shr eax, 0xf
xor eax, ecx
mov dword [r10], eax
add r9d, 0x5bd1e995
lea r10, [r10 + 4]
sub r11, 1
jne 0x140054dc0
mov r9d, dword [0x14018719c]
mov rdx, qword [rbx + 0x28]
call fcn.1400525a0
mov rdx, rax
test rax, rax
jne 0x140054e23
mov rdx, r15
jmp 0x140054e94
mov rcx, r15
movsx eax, byte [rbx]
movd xmm2, eax
punpcklbw xmm2, xmm2
punpcklwd xmm2, xmm2
pshufd xmm2, xmm2, 0
lea rax, [rdx + 0x36]
cmp rdx, rbx
ja 0x140054e50
cmp rax, rbx
jae 0x140054e71
nop dword [rax + rax]
movdqu xmm0, xmmword [rcx + rdx]
movdqa xmm1, xmm2
xorps xmm1, xmm0
movdqu xmmword [rcx + rdx], xmm1
add rcx, 0x10
cmp rcx, 0x30
jb 0x140054e50
cmp rcx, 0x37
jae 0x140054e90
lea r8, [rcx + rdx]
mov r9d, 0x37
sub r9, rcx
nop
movzx eax, byte [rbx]
xor byte [r8], al
lea r8, [r8 + 1]
sub r9, 1
jne 0x140054e80
mov byte [rdx + 0x37], 0
lea rcx, [rsp + 0x1b0]
call fcn.140005750
mov r14d, dword [rsp + 0x1c0]
lea rsi, [rsp + 0x1b0]
cmp qword [rsp + 0x1c8], 0x10
cmovae rsi, qword [rsp + 0x1b0]
lea rcx, [rsp + 0xe0]
call fcn.140055eb0
mov rbx, rax
movsx edi, byte [rax]
mov ecx, edi
call fcn.140014160
add edi, eax
cmp edi, 0xfffffff0
jg 0x140054eee
mov edx, 0x84
call fcn.140052d80
cmp edi, 0xffffffb7
jg 0x140054efd
mov edx, 0x9d
call fcn.140052d80
imul r11d, edi, 0x5bd1e995
mov r9d, r15d
lea r8, [rbx + 4]
mov r10, r8
nop
mov eax, r11d
shr eax, 0x18
xor eax, r11d
imul ecx, eax, 0x5bd1e995
xor ecx, r9d
imul edx, ecx, 0x286a90b9
xor edx, 0xaa2a7357
mov eax, edx
shr eax, 0xd
xor eax, edx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
shr eax, 0xf
xor eax, ecx
mov dword [r10], eax
add r9d, 0x5bd1e995
lea r10, [r10 + 4]
sub r12, 1
jne 0x140054f10
mov r9d, dword [0x14018719c]
mov rdx, qword [rbx + 0x28]
call fcn.1400525a0
mov rdx, rax
test rax, rax
je 0x140054fc8
mov rcx, r15
movsx eax, word [rbx]
movd xmm1, eax
punpcklwd xmm1, xmm1
pshufd xmm1, xmm1, 0
lea rax, [rdx + 0x22]
cmp rdx, rbx
ja 0x140054f90
cmp rax, rbx
jae 0x140054fb0
nop
movdqu xmm0, xmmword [rdx + rcx*2]
xorps xmm0, xmm1
movdqu xmmword [rdx + rcx*2], xmm0
add rcx, 8
cmp rcx, 0x10
jb 0x140054f90
cmp rcx, 0x12
jae 0x140054fc0
nop dword [rax]
movzx eax, word [rbx]
xor word [rdx + rcx*2], ax
inc rcx
cmp rcx, 0x12
jb 0x140054fb0
mov word [rdx + 0x24], r15w
mov r15, rdx
mov rax, qword [rsp + 0xd8]
test rax, rax
jne 0x140054fe1
mov dword [0x140186cd0], 0x10000
jmp 0x140055012
cmp dword [rax], 2
je 0x140054ff2
mov dword [0x140186cd0], 0x80000
jmp 0x140055012
mov dword [rsp + 0x20], 3
mov r9d, r14d
mov r8, rsi
mov rdx, r15
mov rcx, qword [rax + 8]
call fcn.140032660
mov dword [0x140186cd0], eax
lea rcx, [rsp + 0x1b0]
call fcn.140005a50
mov al, 1
mov rcx, qword [rsp + 0x218]
xor rcx, rsp
call fcn.14012f610
lea r11, [rsp + 0x220]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret