Function at 0x1400fa240
Capabilities:
Access peb ldr_data
Contain obfuscated stackstrings
Encode data using xor
Hash data using murmur2
Parse pe header
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x350]
sub rsp, 0x450
mov rax, qword [0x140188020]
xor rax, rsp
mov qword [rbp + 0x348], rax
mov rsi, r8
mov qword [rsp + 0x60], r8
mov r12, rdx
mov qword [rbp + 8], rdx
mov r14, rcx
mov qword [rbp + 0xa0], rcx
xor eax, eax
cmp qword [rdx + 0x10], rax
jne 0x1400fa2b7
mov byte [rsp + 0x50], al
mov qword [rcx], rax
mov qword [rcx + 0x10], rax
mov qword [rcx + 0x18], 0xf
lea r8d, [rax + 1]
lea rdx, [rsp + 0x50]
call fcn.14001ea30
jmp 0x1400fc55b
mov cl, 0x4a
mov byte [rsp + 0x70], cl
mov dword [rbp - 0x60], 0x7e3d1b2e
mov dword [rbp - 0x5c], 0x2d1d733d
mov dword [rbp - 0x58], 0x701b2912
mov byte [rbp - 0x54], al
movsx ebx, cl
mov ecx, ebx
call fcn.140013f00
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x1400fa2f0
mov edx, 0x84
call fcn.140128630
cmp ebx, 0xffffffb7
jg 0x1400fa2ff
mov edx, 0x9d
call fcn.140128630
imul eax, ebx, 0x5bd1e995
mov ecx, eax
shr ecx, 0x18
xor ecx, eax
imul r10d, ecx, 0x5bd1e995
xor edx, edx
lea r8, [rsp + 0x74]
mov r15d, 8
mov r9d, r15d
mov eax, r10d
xor eax, edx
imul ecx, eax, 0x286a90b9
xor ecx, 0xaa2a7357
mov eax, ecx
shr eax, 0xd
xor eax, ecx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
shr eax, 0xf
xor eax, ecx
mov dword [r8], eax
add edx, 0x5bd1e995
lea r8, [r8 + 4]
sub r9, 1
jne 0x1400fa323
mov edi, 0xc
mov r9d, edi
lea r8, [rsp + 0x74]
lea rdx, [rbp - 0x60]
call fcn.14011c9b0
mov qword [rbp - 0x68], rax
movsx ebx, byte [rsp + 0x70]
mov ecx, ebx
call fcn.140013f00
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x1400fa390
lea edx, [rdi + 0x78]
call fcn.140128630
cmp ebx, 0xffffffb7
jg 0x1400fa39f
mov edx, 0x9d
call fcn.140128630
imul eax, ebx, 0x5bd1e995
mov ecx, eax
shr ecx, 0x18
xor ecx, eax
imul r10d, ecx, 0x5bd1e995
xor edx, edx
lea r8, [rsp + 0x74]
mov r9, r15
nop dword [rax]
mov eax, r10d
xor eax, edx
imul ecx, eax, 0x286a90b9
xor ecx, 0xaa2a7357
mov eax, ecx
shr eax, 0xd
xor eax, ecx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
shr eax, 0xf
xor eax, ecx
mov dword [r8], eax
add edx, 0x5bd1e995
lea r8, [r8 + 4]
sub r9, 1
jne 0x1400fa3c0
mov r9d, dword [0x140196874]
lea r8, [rsp + 0x74]
mov rdx, qword [rbp - 0x68]
call fcn.14011cb00
mov rbx, rax
test rax, rax
je 0x1400fa42f
mov rcx, rdi
movzx edx, byte [rsp + 0x70]
nop dword [rax]
xor byte [rax], dl
lea rax, [rax + 1]
sub rcx, 1
jne 0x1400fa420
mov byte [rbx + 0xc], cl
mov qword [rbp + 0x2c8], 0
movdqa xmm0, xmmword [0x1401746b0]
movdqu xmmword [rbp + 0x2d8], xmm0
mov r8, rdi
cmp qword [r12 + 0x10], rdi
cmovb r8, qword [r12 + 0x10]
mov rdx, r12
cmp qword [r12 + 0x18], 0x10
jb 0x1400fa467
mov rdx, qword [r12]
lea rcx, [rbp + 0x2c8]
call fcn.14001ea30
mov rdi, 0xffffffffffffffff
mov rax, rdi
nop dword [rax]
inc rax
cmp byte [rbx + rax], 0
jne 0x1400fa480
lea rcx, [rbp + 0x2c8]
cmp qword [rbp + 0x2e0], 0x10
cmovae rcx, qword [rbp + 0x2c8]
mov r8, qword [rbp + 0x2d8]
cmp r8, rax
jne 0x1400fc50d
mov rdx, rbx
call fcn.14012e450
test eax, eax
jne 0x1400fc50d
lea rcx, [rbp + 0x2c8]
call fcn.14001e820
mov eax, dword [rsi]
mov dword [rsp + 0x58], eax
test eax, eax
jne 0x1400fa507
mov byte [rsp + 0x50], al
mov qword [r14], 0
mov qword [r14 + 0x10], 0
mov qword [r14 + 0x18], 0xf
lea r8d, [rax + 1]
lea rdx, [rsp + 0x50]
mov rcx, r14
call fcn.14001ea30
jmp 0x1400fc55b
mov qword [rbp + 0x328], 0
movdqa xmm0, xmmword [0x1401746b0]
movdqu xmmword [rbp + 0x338], xmm0
mov rax, qword [r12 + 0x10]
cmp rax, 0xc
jb 0x1400fc5a2
add rax, 0xfffffffffffffff4
cmp rax, rdi
cmovb rdi, rax
mov rdx, r12
cmp qword [r12 + 0x18], 0x10
jb 0x1400fa54b
mov rdx, qword [r12]
add rdx, 0xc
mov r8, rdi
lea rcx, [rbp + 0x328]
call fcn.14001ea30
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x2c8], xmm0
mov qword [rbp + 0x2d8], rax
lea rdx, [rbp + 0x328]
lea rcx, [rbp + 0x308]
call fcn.14001e730
mov rdx, rax
lea rcx, [rbp + 0x2c8]
call fcn.1400f9c10
mov rax, qword [rbp + 0x2c8]
lea rsi, [rax + 0xf]
lea rbx, [rax + 3]
mov qword [rbp + 0x2e8], 0
xor ecx, ecx
mov qword [rbp + 0x2f8], rcx
mov edx, 0xf
mov qword [rbp + 0x300], rdx
mov rax, rsi
sub rax, rbx
cmp rax, 0x10
jb 0x1400fa5ed
mov rdx, rax
lea rcx, [rbp + 0x2e8]
call fcn.140104330
xor ecx, ecx
mov qword [rbp + 0x2f8], rcx
mov rdx, qword [rbp + 0x300]
cmp rbx, rsi
je 0x1400fa648
movzx r9d, byte [rbx]
cmp rcx, rdx
jae 0x1400fa624
lea rax, [rcx + 1]
mov qword [rbp + 0x2f8], rax
lea rax, [rbp + 0x2e8]
cmp rdx, 0x10
cmovae rax, qword [rbp + 0x2e8]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x1400fa630
lea rcx, [rbp + 0x2e8]
call fcn.140023d00
inc rbx
cmp rbx, rsi
je 0x1400fa648
mov rdx, qword [rbp + 0x300]
mov rcx, qword [rbp + 0x2f8]
jmp 0x1400fa5f2
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x278], xmm0
mov qword [rbp + 0x288], 0
mov r14, qword [rbp + 0x2d0]
mov rbx, r14
xor ecx, ecx
sub rbx, rsi
je 0x1400fa6f6
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
ja 0x1400fc5a8
cmp rbx, 0x1000
jb 0x1400fa6b8
lea rcx, [rbx + 0x27]
cmp rcx, rbx
jbe 0x1400fc5ae
call fcn.14012bbb4
test rax, rax
je 0x1400fc59c
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x1400fa6c3
mov rcx, rbx
call fcn.14012bbb4
mov rdi, rax
mov qword [rbp + 0x278], rdi
lea rcx, [rdi + rbx]
mov qword [rbp + 0x288], rcx
mov r8, rbx
mov rdx, rsi
mov rcx, rdi
call fcn.14012dc00
sub rdi, rsi
lea rcx, [rdi + r14]
mov rdx, rcx
mov qword [rbp + 0x280], rcx
jmp 0x1400fa6fd
mov rdx, qword [rbp + 0x280]
sub ecx, dword [rbp + 0x278]
mov qword [rbp + 0xa8], rcx
mov eax, pe_nt_image_headers64
cmp ecx, eax
jge 0x1400fa762
sub eax, ecx
mov ebx, eax
nop word [rax + rax]
mov byte [rsp + 0x50], 0
cmp rdx, qword [rbp + 0x288]
je 0x1400fa744
mov byte [rdx], 0
mov rdx, qword [rbp + 0x280]
inc rdx
mov qword [rbp + 0x280], rdx
jmp 0x1400fa75c
lea r8, [rsp + 0x50]
lea rcx, [rbp + 0x278]
call fcn.1400f27b0
mov rdx, qword [rbp + 0x280]
sub rbx, 1
jne 0x1400fa720
mov qword [rbp + 0x1f0], 0
mov qword [rbp + 0x1f8], 0
xor eax, eax
mov qword [rbp + 0x200], rax
mov dword [rbp + 0x208], eax
mov dword [rbp + 0x290], eax
mov dword [rbp + 0x270], eax
mov cl, 0x23
mov byte [rbp - 0x50], cl
movdqa xmm0, xmmword [0x140174a00]
movdqu xmmword [rbp - 0x20], xmm0
mov dword [rbp - 0x10], 0x734e4b57
mov dword [rbp - 0xc], 0x4a554c51
mov dword [rbp - 8], 0x514647
movsx ebx, cl
mov ecx, ebx
call fcn.140013f00
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x1400fa7d5
mov edx, 0x84
call fcn.140128630
cmp ebx, 0xffffffb7
jg 0x1400fa7e4
mov edx, 0x9d
call fcn.140128630
imul eax, ebx, 0x5bd1e995
mov ecx, eax
shr ecx, 0x18
xor ecx, eax
imul r10d, ecx, 0x5bd1e995
xor edx, edx
lea r8, [rbp - 0x4c]
mov r9, r15
mov eax, r10d
xor eax, edx
imul ecx, eax, 0x286a90b9
xor ecx, 0xaa2a7357
mov eax, ecx
shr eax, 0xd
xor eax, ecx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
shr eax, 0xf
xor eax, ecx
mov dword [r8], eax
add edx, 0x5bd1e995
lea r8, [r8 + 4]
sub r9, 1
jne 0x1400fa801
mov r9d, 0x1b
lea r8, [rbp - 0x4c]
lea rdx, [rbp - 0x20]
call fcn.14011c9b0
mov qword [rbp - 0x28], rax
movsx ebx, byte [rbp - 0x50]
mov ecx, ebx
call fcn.140013f00
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x1400fa86c
mov edx, 0x84
call fcn.140128630
cmp ebx, 0xffffffb7
jg 0x1400fa87b
mov edx, 0x9d
call fcn.140128630
imul eax, ebx, 0x5bd1e995
mov ecx, eax
shr ecx, 0x18
xor ecx, eax
imul r10d, ecx, 0x5bd1e995
xor edx, edx
lea r8, [rbp - 0x4c]
mov r9, r15
nop dword [rax + rax]
mov eax, r10d
xor eax, edx
imul ecx, eax, 0x286a90b9
xor ecx, 0xaa2a7357
mov eax, ecx
shr eax, 0xd
xor eax, ecx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
shr eax, 0xf
xor eax, ecx
mov dword [r8], eax
add edx, 0x5bd1e995
lea r8, [r8 + 4]
sub r9, 1
jne 0x1400fa8a0
mov r9d, dword [0x140196874]
lea r8, [rbp - 0x4c]
mov rdx, qword [rbp - 0x28]
call fcn.14011cb00
mov rsi, rax
test rax, rax
je 0x1400fa92f
movsx edx, byte [rbp - 0x50]
movd xmm1, edx
punpcklbw xmm1, xmm1
punpcklwd xmm1, xmm1
pshufd xmm1, xmm1, 0
movdqu xmm0, xmmword [rax]
pxor xmm1, xmm0
movdqu xmmword [rax], xmm1
add rax, 0x10
mov ecx, 0xb
nop
xor byte [rax], dl
lea rax, [rax + 1]
sub rcx, 1
jne 0x1400fa920
mov byte [rsi + 0x1b], cl
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rdi, qword [rax]
mov eax, 0x5a4d
cmp qword [rdi + 0x60], 0
je 0x1400fa9ff
mov r11, qword [rdi + 0x30]
mov rdi, qword [rdi]
test r11, r11
je 0x1400fa948
cmp word [r11], ax
jne 0x1400fa9ff
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x1400fa9ff
mov ecx, dword [rax + r11 + 0x88]
test ecx, ecx
je 0x1400fa9ff
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 0x1400fa943
nop word [rax + rax]
xor dl, dl
mov ecx, dword [r9]
add rcx, r11
cmp byte [rcx], dl
je 0x1400fa9ee
mov r8, rsi
sub r8, rcx
movzx eax, byte [r8 + rcx]
test al, al
je 0x1400fa9ea
cmp byte [rcx], al
jne 0x1400fa9ee
mov dl, 1
inc rcx
cmp byte [rcx], 0
jne 0x1400fa9c2
movsxd rax, r10d
movzx ecx, word [r15 + rax*2]
mov eax, dword [r14 + rcx*4]
add rax, r11
jmp 0x1400faa01
test dl, dl
jne 0x1400fa9d9
inc r10d
add r9, 4
cmp r10d, ebx
jb 0x1400fa9b0
jmp 0x1400fa943
xor eax, eax
xor r9d, r9d
xor r8d, r8d
lea rdx, [0x140173e78]
lea rcx, [rbp + 0x1f0]
call rax
mov r13d, eax
test eax, eax
js 0x1400fb9e7
mov r12, qword [rbp + 0x1f0]
mov cl, 0xe
mov byte [rbp + 0xb0], cl
movdqa xmm0, xmmword [0x140174b90]
movdqu xmmword [rbp + 0xe0], xmm0
mov word [rbp + 0xf0], 0x77
movsx ebx, cl
mov ecx, ebx
call fcn.140013f00
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x1400faa65
mov edx, 0x84
call fcn.140128630
cmp ebx, 0xffffffb7
jg 0x1400faa74
mov edx, 0x9d
call fcn.140128630
imul eax, ebx, 0x5bd1e995
mov ecx, eax
shr ecx, 0x18
xor ecx, eax
imul r10d, ecx, 0x5bd1e995
xor edx, edx
lea r8, [rbp + 0xb4]
mov edi, 8
mov r9d, edi
nop dword [rax]
mov eax, r10d
xor eax, edx
imul ecx, eax, 0x286a90b9
xor ecx, 0xaa2a7357
mov eax, ecx
shr eax, 0xd
xor eax, ecx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
shr eax, 0xf
xor eax, ecx
mov dword [r8], eax
add edx, 0x5bd1e995
lea r8, [r8 + 4]
sub r9, 1
jne 0x1400faaa0
mov r9d, 0x11
lea r8, [rbp + 0xb4]
lea rdx, [rbp + 0xe0]
call fcn.14011c9b0
mov qword [rbp + 0xd8], rax
movsx ebx, byte [rbp + 0xb0]
mov ecx, ebx
call fcn.140013f00
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x1400fab17
mov edx, 0x84
call fcn.140128630
cmp ebx, 0xffffffb7
jg 0x1400fab26
mov edx, 0x9d
call fcn.140128630
imul eax, ebx, 0x5bd1e995
mov ecx, eax
shr ecx, 0x18
xor ecx, eax
imul r10d, ecx, 0x5bd1e995
xor edx, edx
lea r8, [rbp + 0xb4]
mov r9, rdi
nop word [rax + rax]
mov eax, r10d
xor eax, edx
imul ecx, eax, 0x286a90b9
xor ecx, 0xaa2a7357
mov eax, ecx
shr eax, 0xd
xor eax, ecx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
shr eax, 0xf
xor eax, ecx
mov dword [r8], eax
add edx, 0x5bd1e995
lea r8, [r8 + 4]
sub r9, 1
jne 0x1400fab50
mov r9d, dword [0x140196874]
lea r8, [rbp + 0xb4]
mov rdx, qword [rbp + 0xd8]
call fcn.14011cb00
mov rsi, rax
test rax, rax
je 0x1400fabd5
movsx ecx, byte [rbp + 0xb0]
movd xmm1, ecx
punpcklbw xmm1, xmm1
punpcklwd xmm1, xmm1
pshufd xmm1, xmm1, 0
movdqu xmm0, xmmword [rax]
pxor xmm1, xmm0
movdqu xmmword [rax], xmm1
xor byte [rax + 0x10], cl
mov byte [rax + 0x11], 0
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 0x1400faca4
mov r11, qword [rdi + 0x30]
mov rdi, qword [rdi]
test r11, r11
je 0x1400fabe9
mov r14d, 0x5a4d
cmp word [r11], r14w
jne 0x1400faca0
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x1400faca0
mov ecx, dword [rax + r11 + 0x88]
test ecx, ecx
je 0x1400faca0
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 0x1400fabe9
xor dl, dl
mov ecx, dword [r9]
add rcx, r11
cmp byte [rcx], dl
je 0x1400fac8f
mov r8, rsi
sub r8, rcx
movzx eax, byte [r8 + rcx]
test al, al
je 0x1400fac8b
cmp byte [rcx], al
jne 0x1400fac8f
mov dl, 1
inc rcx
cmp byte [rcx], 0
jne 0x1400fac63
movsxd rax, r10d
movzx ecx, word [r15 + rax*2]
mov eax, dword [r14 + rcx*4]
add rax, r11
jmp 0x1400faca6
test dl, dl
jne 0x1400fac7a
inc r10d
add r9, 4
cmp r10d, ebx
jb 0x1400fac51
jmp 0x1400fabe9
xor eax, eax
jmp 0x1400facac
xor eax, eax
mov r14d, 0x5a4d
mov dword [rsp + 0x20], 0
mov r9d, 0x20
lea r8, str.ChainingModeGCM
lea rdx, str.ChainingMode
mov rcx, r12
call rax
mov r13d, eax
test eax, eax
js 0x1400fb9e7
mov r12, qword [rbp + 0x1f0]
lea rdx, str.BCryptGetProperty
lea rcx, [rbp + 0x1a0]
call fcn.1400f7aa0
mov rcx, rax
call fcn.14001e060
mov r15, 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 0x1400faddf
nop dword [rax]
mov r11, qword [rdi + 0x30]
mov rdi, qword [rdi]
test r11, r11
je 0x1400fadc9
cmp word [r11], r14w
jne 0x1400faddb
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x1400faddb
mov ecx, dword [rax + r11 + 0x88]
test ecx, ecx
je 0x1400faddb
lea rax, [r11 + rcx]
mov esi, dword [rax + 0x1c]
add rsi, r11
mov r9d, dword [rax + 0x20]
add r9, r11
mov r14d, dword [rax + 0x24]
add r14, r11
xor r10d, r10d
mov ebx, dword [rax + 0x18]
test ebx, ebx
je 0x1400fadc9
nop
xor dl, dl
mov ecx, dword [r9]
add rcx, r11
cmp byte [rcx], dl
je 0x1400fadbd
mov r8, r15
sub r8, rcx
movzx eax, byte [r8 + rcx]
test al, al
je 0x1400fadb9
cmp byte [rcx], al
jne 0x1400fadbd
mov dl, 1
inc rcx
cmp byte [rcx], 0
jne 0x1400fad92
movsxd rax, r10d
movzx ecx, word [r14 + rax*2]
mov eax, dword [rsi + rcx*4]
add rax, r11
jmp 0x1400fade1
test dl, dl
jne 0x1400fada9
inc r10d
add r9, 4
cmp r10d, ebx
jb 0x1400fad80
cmp qword [rdi + 0x60], 0
je 0x1400faddf
mov r14d, 0x5a4d
jmp 0x1400fad20
xor eax, eax
jmp 0x1400fade7
xor eax, eax
mov r14d, 0x5a4d
mov dword [rsp + 0x28], 0
lea rcx, [rbp + 0x270]
mov qword [rsp + 0x20], rcx
mov edi, 0xc
mov r9d, edi
lea r8, [rbp + 0x200]
lea rdx, str.AuthTagLength
mov rcx, r12
call rax
mov r13d, eax
test eax, eax
js 0x1400fb9ec
mov r12, qword [rbp + 0x1f0]
mov cl, 0x16
mov byte [rbp + 0x100], cl
movdqa xmm0, xmmword [0x140174ab0]
movdqu xmmword [rbp + 0x130], xmm0
mov word [rbp + 0x140], 0x6f
movsx ebx, cl
mov ecx, ebx
call fcn.140013f00
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x1400fae62
lea edx, [rdi + 0x78]
call fcn.140128630
cmp ebx, 0xffffffb7
jg 0x1400fae71
mov edx, 0x9d
call fcn.140128630
imul eax, ebx, 0x5bd1e995
mov ecx, eax
shr ecx, 0x18
xor ecx, eax
imul r11d, ecx, 0x5bd1e995
xor edx, edx
lea r8, [rbp + 0x104]
mov edi, 8
mov r10d, edi
nop word [rax + rax]
mov eax, r11d
xor eax, edx
imul ecx, eax, 0x286a90b9
xor ecx, 0xaa2a7357
mov eax, ecx
shr eax, 0xd
xor eax, ecx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
shr eax, 0xf
xor eax, ecx
mov dword [r8], eax
add edx, 0x5bd1e995
lea r8, [r8 + 4]
sub r10, 1
jne 0x1400faea0
lea r9d, [r10 + 0x11]
lea r8, [rbp + 0x104]
lea rdx, [rbp + 0x130]
call fcn.14011c9b0
mov qword [rbp + 0x128], rax
movsx ebx, byte [rbp + 0x100]
mov ecx, ebx
call fcn.140013f00
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x1400faf15
mov edx, 0x84
call fcn.140128630
cmp ebx, 0xffffffb7
jg 0x1400faf24
mov edx, 0x9d
call fcn.140128630
imul eax, ebx, 0x5bd1e995
mov ecx, eax
shr ecx, 0x18
xor ecx, eax
imul r10d, ecx, 0x5bd1e995
xor edx, edx
lea r8, [rbp + 0x104]
mov r9, rdi
mov eax, r10d
xor eax, edx
imul ecx, eax, 0x286a90b9
xor ecx, 0xaa2a7357
mov eax, ecx
shr eax, 0xd
xor eax, ecx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
shr eax, 0xf
xor eax, ecx
mov dword [r8], eax
add edx, 0x5bd1e995
lea r8, [r8 + 4]
sub r9, 1
jne 0x1400faf44
mov r9d, dword [0x140196874]
lea r8, [rbp + 0x104]
mov rdx, qword [rbp + 0x128]
call fcn.14011cb00
mov rsi, rax
test rax, rax
je 0x1400fafc9
movsx ecx, byte [rbp + 0x100]
movd xmm1, ecx
punpcklbw xmm1, xmm1
punpcklwd xmm1, xmm1
pshufd xmm1, xmm1, 0
movdqu xmm0, xmmword [rax]
pxor xmm1, xmm0
movdqu xmmword [rax], xmm1
xor byte [rax + 0x10], cl
mov byte [rax + 0x11], 0
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 0x1400fb0b0
nop dword [rax + rax]
mov r11, qword [rdi + 0x30]
mov rdi, qword [rdi]
test r11, r11
je 0x1400fb09a
cmp word [r11], r14w
jne 0x1400fb0ac
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x1400fb0ac
mov ecx, dword [rax + r11 + 0x88]
test ecx, ecx
je 0x1400fb0ac
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 0x1400fb09a
nop
xor dl, dl
mov ecx, dword [r9]
add rcx, r11
cmp byte [rcx], dl
je 0x1400fb08e
mov r8, rsi
sub r8, rcx
movzx eax, byte [r8 + rcx]
test al, al
je 0x1400fb08a
cmp byte [rcx], al
jne 0x1400fb08e
mov dl, 1
inc rcx
cmp byte [rcx], 0
jne 0x1400fb062
movsxd rax, r10d
movzx ecx, word [r15 + rax*2]
mov eax, dword [r14 + rcx*4]
add rax, r11
jmp 0x1400fb0b2
test dl, dl
jne 0x1400fb079
inc r10d
add r9, 4
cmp r10d, ebx
jb 0x1400fb050
cmp qword [rdi + 0x60], 0
je 0x1400fb0b0
mov r14d, 0x5a4d
jmp 0x1400faff0
xor eax, eax
jmp 0x1400fb0b8
xor eax, eax
mov r14d, 0x5a4d
mov dword [rsp + 0x28], 0
lea rcx, [rbp + 0x270]
mov qword [rsp + 0x20], rcx
mov r9d, 4
lea r8, [rbp + 0x290]
lea rdx, str.BlockLength
mov rcx, r12
call rax
mov r13d, eax
test eax, eax
js 0x1400fb9e7
mov r12, qword [rsp + 0x60]
mov r12, qword [r12 + 8]
mov r13, qword [rbp + 0x1f0]
mov cl, 0x52
mov byte [rbp + 0x50], cl
movdqa xmm0, xmmword [0x1401748a0]
movdqu xmmword [rbp + 0x80], xmm0
mov dword [rbp + 0x90], 0x26373f3f
mov dword [rbp + 0x94], 0x19313b20
mov word [rbp + 0x98], 0x2b37
xor eax, eax
mov byte [rbp + 0x9a], al
movsx ebx, cl
mov ecx, ebx
call fcn.140013f00
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x1400fb156
mov edx, 0x84
call fcn.140128630
cmp ebx, 0xffffffb7
jg 0x1400fb165
mov edx, 0x9d
call fcn.140128630
imul eax, ebx, 0x5bd1e995
mov ecx, eax
shr ecx, 0x18
xor ecx, eax
imul r10d, ecx, 0x5bd1e995
xor edx, edx
lea r8, [rbp + 0x54]
mov edi, 8
mov r9d, edi
nop word [rax + rax]
mov eax, edx
xor eax, r10d
imul ecx, eax, 0x286a90b9
xor ecx, 0xaa2a7357
mov eax, ecx
shr eax, 0xd
xor eax, ecx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
shr eax, 0xf
xor eax, ecx
mov dword [r8], eax
add edx, 0x5bd1e995
lea r8, [r8 + 4]
sub r9, 1
jne 0x1400fb190
mov r9d, 0x1a
lea r8, [rbp + 0x54]
lea rdx, [rbp + 0x80]
call fcn.14011c9b0
mov qword [rbp + 0x78], rax
movsx ebx, byte [rbp + 0x50]
mov ecx, ebx
call fcn.140013f00
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x1400fb1fe
mov edx, 0x84
call fcn.140128630
cmp ebx, 0xffffffb7
jg 0x1400fb20d
mov edx, 0x9d
call fcn.140128630
imul eax, ebx, 0x5bd1e995
mov ecx, eax
shr ecx, 0x18
xor ecx, eax
imul r10d, ecx, 0x5bd1e995
xor edx, edx
lea r8, [rbp + 0x54]
mov r9, rdi
nop word [rax + rax]
mov eax, edx
xor eax, r10d
imul ecx, eax, 0x286a90b9
xor ecx, 0xaa2a7357
mov eax, ecx
shr eax, 0xd
xor eax, ecx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
shr eax, 0xf
xor eax, ecx
mov dword [r8], eax
add edx, 0x5bd1e995
lea r8, [r8 + 4]
sub r9, 1
jne 0x1400fb230
mov r9d, dword [0x140196874]
lea r8, [rbp + 0x54]
mov rdx, qword [rbp + 0x78]
call fcn.14011cb00
mov rsi, rax
test rax, rax
je 0x1400fb2bf
movsx edx, byte [rbp + 0x50]
movd xmm1, edx
punpcklbw xmm1, xmm1
punpcklwd xmm1, xmm1
pshufd xmm1, xmm1, 0
movdqu xmm0, xmmword [rax]
pxor xmm1, xmm0
movdqu xmmword [rax], xmm1
add rax, 0x10
mov ecx, 0xa
nop
xor byte [rax], dl
lea rax, [rax + 1]
sub rcx, 1
jne 0x1400fb2b0
mov byte [rsi + 0x1a], cl
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 0x1400fb3a0
nop
mov r11, qword [rdi + 0x30]
mov rdi, qword [rdi]
test r11, r11
je 0x1400fb38a
cmp word [r11], r14w
jne 0x1400fb39c
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x1400fb39c
mov ecx, dword [rax + r11 + 0x88]
test ecx, ecx
je 0x1400fb39c
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 0x1400fb38a
nop
xor dl, dl
mov ecx, dword [r9]
add rcx, r11
cmp byte [rcx], dl
je 0x1400fb37e
mov r8, rsi
sub r8, rcx
movzx eax, byte [rcx + r8]
test al, al
je 0x1400fb37a
cmp byte [rcx], al
jne 0x1400fb37e
mov dl, 1
inc rcx
cmp byte [rcx], 0
jne 0x1400fb352
movsxd rax, r10d
movzx ecx, word [r15 + rax*2]
mov eax, dword [r14 + rcx*4]
add rax, r11
jmp 0x1400fb3a2
test dl, dl
jne 0x1400fb369
inc r10d
add r9, 4
cmp r10d, ebx
jb 0x1400fb340
cmp qword [rdi + 0x60], 0
je 0x1400fb3a0
mov r14d, 0x5a4d
jmp 0x1400fb2e0
xor eax, eax
jmp 0x1400fb3a8
xor eax, eax
mov r14d, 0x5a4d
mov dword [rsp + 0x30], 0
mov ecx, dword [rsp + 0x58]
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x1f8]
mov rcx, r13
call rax
mov r13d, eax
test eax, eax
js 0x1400fb9e7
mov edi, dword [rbp + 0x204]
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x308], xmm0
mov qword [rbp + 0x318], 0
test rdi, rdi
je 0x1400fb45e
cmp rdi, 0x1000
jb 0x1400fb430
lea rcx, [rdi + 0x27]
cmp rcx, rdi
jbe 0x1400fc5b4
call fcn.14012bbb4
mov rcx, rax
test rax, rax
je 0x1400fc596
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x1400fb438
mov rcx, rdi
call fcn.14012bbb4
mov qword [rbp + 0x308], rax
lea rbx, [rax + rdi]
mov qword [rbp + 0x318], rbx
mov r8, rdi
xor edx, edx
mov rcx, rax
call fcn.14012e2b0
mov qword [rbp + 0x310], rbx
mov ebx, dword [rbp + 0x200]
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x2b0], xmm0
mov qword [rbp + 0x2c0], 0
xor edi, edi
xor ecx, ecx
test rbx, rbx
je 0x1400fb4e8
cmp rbx, 0x1000
jb 0x1400fb4b8
lea rcx, [rbx + 0x27]
cmp rcx, rbx
jbe 0x1400fc5b4
call fcn.14012bbb4
mov rcx, rax
test rax, rax
je 0x1400fc596
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x1400fb4c0
mov rcx, rbx
call fcn.14012bbb4
mov qword [rbp + 0x2b0], rax
lea rdi, [rax + rbx]
mov qword [rbp + 0x2c0], rdi
mov r8, rbx
xor edx, edx
mov rcx, rax
call fcn.14012e2b0
mov qword [rbp + 0x2b8], rdi
mov ecx, edi
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x210], xmm0
movups xmmword [rbp + 0x220], xmm0
movups xmmword [rbp + 0x230], xmm0
movups xmmword [rbp + 0x240], xmm0
movups xmmword [rbp + 0x250], xmm0
mov qword [rbp + 0x260], rax
mov dword [rbp + 0x210], 0x58
mov dword [rbp + 0x214], 1
lea rax, [rbp + 0x2e8]
cmp qword [rbp + 0x300], 0x10
jb 0x1400fb545
mov rax, qword [rbp + 0x2e8]
mov edi, ecx
mov qword [rbp + 0x218], rax
mov eax, dword [rbp + 0x2f8]
mov dword [rbp + 0x220], eax
mov rax, qword [rbp + 0x2b0]
mov qword [rbp + 0x238], rax
sub edi, eax
mov dword [rbp + 0x240], edi
mov rcx, qword [rbp + 0x308]
mov qword [rbp + 0x248], rcx
mov eax, dword [rbp + 0x310]
sub eax, ecx
mov dword [rbp + 0x250], eax
mov ebx, dword [rbp + 0x290]
movdqu xmmword [rbp + 0x298], xmm0
mov qword [rbp + 0x2a8], 0
test rbx, rbx
je 0x1400fb60d
cmp rbx, 0x1000
jb 0x1400fb5dd
lea rcx, [rbx + 0x27]
cmp rcx, rbx
jbe 0x1400fc5b4
call fcn.14012bbb4
mov rcx, rax
test rax, rax
je 0x1400fc596
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x1400fb5e5
mov rcx, rbx
call fcn.14012bbb4
mov qword [rbp + 0x298], rax
lea r13, [rax + rbx]
mov qword [rbp + 0x2a8], r13
mov r8, rbx
xor edx, edx
mov rcx, rax
call fcn.14012e2b0
mov qword [rbp + 0x2a0], r13
jmp 0x1400fb614
mov r13, qword [rbp + 0x2a0]
mov dword [rbp + 0x260], 1
mov rax, qword [rbp + 0x278]
mov qword [rsp + 0x60], rax
mov rax, qword [rbp + 0x298]
mov qword [rsp + 0x58], rax
sub r13, rax
mov rax, qword [rbp + 0x1f8]
mov qword [rbp], rax
mov cl, 0x31
mov byte [rbp + 0x10], cl
mov dword [rbp + 0x40], 0x48437273
mov dword [rbp + 0x44], 0x54754541
mov dword [rbp + 0x48], 0x41484352
mov word [rbp + 0x4c], 0x45
movsx ebx, cl
mov ecx, ebx
call fcn.140013f00
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x1400fb67f
mov edx, 0x84
call fcn.140128630
cmp ebx, 0xffffffb7
jg 0x1400fb68e
mov edx, 0x9d
call fcn.140128630
imul eax, ebx, 0x5bd1e995
mov ecx, eax
shr ecx, 0x18
xor ecx, eax
imul r10d, ecx, 0x5bd1e995
xor edx, edx
lea r8, [rbp + 0x14]
mov edi, 8
mov r9d, edi
mov eax, r10d
xor eax, edx
imul ecx, eax, 0x286a90b9
xor ecx, 0xaa2a7357
mov eax, ecx
shr eax, 0xd
xor eax, ecx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
shr eax, 0xf
xor eax, ecx
mov dword [r8], eax
add edx, 0x5bd1e995
lea r8, [r8 + 4]
sub r9, 1
jne 0x1400fb6b0
mov r12d, 0xd
mov r9d, r12d
lea r8, [rbp + 0x14]
lea rdx, [rbp + 0x40]
call fcn.14011c9b0
mov qword [rbp + 0x38], rax
movsx ebx, byte [rbp + 0x10]
mov ecx, ebx
call fcn.140013f00
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x1400fb71e
lea edx, [r12 + 0x77]
call fcn.140128630
cmp ebx, 0xffffffb7
jg 0x1400fb72d
mov edx, 0x9d
call fcn.140128630
imul eax, ebx, 0x5bd1e995
mov ecx, eax
shr ecx, 0x18
xor ecx, eax
imul r10d, ecx, 0x5bd1e995
xor edx, edx
lea r8, [rbp + 0x14]
mov r9, rdi
nop word [rax + rax]
mov eax, r10d
xor eax, edx
imul ecx, eax, 0x286a90b9
xor ecx, 0xaa2a7357
mov eax, ecx
shr eax, 0xd
xor eax, ecx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
shr eax, 0xf
xor eax, ecx
mov dword [r8], eax
add edx, 0x5bd1e995
lea r8, [r8 + 4]
sub r9, 1
jne 0x1400fb750
mov r9d, dword [0x140196874]
lea r8, [rbp + 0x14]
mov rdx, qword [rbp + 0x38]
call fcn.14011cb00
mov rsi, rax
test rax, rax
je 0x1400fb7bf
mov rcx, r12
movzx edx, byte [rbp + 0x10]
nop dword [rax + rax]
xor byte [rax], dl
lea rax, [rax + 1]
sub rcx, 1
jne 0x1400fb7b0
mov byte [rsi + 0xd], cl
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 0x1400fb8a0
nop
mov r11, qword [rdi + 0x30]
mov rdi, qword [rdi]
test r11, r11
je 0x1400fb88a
cmp word [r11], r14w
jne 0x1400fb89c
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x1400fb89c
mov ecx, dword [rax + r11 + 0x88]
test ecx, ecx
je 0x1400fb89c
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 0x1400fb88a
nop
xor dl, dl
mov ecx, dword [r9]
add rcx, r11
cmp byte [rcx], dl
je 0x1400fb87e
mov r8, rsi
sub r8, rcx
movzx eax, byte [r8 + rcx]
test al, al
je 0x1400fb87a
cmp byte [rcx], al
jne 0x1400fb87e
mov dl, 1
inc rcx
cmp byte [rcx], 0
jne 0x1400fb852
movsxd rax, r10d
movzx ecx, word [r15 + rax*2]
mov eax, dword [r14 + rcx*4]
add rax, r11
jmp 0x1400fb8a2
test dl, dl
jne 0x1400fb869
inc r10d
add r9, 4
cmp r10d, ebx
jb 0x1400fb840
cmp qword [rdi + 0x60], 0
je 0x1400fb8a0
mov r14d, 0x5a4d
jmp 0x1400fb7e0
xor eax, eax
jmp 0x1400fb8a8
xor eax, eax
mov r14d, 0x5a4d
mov dword [rsp + 0x48], 0
lea rcx, [rbp + 0x270]
mov qword [rsp + 0x40], rcx
mov dword [rsp + 0x38], 0x80
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], r13
mov r8, qword [rsp + 0x58]
mov qword [rsp + 0x20], r8
lea r9, [rbp + 0x210]
mov r8d, 0x80
mov rcx, qword [rbp]
call rax
mov r13d, eax
test eax, eax
jns 0x1400fbc73
mov rcx, qword [rbp + 0x298]
test rcx, rcx
je 0x1400fb951
mov rdx, qword [rbp + 0x2a8]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400fb936
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400fc596
call fcn.14012b910
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x298], xmm0
mov qword [rbp + 0x2a8], 0
mov rcx, qword [rbp + 0x2b0]
test rcx, rcx
je 0x1400fb9a7
mov rdx, qword [rbp + 0x2c0]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400fb98c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400fc596
call fcn.14012b910
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x2b0], xmm0
mov qword [rbp + 0x2c0], 0
mov rcx, qword [rbp + 0x308]
test rcx, rcx
je 0x1400fb9e7
mov rdx, qword [rbp + 0x318]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400fb9e2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400fc596
call fcn.14012b910
mov edi, 0xc
mov r12, qword [rbp + 0x1f0]
test r12, r12
je 0x1400fc063
mov cl, 0x1a
mov byte [rbp - 0x50], cl
movdqa xmm0, xmmword [0x140174b00]
movdqu xmmword [rbp - 0x20], xmm0
mov dword [rbp - 0x10], 0x77726e73
mov dword [rbp - 0xc], 0x6c75684a
mov dword [rbp - 8], 0x687f7e73
xor eax, eax
mov byte [rbp - 4], al
movsx ebx, cl
mov ecx, ebx
call fcn.140013f00
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x1400fba43
mov edx, 0x84
call fcn.140128630
cmp ebx, 0xffffffb7
jg 0x1400fba52
mov edx, 0x9d
call fcn.140128630
imul eax, ebx, 0x5bd1e995
mov ecx, eax
shr ecx, 0x18
xor ecx, eax
imul r10d, ecx, 0x5bd1e995
xor edx, edx
lea r8, [rbp - 0x4c]
mov esi, 8
mov r9d, esi
mov eax, r10d
xor eax, edx
imul ecx, eax, 0x286a90b9
xor ecx, 0xaa2a7357
mov eax, ecx
shr eax, 0xd
xor eax, ecx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
shr eax, 0xf
xor eax, ecx
mov dword [r8], eax
add edx, 0x5bd1e995
lea r8, [r8 + 4]
sub r9, 1
jne 0x1400fba74
mov r9d, 0x1c
lea r8, [rbp - 0x4c]
lea rdx, [rbp - 0x20]
call fcn.14011c9b0
mov qword [rbp - 0x28], rax
movsx ebx, byte [rbp - 0x50]
mov ecx, ebx
call fcn.140013f00
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x1400fbadf
mov edx, 0x84
call fcn.140128630
cmp ebx, 0xffffffb7
jg 0x1400fbaee
mov edx, 0x9d
call fcn.140128630
imul eax, ebx, 0x5bd1e995
mov ecx, eax
shr ecx, 0x18
xor ecx, eax
imul r10d, ecx, 0x5bd1e995
xor edx, edx
lea r8, [rbp - 0x4c]
mov r9, rsi
nop dword [rax + rax]
mov eax, r10d
xor eax, edx
imul ecx, eax, 0x286a90b9
xor ecx, 0xaa2a7357
mov eax, ecx
shr eax, 0xd
xor eax, ecx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
shr eax, 0xf
xor eax, ecx
mov dword [r8], eax
add edx, 0x5bd1e995
lea r8, [r8 + 4]
sub r9, 1
jne 0x1400fbb10
mov r9d, dword [0x140196874]
lea r8, [rbp - 0x4c]
mov rdx, qword [rbp - 0x28]
call fcn.14011cb00
mov rsi, rax
test rax, rax
je 0x1400fbba0
movsx ecx, byte [rbp - 0x50]
movd xmm1, ecx
punpcklbw xmm1, xmm1
punpcklwd xmm1, xmm1
pshufd xmm1, xmm1, 0
movdqu xmm0, xmmword [rax]
pxor xmm1, xmm0
movdqu xmmword [rax], xmm1
add rax, 0x10
nop dword [rax]
xor byte [rax], cl
lea rax, [rax + 1]
sub rdi, 1
jne 0x1400fbb90
mov byte [rsi + 0x1c], dil
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 0x1400fc05a
mov r11, qword [rdi + 0x30]
mov rdi, qword [rdi]
test r11, r11
je 0x1400fbbb4
mov eax, 0x5a4d
cmp word [r11], ax
jne 0x1400fc05a
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x1400fc05a
mov ecx, dword [rax + r11 + 0x88]
test ecx, ecx
je 0x1400fc05a
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 0x1400fbbb4
nop
xor dl, dl
mov ecx, dword [r9]
add rcx, r11
cmp byte [rcx], dl
je 0x1400fc045
mov r8, rsi
sub r8, rcx
nop word [rax + rax]
movzx eax, byte [r8 + rcx]
test al, al
je 0x1400fc03d
cmp byte [rcx], al
jne 0x1400fc045
mov dl, 1
inc rcx
cmp byte [rcx], 0
jne 0x1400fbc40
movsxd rax, r10d
movzx ecx, word [r15 + rax*2]
mov eax, dword [r14 + rcx*4]
add rax, r11
jmp 0x1400fc05c
mov rax, qword [rbp + 0x278]
sub rax, 0xffffffffffffff80
mov qword [rbp], rax
mov r13, qword [rbp + 0x2a0]
mov rax, qword [rbp + 0x298]
mov qword [rsp + 0x60], rax
sub r13, rax
mov rax, qword [rbp + 0x1f8]
mov qword [rsp + 0x58], rax
mov cl, 0x30
mov byte [rsp + 0x70], cl
mov dword [rbp - 0x60], 0x49427372
mov dword [rbp - 0x5c], 0x55744440
mov dword [rbp - 0x58], 0x40494253
mov word [rbp - 0x54], 0x44
movsx ebx, cl
mov ecx, ebx
call fcn.140013f00
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x1400fbce0
mov edx, 0x84
call fcn.140128630
cmp ebx, 0xffffffb7
jg 0x1400fbcef
mov edx, 0x9d
call fcn.140128630
imul eax, ebx, 0x5bd1e995
mov ecx, eax
shr ecx, 0x18
xor ecx, eax
imul r10d, ecx, 0x5bd1e995
xor edx, edx
lea r8, [rsp + 0x74]
mov edi, 8
mov r9d, edi
mov eax, r10d
xor eax, edx
imul ecx, eax, 0x286a90b9
xor ecx, 0xaa2a7357
mov eax, ecx
shr eax, 0xd
xor eax, ecx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
shr eax, 0xf
xor eax, ecx
mov dword [r8], eax
add edx, 0x5bd1e995
lea r8, [r8 + 4]
sub r9, 1
jne 0x1400fbd12
mov r9d, r12d
lea r8, [rsp + 0x74]
lea rdx, [rbp - 0x60]
call fcn.14011c9b0
mov qword [rbp - 0x68], rax
movsx ebx, byte [rsp + 0x70]
mov ecx, ebx
call fcn.140013f00
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x1400fbd7c
mov edx, 0x84
call fcn.140128630
cmp ebx, 0xffffffb7
jg 0x1400fbd8b
mov edx, 0x9d
call fcn.140128630
imul eax, ebx, 0x5bd1e995
mov ecx, eax
shr ecx, 0x18
xor ecx, eax
imul r10d, ecx, 0x5bd1e995
xor edx, edx
lea r8, [rsp + 0x74]
mov r9, rdi
nop dword [rax]
mov eax, r10d
xor eax, edx
imul ecx, eax, 0x286a90b9
xor ecx, 0xaa2a7357
mov eax, ecx
shr eax, 0xd
xor eax, ecx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
shr eax, 0xf
xor eax, ecx
mov dword [r8], eax
add edx, 0x5bd1e995
lea r8, [r8 + 4]
sub r9, 1
jne 0x1400fbdb0
mov r9d, dword [0x140196874]
lea r8, [rsp + 0x74]
mov rdx, qword [rbp - 0x68]
call fcn.14011cb00
mov rsi, rax
test rax, rax
je 0x1400fbe20
movzx ecx, byte [rsp + 0x70]
nop word [rax + rax]
xor byte [rax], cl
lea rax, [rax + 1]
sub r12, 1
jne 0x1400fbe10
mov byte [rsi + 0xd], r12b
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 0x1400fbefc
nop
mov r11, qword [rdi + 0x30]
mov rdi, qword [rdi]
test r11, r11
je 0x1400fbeea
cmp word [r11], r14w
jne 0x1400fbefc
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x1400fbefc
mov ecx, dword [rax + r11 + 0x88]
test ecx, ecx
je 0x1400fbefc
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 0x1400fbeea
nop
xor dl, dl
mov ecx, dword [r9]
add rcx, r11
cmp byte [rcx], dl
je 0x1400fbede
mov r8, rsi
sub r8, rcx
movzx eax, byte [r8 + rcx]
test al, al
je 0x1400fbeda
cmp byte [rcx], al
jne 0x1400fbede
mov dl, 1
inc rcx
cmp byte [rcx], 0
jne 0x1400fbeb2
movsxd rax, r10d
movzx ecx, word [r15 + rax*2]
mov eax, dword [r14 + rcx*4]
add rax, r11
jmp 0x1400fbefe
test dl, dl
jne 0x1400fbec9
inc r10d
add r9, 4
cmp r10d, ebx
jb 0x1400fbea0
cmp qword [rdi + 0x60], 0
je 0x1400fbefc
mov r14d, 0x5a4d
jmp 0x1400fbe40
xor eax, eax
mov dword [rsp + 0x48], 0
lea rcx, [rbp + 0x270]
mov qword [rsp + 0x40], rcx
mov dword [rsp + 0x38], 0x80
mov rdx, qword [rbp]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], r13
mov r9, qword [rsp + 0x60]
mov qword [rsp + 0x20], r9
lea r9, [rbp + 0x210]
mov r8d, 0x80
mov rcx, qword [rsp + 0x58]
call rax
mov r13d, eax
mov rcx, qword [rbp + 0x298]
test rcx, rcx
je 0x1400fbf9f
mov rdx, qword [rbp + 0x2a8]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400fbf84
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400fc596
call fcn.14012b910
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x298], xmm0
mov qword [rbp + 0x2a8], 0
mov rcx, qword [rbp + 0x2b0]
test rcx, rcx
je 0x1400fbff5
mov rdx, qword [rbp + 0x2c0]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400fbfda
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400fc596
call fcn.14012b910
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x2b0], xmm0
mov qword [rbp + 0x2c0], 0
mov rcx, qword [rbp + 0x308]
test rcx, rcx
je 0x1400fb9e7
mov rdx, qword [rbp + 0x318]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400fb9e2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400fc596
jmp 0x1400fb9e2
test dl, dl
jne 0x1400fbc5f
inc r10d
add r9, 4
cmp r10d, ebx
jb 0x1400fbc20
jmp 0x1400fbbb4
xor eax, eax
xor edx, edx
mov rcx, r12
call rax
mov r12, qword [rbp + 0x1f8]
test r12, r12
je 0x1400fc2d8
mov cl, 0x1f
mov byte [rbp + 0x150], cl
movdqa xmm0, xmmword [0x140174ae0]
movdqu xmmword [rbp + 0x180], xmm0
xor eax, eax
mov byte [rbp + 0x190], al
movsx ebx, cl
mov ecx, ebx
call fcn.140013f00
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x1400fc0ae
mov edx, 0x84
call fcn.140128630
cmp ebx, 0xffffffb7
jg 0x1400fc0bd
mov edx, 0x9d
call fcn.140128630
imul eax, ebx, 0x5bd1e995
mov ecx, eax
shr ecx, 0x18
xor ecx, eax
imul r10d, ecx, 0x5bd1e995
xor edx, edx
lea r8, [rbp + 0x154]
mov edi, 8
mov r9d, edi
mov eax, edx
xor eax, r10d
imul ecx, eax, 0x286a90b9
xor ecx, 0xaa2a7357
mov eax, ecx
shr eax, 0xd
xor eax, ecx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
shr eax, 0xf
xor eax, ecx
mov dword [r8], eax
add edx, 0x5bd1e995
lea r8, [r8 + 4]
sub r9, 1
jne 0x1400fc0e2
mov r9d, 0x10
lea r8, [rbp + 0x154]
lea rdx, [rbp + 0x180]
call fcn.14011c9b0
mov qword [rbp + 0x178], rax
movsx ebx, byte [rbp + 0x150]
mov ecx, ebx
call fcn.140013f00
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x1400fc159
mov edx, 0x84
call fcn.140128630
cmp ebx, 0xffffffb7
jg 0x1400fc168
mov edx, 0x9d
call fcn.140128630
imul eax, ebx, 0x5bd1e995
mov ecx, eax
shr ecx, 0x18
xor ecx, eax
imul r9d, ecx, 0x5bd1e995
xor edx, edx
lea r8, [rbp + 0x154]
mov eax, edx
xor eax, r9d
imul ecx, eax, 0x286a90b9
xor ecx, 0xaa2a7357
mov eax, ecx
shr eax, 0xd
xor eax, ecx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
shr eax, 0xf
xor eax, ecx
mov dword [r8], eax
add edx, 0x5bd1e995
lea r8, [r8 + 4]
sub rdi, 1
jne 0x1400fc185
mov r9d, dword [0x140196874]
lea r8, [rbp + 0x154]
mov rdx, qword [rbp + 0x178]
call fcn.14011cb00
mov rsi, rax
test rax, rax
je 0x1400fc207
movsx eax, byte [rbp + 0x150]
movd xmm1, eax
punpcklbw xmm1, xmm1
punpcklwd xmm1, xmm1
pshufd xmm1, xmm1, 0
movdqu xmm0, xmmword [rsi]
pxor xmm1, xmm0
movdqu xmmword [rsi], xmm1
mov byte [rsi + 0x10], 0
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 0x1400fc2d1
mov r11, qword [rdi + 0x30]
mov rdi, qword [rdi]
test r11, r11
je 0x1400fc21b
mov eax, 0x5a4d
cmp word [r11], ax
jne 0x1400fc2d1
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x1400fc2d1
mov ecx, dword [rax + r11 + 0x88]
test ecx, ecx
je 0x1400fc2d1
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 0x1400fc21b
xor dl, dl
mov ecx, dword [r9]
add rcx, r11
cmp byte [rcx], dl
je 0x1400fc2c0
mov r8, rsi
sub r8, rcx
movzx eax, byte [rcx + r8]
test al, al
je 0x1400fc2bc
cmp byte [rcx], al
jne 0x1400fc2c0
mov dl, 1
inc rcx
cmp byte [rcx], 0
jne 0x1400fc294
movsxd rax, r10d
movzx ecx, word [r15 + rax*2]
mov eax, dword [r14 + rcx*4]
add rax, r11
jmp 0x1400fc2d3
test dl, dl
jne 0x1400fc2ab
inc r10d
add r9, 4
cmp r10d, ebx
jb 0x1400fc282
jmp 0x1400fc21b
xor eax, eax
mov rcx, r12
call rax
mov rsi, qword [rbp + 0xa0]
mov qword [rsi], 0
mov qword [rsi + 0x10], 0
mov qword [rsi + 0x18], 0xf
test r13d, r13d
je 0x1400fc3d6
mov byte [rsp + 0x50], 0
mov r8d, 1
lea rdx, [rsp + 0x50]
mov rcx, rsi
call fcn.14001ea30
mov rcx, qword [rbp + 0x278]
test rcx, rcx
je 0x1400fc36d
mov rdx, qword [rbp + 0x288]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400fc352
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400fc590
call fcn.14012b910
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x278], xmm0
mov qword [rbp + 0x288], 0
lea rcx, [rbp + 0x2e8]
call fcn.14001e820
mov rcx, qword [rbp + 0x2c8]
test rcx, rcx
je 0x1400fc3b9
mov rdx, qword [rbp + 0x2d8]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400fc3b4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400fc590
call fcn.14012b910
lea rcx, [rbp + 0x328]
call fcn.14001e820
mov rcx, qword [rbp + 8]
call fcn.14001e820
mov rax, rsi
jmp 0x1400fc566
mov rdi, qword [rbp + 0xa8]
add edi, 0xfffffff0
mov r8, qword [rbp + 0x278]
add rdi, r8
mov rbx, r8
mov rdx, rdi
sub rdx, r8
cmp rdx, 0x10
jb 0x1400fc410
mov rcx, rsi
call fcn.140104330
mov qword [rsi + 0x10], 0
mov r8, qword [rbp + 0x278]
cmp rbx, rdi
je 0x1400fc467
nop word [rax + rax]
movzx r9d, byte [rbx]
mov rcx, qword [rsi + 0x10]
mov rdx, qword [rsi + 0x18]
cmp rcx, rdx
jae 0x1400fc450
lea rax, [rcx + 1]
mov qword [rsi + 0x10], rax
mov rax, rsi
cmp rdx, 0x10
jb 0x1400fc445
mov rax, qword [rsi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x1400fc458
mov rcx, rsi
call fcn.140023d00
inc rbx
cmp rbx, rdi
jne 0x1400fc420
mov r8, qword [rbp + 0x278]
test r8, r8
je 0x1400fc4b9
mov rdx, qword [rbp + 0x288]
sub rdx, r8
mov rax, r8
cmp rdx, 0x1000
jb 0x1400fc49b
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400fc59c
mov rcx, r8
call fcn.14012b910
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x278], xmm0
mov qword [rbp + 0x288], 0
lea rcx, [rbp + 0x2e8]
call fcn.14001e820
mov rcx, qword [rbp + 0x2c8]
test rcx, rcx
je 0x1400fc3b9
mov rdx, qword [rbp + 0x2d8]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400fc3b4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400fc59c
jmp 0x1400fc3b4
lea rcx, [rbp + 0x2c8]
call fcn.14001e820
mov qword [r14], 0
mov qword [r14 + 0x10], 0
mov qword [r14 + 0x18], 0
movups xmm0, xmmword [r12]
movups xmmword [r14], xmm0
movups xmm1, xmmword [r12 + 0x10]
movups xmmword [r14 + 0x10], xmm1
mov qword [r12 + 0x10], 0
mov qword [r12 + 0x18], 0xf
mov byte [r12], 0
mov rcx, r12
call fcn.14001e820
mov rax, r14
mov rcx, qword [rbp + 0x348]
xor rcx, rsp
call fcn.14012b8f0
mov rbx, qword [rsp + 0x4a8]
add rsp, 0x450
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140133e80
int3
call fcn.140133e80
int3
call fcn.140133e80
int3
call fcn.140023ca0
int3
call fcn.1400f2ac0
int3
call fcn.140005870
int3
call fcn.140005870
int3