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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
lea rbp, [rsp - 0x28]
sub rsp, 0x128
mov rax, qword [0x140181020]
xor rax, rsp
mov qword [rbp], rax
mov rax, qword [rbp + 0x80]
mov r13, rcx
mov qword [rbp - 0x70], rcx
lea rcx, [rsp + 0x40]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x58], r9
mov qword [rbp - 0x60], r8
mov qword [rbp - 0x68], rdx
call fcn.1400340b0
mov rbx, rax
movsx edi, byte [rax]
mov ecx, edi
call fcn.140014160
add edi, eax
cmp edi, 0xfffffff0
jg 0x14002ea49
mov edx, 0x84
call fcn.140052d80
cmp edi, 0xffffffb7
jg 0x14002ea58
mov edx, 0x9d
call fcn.140052d80
imul eax, edi, 0x5bd1e995
lea r8, [rbx + 4]
mov r12d, 8
mov r9, r8
mov r10d, r12d
mov ecx, eax
shr ecx, 0x18
xor ecx, eax
imul r11d, ecx, 0x5bd1e995
xor edx, edx
nop
mov eax, edx
lea r9, [r9 + 4]
xor eax, r11d
add edx, 0x5bd1e995
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 [r9 - 4], eax
sub r10, 1
jne 0x14002ea80
mov r9d, dword [0x14018719c]
mov rdx, qword [rbx + 0x28]
call fcn.1400525a0
mov rdi, rax
test rax, rax
je 0x14002eb32
movsx eax, byte [rbx]
xor r8d, r8d
movd xmm1, eax
lea rax, [rdi + 0x19]
punpcklbw xmm1, xmm1
punpcklwd xmm1, xmm1
pshufd xmm1, xmm1, 0
cmp rdi, rbx
ja 0x14002eaf6
cmp rax, rbx
jae 0x14002eb07
movdqu xmm0, xmmword [rdi]
mov r8d, 0x10
xorps xmm0, xmm1
movdqu xmmword [rdi], xmm0
mov edx, 0x1a
lea rcx, [r8 + rdi]
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 0x14002eb20
mov byte [rdi + 0x1a], dl
mov rax, qword gs:[0x60]
mov qword [rsp + 0x120], r14
mov qword [rsp + 0x118], r15
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov eax, 0x5a4d
cmp qword [rsi + 0x60], 0
je 0x14002ec2d
nop word [rax + rax]
mov r11, qword [rsi + 0x30]
mov rsi, qword [rsi]
test r11, r11
je 0x14002ec22
cmp word [r11], ax
jne 0x14002ec2d
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x14002ec2d
mov ecx, dword [rax + r11 + 0x88]
test ecx, ecx
je 0x14002ec2d
mov r14d, dword [r11 + rcx + 0x1c]
lea rax, [r11 + rcx]
mov r9d, dword [rax + 0x20]
add r14, r11
mov r15d, dword [rax + 0x24]
add r9, r11
mov ebx, dword [rax + 0x18]
add r15, r11
xor r10d, r10d
test ebx, ebx
je 0x14002ec1d
mov ecx, dword [r9]
xor r8b, r8b
add rcx, r11
cmp byte [rcx], r8b
je 0x14002ec11
mov rdx, rdi
sub rdx, rcx
movzx eax, byte [rcx + rdx]
test al, al
je 0x14002ec0c
cmp byte [rcx], al
jne 0x14002ec11
inc rcx
mov r8b, 1
cmp byte [rcx], 0
jne 0x14002ebe4
movsxd rax, r10d
movzx ecx, word [r15 + rax*2]
mov eax, dword [r14 + rcx*4]
add rax, r11
jmp 0x14002ec2f
test r8b, r8b
jne 0x14002ebfb
inc r10d
add r9, 4
cmp r10d, ebx
jb 0x14002ebd0
mov eax, 0x5a4d
cmp qword [rsi + 0x60], 0
jne 0x14002eb70
xor eax, eax
lea rdx, [rbp - 0x38]
mov rcx, r13
call rax
test eax, eax
jne 0x14002ec46
mov eax, 0x200
jmp 0x14002facc
mov r8d, dword [rbp - 0x38]
mov esi, 0x41000000
mov r9d, r8d
mov r10d, r8d
and r9d, 1
mov ecx, r9d
or ecx, 2
test r8b, 2
cmove ecx, r9d
mov edx, ecx
or edx, 4
test r8b, 4
cmove edx, ecx
mov eax, edx
or eax, 0x10
and r10d, 0x10
cmove eax, edx
mov ecx, eax
or ecx, 0x20
test r8b, 0x20
cmove ecx, eax
test r10d, r10d
mov eax, 0x81000000
cmove esi, eax
or esi, ecx
mov dword [rsp + 0x30], esi
test r9d, r9d
jne 0x14002ecb7
test r10d, r10d
mov eax, 0x41800000
mov edx, 0x81800000
cmove eax, edx
or eax, ecx
mov dword [rsp + 0x30], eax
lea rcx, [rsp + 0x40]
call fcn.140034230
mov rbx, rax
movsx edi, byte [rax]
mov ecx, edi
call fcn.140014160
add edi, eax
cmp edi, 0xfffffff0
jg 0x14002ecdf
mov edx, 0x84
call fcn.140052d80
cmp edi, 0xffffffb7
jg 0x14002ecee
mov edx, 0x9d
call fcn.140052d80
imul eax, edi, 0x5bd1e995
lea r8, [rbx + 4]
mov r9, r8
mov r10, r12
mov ecx, eax
shr ecx, 0x18
xor ecx, eax
imul r11d, ecx, 0x5bd1e995
xor edx, edx
nop
mov eax, edx
lea r9, [r9 + 4]
xor eax, r11d
add edx, 0x5bd1e995
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 [r9 - 4], eax
sub r10, 1
jne 0x14002ed10
mov r9d, dword [0x14018719c]
mov rdx, qword [rbx + 0x28]
call fcn.1400525a0
mov rdi, rax
test rax, rax
je 0x14002eda6
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 0x14002ee98
nop word [rax + rax]
mov r11, qword [rsi + 0x30]
mov rsi, qword [rsi]
test r11, r11
je 0x14002ee8d
mov r14d, 0x5a4d
cmp word [r11], r14w
jne 0x14002ef8a
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x14002ef8a
mov ecx, dword [rax + r11 + 0x88]
test ecx, ecx
je 0x14002ef8a
mov r14d, dword [r11 + rcx + 0x1c]
lea rax, [r11 + rcx]
mov r9d, dword [rax + 0x20]
add r14, r11
mov r15d, dword [rax + 0x24]
add r9, r11
mov ebx, dword [rax + 0x18]
add r15, r11
xor r10d, r10d
test ebx, ebx
je 0x14002ee8d
nop word [rax + rax]
mov ecx, dword [r9]
xor r8b, r8b
add rcx, r11
cmp byte [rcx], r8b
je 0x14002ee81
mov rdx, rdi
sub rdx, rcx
movzx eax, byte [rcx + rdx]
test al, al
je 0x14002ee7c
cmp byte [rcx], al
jne 0x14002ee81
inc rcx
mov r8b, 1
cmp byte [rcx], 0
jne 0x14002ee54
movsxd rax, r10d
movzx ecx, word [r15 + rax*2]
mov eax, dword [r14 + rcx*4]
add rax, r11
jmp 0x14002ee9a
test r8b, r8b
jne 0x14002ee6b
inc r10d
add r9, 4
cmp r10d, ebx
jb 0x14002ee40
cmp qword [rsi + 0x60], 0
jne 0x14002edd0
xor eax, eax
mov r14d, 0x5a4d
xor edx, edx
mov rcx, r13
call rax
mov dword [rsp + 0x34], eax
cmp eax, 0x28
jbe 0x14002fa04
lea rdx, [0x14015f6f0]
lea rcx, [rsp + 0x40]
call fcn.140029770
mov rcx, rax
call fcn.14001d820
mov rcx, qword gs:[0x60]
mov rsi, rax
mov rdx, qword [rcx + 0x18]
mov rcx, qword [rdx + 0x10]
mov rdi, qword [rcx]
cmp qword [rdi + 0x60], 0
je 0x14002efb7
nop
mov r11, qword [rdi + 0x30]
mov rdi, qword [rdi]
test r11, r11
je 0x14002efa1
cmp word [r11], r14w
jne 0x14002efb3
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x14002efb3
mov ecx, dword [rax + r11 + 0x88]
test ecx, ecx
je 0x14002efb3
mov r14d, dword [r11 + rcx + 0x1c]
lea rax, [r11 + rcx]
mov r9d, dword [rax + 0x20]
add r14, r11
mov r15d, dword [rax + 0x24]
add r9, r11
mov ebx, dword [rax + 0x18]
add r15, r11
xor r10d, r10d
test ebx, ebx
je 0x14002efa1
mov ecx, dword [r9]
xor dl, dl
add rcx, r11
cmp byte [rcx], dl
je 0x14002ef95
mov r8, rsi
sub r8, rcx
movzx eax, byte [r8 + rcx]
test al, al
je 0x14002ef91
cmp byte [rcx], al
jne 0x14002ef95
inc rcx
mov dl, 1
cmp byte [rcx], 0
jne 0x14002ef62
movsxd rax, r10d
movzx ecx, word [r15 + rax*2]
mov eax, dword [r14 + rcx*4]
add rax, r11
jmp 0x14002efb9
xor eax, eax
jmp 0x14002eea0
test dl, dl
jne 0x14002ef79
inc r10d
add r9, 4
cmp r10d, ebx
jb 0x14002ef50
cmp qword [rdi + 0x60], 0
je 0x14002efb7
mov r14d, 0x5a4d
jmp 0x14002eef0
xor eax, eax
jmp 0x14002efbf
xor eax, eax
mov r14d, 0x5a4d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, r13
call rax
mov cl, 0x7b
mov dword [rsp + 0x70], 0x1f1a1e29
movsx ebx, cl
xor eax, eax
mov byte [rsp + 0x40], cl
mov ecx, ebx
mov dword [rsp + 0x74], 0x1e17123d
mov byte [rsp + 0x78], al
call fcn.140014160
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x14002f003
mov edx, 0x84
call fcn.140052d80
cmp ebx, 0xffffffb7
jg 0x14002f012
mov edx, 0x9d
call fcn.140052d80
imul eax, ebx, 0x5bd1e995
lea r8, [rsp + 0x44]
mov r9, r12
mov ecx, eax
shr ecx, 0x18
xor ecx, eax
imul r10d, ecx, 0x5bd1e995
xor edx, edx
mov eax, r10d
lea r8, [r8 + 4]
xor eax, edx
add edx, 0x5bd1e995
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 - 4], eax
sub r9, 1
jne 0x14002f030
mov eax, r12d
nop dword [rax]
inc eax
test al, 0xf
jne 0x14002f070
lea edi, [rax + 8]
mov qword [0x140187190], 0
mov edx, edi
call fcn.140052d80
mov qword [0x140187190], rax
mov rbx, rax
test rax, rax
je 0x14002f0d5
mov dword [0x14018719c], edi
lea rcx, [rbx + 8]
mov dword [0x140187198], r12d
lea r9, [rsp + 0x44]
mov dword [rax], edi
mov r8b, 1
mov eax, dword [0x140187198]
mov dword [rbx + 4], eax
mov rax, qword [rsp + 0x70]
mov qword [rbx + 8], rax
mov edx, dword [0x14018719c]
add edx, 0xfffffff8
call fcn.140052470
mov qword [rsp + 0x68], rbx
movsx ebx, byte [rsp + 0x40]
mov ecx, ebx
call fcn.140014160
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x14002f0f7
mov edx, 0x84
call fcn.140052d80
cmp ebx, 0xffffffb7
jg 0x14002f106
mov edx, 0x9d
call fcn.140052d80
imul eax, ebx, 0x5bd1e995
lea r8, [rsp + 0x44]
mov r9, r12
mov ecx, eax
shr ecx, 0x18
xor ecx, eax
imul r10d, ecx, 0x5bd1e995
xor edx, edx
nop dword [rax]
nop dword [rax + rax]
mov eax, r10d
lea r8, [r8 + 4]
xor eax, edx
add edx, 0x5bd1e995
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 - 4], eax
sub r9, 1
jne 0x14002f130
mov r9d, dword [0x14018719c]
lea r8, [rsp + 0x44]
mov rdx, qword [rsp + 0x68]
call fcn.1400525a0
mov rbx, rax
test rax, rax
je 0x14002f1a7
movzx eax, byte [rsp + 0x40]
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
mov byte [rbx + 8], 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 0x14002f290
nop word [rax + rax]
mov r11, qword [rsi + 0x30]
mov rsi, qword [rsi]
test r11, r11
je 0x14002f27a
cmp word [r11], r14w
jne 0x14002f28c
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x14002f28c
mov ecx, dword [rax + r11 + 0x88]
test ecx, ecx
je 0x14002f28c
mov r14d, dword [r11 + rcx + 0x1c]
lea rax, [r11 + rcx]
mov r9d, dword [rax + 0x20]
add r14, r11
mov r15d, dword [rax + 0x24]
add r9, r11
mov edi, dword [rax + 0x18]
add r15, r11
xor r10d, r10d
test edi, edi
je 0x14002f27a
mov ecx, dword [r9]
xor dl, dl
add rcx, r11
cmp byte [rcx], dl
je 0x14002f26e
mov r8, rbx
sub r8, rcx
movzx eax, byte [r8 + rcx]
test al, al
je 0x14002f26a
cmp byte [rcx], al
jne 0x14002f26e
inc rcx
mov dl, 1
cmp byte [rcx], 0
jne 0x14002f242
movsxd rax, r10d
movzx ecx, word [r15 + rax*2]
mov eax, dword [r14 + rcx*4]
add rax, r11
jmp 0x14002f292
test dl, dl
jne 0x14002f259
inc r10d
add r9, 4
cmp r10d, edi
jb 0x14002f230
cmp qword [rsi + 0x60], 0
je 0x14002f290
mov r14d, 0x5a4d
jmp 0x14002f1d0
xor eax, eax
jmp 0x14002f298
xor eax, eax
mov r14d, 0x5a4d
lea r9, [rbp - 0x44]
mov dword [rsp + 0x20], 0
mov r8d, 2
lea rdx, [rbp - 0x48]
mov rcx, r13
call rax
lea rdx, [0x14015f6f0]
lea rcx, [rsp + 0x40]
call fcn.140034390
mov rcx, rax
call fcn.14001d820
mov rcx, qword gs:[0x60]
mov rsi, rax
mov rdx, qword [rcx + 0x18]
mov rcx, qword [rdx + 0x10]
mov rdi, qword [rcx]
cmp qword [rdi + 0x60], 0
je 0x14002f3b3
nop
mov r11, qword [rdi + 0x30]
mov rdi, qword [rdi]
test r11, r11
je 0x14002f39d
cmp word [r11], r14w
jne 0x14002f3af
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x14002f3af
mov ecx, dword [rax + r11 + 0x88]
test ecx, ecx
je 0x14002f3af
mov r14d, dword [r11 + rcx + 0x1c]
lea rax, [r11 + rcx]
mov r9d, dword [rax + 0x20]
add r14, r11
mov r15d, dword [rax + 0x24]
add r9, r11
mov ebx, dword [rax + 0x18]
add r15, r11
xor r10d, r10d
test ebx, ebx
je 0x14002f39d
mov ecx, dword [r9]
xor r8b, r8b
add rcx, r11
cmp byte [rcx], r8b
je 0x14002f391
mov rdx, rsi
sub rdx, rcx
movzx eax, byte [rdx + rcx]
test al, al
je 0x14002f38c
cmp byte [rcx], al
jne 0x14002f391
inc rcx
mov r8b, 1
cmp byte [rcx], 0
jne 0x14002f364
movsxd rax, r10d
movzx ecx, word [r15 + rax*2]
mov eax, dword [r14 + rcx*4]
add rax, r11
jmp 0x14002f3b5
test r8b, r8b
jne 0x14002f37b
inc r10d
add r9, 4
cmp r10d, ebx
jb 0x14002f350
cmp qword [rdi + 0x60], 0
je 0x14002f3b3
mov r14d, 0x5a4d
jmp 0x14002f2f0
xor eax, eax
jmp 0x14002f3bb
xor eax, eax
mov r14d, 0x5a4d
xor r9d, r9d
xor r8d, r8d
mov rcx, r13
lea edx, [r9 + 0x24]
call rax
mov cl, 0x56
mov dword [rsp + 0x70], 0x32373304
movsx ebx, cl
xor eax, eax
mov byte [rsp + 0x40], cl
mov ecx, ebx
mov dword [rsp + 0x74], 0x333a3f10
mov byte [rsp + 0x78], al
call fcn.140014160
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x14002f401
mov edx, 0x84
call fcn.140052d80
cmp ebx, 0xffffffb7
jg 0x14002f410
mov edx, 0x9d
call fcn.140052d80
imul eax, ebx, 0x5bd1e995
lea r8, [rsp + 0x44]
mov r9, r12
mov ecx, eax
shr ecx, 0x18
xor ecx, eax
imul r10d, ecx, 0x5bd1e995
xor edx, edx
nop
mov eax, r10d
lea r8, [r8 + 4]
xor eax, edx
add edx, 0x5bd1e995
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 - 4], eax
sub r9, 1
jne 0x14002f430
mov eax, r12d
nop dword [rax]
inc eax
test al, 0xf
jne 0x14002f470
lea edi, [rax + 8]
mov qword [0x140187190], 0
mov edx, edi
call fcn.140052d80
mov qword [0x140187190], rax
mov rbx, rax
test rax, rax
je 0x14002f4d5
mov dword [0x14018719c], edi
lea rcx, [rbx + 8]
mov dword [0x140187198], r12d
lea r9, [rsp + 0x44]
mov dword [rax], edi
mov r8b, 1
mov eax, dword [0x140187198]
mov dword [rbx + 4], eax
mov rax, qword [rsp + 0x70]
mov qword [rbx + 8], rax
mov edx, dword [0x14018719c]
add edx, 0xfffffff8
call fcn.140052470
mov qword [rsp + 0x68], rbx
movsx ebx, byte [rsp + 0x40]
mov ecx, ebx
call fcn.140014160
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x14002f4f7
mov edx, 0x84
call fcn.140052d80
cmp ebx, 0xffffffb7
jg 0x14002f506
mov edx, 0x9d
call fcn.140052d80
imul eax, ebx, 0x5bd1e995
lea r8, [rsp + 0x44]
mov r9, r12
mov ecx, eax
shr ecx, 0x18
xor ecx, eax
imul r10d, ecx, 0x5bd1e995
xor edx, edx
nop dword [rax]
nop dword [rax + rax]
mov eax, edx
lea r8, [r8 + 4]
xor eax, r10d
add edx, 0x5bd1e995
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 - 4], eax
sub r9, 1
jne 0x14002f530
mov r9d, dword [0x14018719c]
lea r8, [rsp + 0x44]
mov rdx, qword [rsp + 0x68]
call fcn.1400525a0
mov rbx, rax
test rax, rax
je 0x14002f5a7
movzx eax, byte [rsp + 0x40]
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
mov byte [rbx + 8], 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 0x14002f693
nop word [rax + rax]
mov r11, qword [rsi + 0x30]
mov rsi, qword [rsi]
test r11, r11
je 0x14002f67d
cmp word [r11], r14w
jne 0x14002f68f
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x14002f68f
mov ecx, dword [rax + r11 + 0x88]
test ecx, ecx
je 0x14002f68f
mov r14d, dword [r11 + rcx + 0x1c]
lea rax, [r11 + rcx]
mov r9d, dword [rax + 0x20]
add r14, r11
mov r15d, dword [rax + 0x24]
add r9, r11
mov edi, dword [rax + 0x18]
add r15, r11
xor r10d, r10d
test edi, edi
je 0x14002f67d
mov ecx, dword [r9]
xor r8b, r8b
add rcx, r11
cmp byte [rcx], r8b
je 0x14002f671
mov rdx, rbx
sub rdx, rcx
movzx eax, byte [rdx + rcx]
test al, al
je 0x14002f66c
cmp byte [rcx], al
jne 0x14002f671
inc rcx
mov r8b, 1
cmp byte [rcx], 0
jne 0x14002f644
movsxd rax, r10d
movzx ecx, word [r15 + rax*2]
mov eax, dword [r14 + rcx*4]
add rax, r11
jmp 0x14002f695
test r8b, r8b
jne 0x14002f65b
inc r10d
add r9, 4
cmp r10d, edi
jb 0x14002f630
cmp qword [rsi + 0x60], 0
je 0x14002f693
mov r14d, 0x5a4d
jmp 0x14002f5d0
xor eax, eax
jmp 0x14002f69b
xor eax, eax
mov r14d, 0x5a4d
lea r9, [rbp - 0x44]
mov dword [rsp + 0x20], 0
mov r8d, 4
lea rdx, [rbp - 0x40]
mov rcx, r13
call rax
mov eax, 0x54ad
cmp word [rbp - 0x48], ax
jne 0x14002fa00
mov r13d, dword [rbp - 0x40]
lea eax, [r13 + 0x34]
cmp dword [rsp + 0x34], eax
jbe 0x14002fa00
lea rcx, [rsp + 0x40]
call fcn.140034560
mov rbx, rax
movsx edi, byte [rax]
mov ecx, edi
call fcn.140014160
add edi, eax
cmp edi, 0xfffffff0
jg 0x14002f6ff
mov edx, 0x84
call fcn.140052d80
cmp edi, 0xffffffb7
jg 0x14002f70e
mov edx, 0x9d
call fcn.140052d80
imul eax, edi, 0x5bd1e995
lea r8, [rbx + 4]
mov r9, r8
mov ecx, eax
shr ecx, 0x18
xor ecx, eax
imul r10d, ecx, 0x5bd1e995
xor edx, edx
nop dword [rax + rax]
mov eax, edx
lea r9, [r9 + 4]
xor eax, r10d
add edx, 0x5bd1e995
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 [r9 - 4], eax
sub r12, 1
jne 0x14002f730
mov r9d, dword [0x14018719c]
mov rdx, qword [rbx + 0x28]
call fcn.1400525a0
mov rsi, rax
test rax, rax
je 0x14002f7a2
mov rcx, rsi
mov edx, 0xe
nop dword [rax]
movzx eax, byte [rbx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x14002f790
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 0x14002f893
nop dword [rax]
nop word [rax + rax]
mov r11, qword [rdi + 0x30]
mov rdi, qword [rdi]
test r11, r11
je 0x14002f87d
cmp word [r11], r14w
jne 0x14002f88f
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x14002f88f
mov ecx, dword [rax + r11 + 0x88]
test ecx, ecx
je 0x14002f88f
mov r14d, dword [r11 + rcx + 0x1c]
lea rax, [r11 + rcx]
mov r9d, dword [rax + 0x20]
add r14, r11
mov r15d, dword [rax + 0x24]
add r9, r11
mov ebx, dword [rax + 0x18]
add r15, r11
xor r10d, r10d
test ebx, ebx
je 0x14002f87d
mov ecx, dword [r9]
xor r8b, r8b
add rcx, r11
cmp byte [rcx], r8b
je 0x14002f871
mov rdx, rsi
sub rdx, rcx
movzx eax, byte [rcx + rdx]
test al, al
je 0x14002f86c
cmp byte [rcx], al
jne 0x14002f871
inc rcx
mov r8b, 1
cmp byte [rcx], 0
jne 0x14002f844
movsxd rax, r10d
movzx ecx, word [r15 + rax*2]
mov eax, dword [r14 + rcx*4]
add rax, r11
jmp 0x14002f895
test r8b, r8b
jne 0x14002f85b
inc r10d
add r9, 4
cmp r10d, ebx
jb 0x14002f830
cmp qword [rdi + 0x60], 0
je 0x14002f893
mov r14d, 0x5a4d
jmp 0x14002f7d0
xor eax, eax
jmp 0x14002f89b
xor eax, eax
mov r14d, 0x5a4d
mov r12, qword [rbp - 0x70]
xor r9d, r9d
mov rcx, r12
xor r8d, r8d
mov edx, r13d
call rax
lea rdx, [0x14015f700]
lea rcx, [rsp + 0x40]
call fcn.1400346d0
mov rcx, rax
call fcn.14001d910
mov rcx, qword gs:[0x60]
mov rsi, rax
mov rdx, qword [rcx + 0x18]
mov rcx, qword [rdx + 0x10]
mov rdi, qword [rcx]
cmp qword [rdi + 0x60], 0
je 0x14002f9b3
nop dword [rax + rax]
mov r11, qword [rdi + 0x30]
mov rdi, qword [rdi]
test r11, r11
je 0x14002f99d
cmp word [r11], r14w
jne 0x14002f9af
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x14002f9af
mov ecx, dword [rax + r11 + 0x88]
test ecx, ecx
je 0x14002f9af
mov r14d, dword [r11 + rcx + 0x1c]
lea rax, [r11 + rcx]
mov r9d, dword [rax + 0x20]
add r14, r11
mov r15d, dword [rax + 0x24]
add r9, r11
mov ebx, dword [rax + 0x18]
add r15, r11
xor r10d, r10d
test ebx, ebx
je 0x14002f99d
mov eax, dword [r9]
xor r8b, r8b
add rax, r11
cmp byte [rax], r8b
je 0x14002f991
mov rdx, rsi
sub rdx, rax
movzx ecx, byte [rax + rdx]
test cl, cl
je 0x14002f98c
cmp byte [rax], cl
jne 0x14002f991
inc rax
mov r8b, 1
cmp byte [rax], 0
jne 0x14002f964
movsxd rax, r10d
movzx ecx, word [r15 + rax*2]
mov eax, dword [r14 + rcx*4]
add rax, r11
jmp 0x14002f9b5
test r8b, r8b
jne 0x14002f97b
inc r10d
add r9, 4
cmp r10d, ebx
jb 0x14002f950
cmp qword [rdi + 0x60], 0
je 0x14002f9b3
mov r14d, 0x5a4d
jmp 0x14002f8f0
xor eax, eax
jmp 0x14002f9bb
xor eax, eax
mov r14d, 0x5a4d
lea r9, [rbp - 0x44]
mov dword [rsp + 0x20], 0
mov r8d, 4
lea rdx, [rbp - 0x3c]
mov rcx, r12
call rax
mov eax, dword [rbp - 0x3c]
cmp eax, r14d
je 0x14002f9f2
add eax, 0xffffbab4
cmp eax, 4
ja 0x14002fa00
mov ecx, 0x15
bt ecx, eax
jae 0x14002fa00
mov ecx, dword [rsp + 0x30]
mov eax, dword [rsp + 0x34]
bts ecx, 0x16
jmp 0x14002fa08
mov eax, dword [rsp + 0x34]
mov ecx, dword [rsp + 0x30]
mov rdx, qword [rbp - 0x68]
test rdx, rdx
je 0x14002fa13
mov dword [rdx], ecx
mov rcx, qword [rbp - 0x60]
test rcx, rcx
je 0x14002fa1e
mov dword [rcx], eax
mov r9, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x24]
test r9, r9
je 0x14002faa1
mov r8, qword [rbp - 0x2c]
movabs r11, 0xfe624e212ac18000
add r8, r11
movabs r10, 0xd6bf94d5e57a42bd
mov rax, r10
imul r8
add rdx, r8
lea r8, [rcx + r11]
sar rdx, 0x17
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rax, r10
mov qword [r9], rdx
imul r8
mov rax, r10
add rdx, r8
sar rdx, 0x17
mov r8, rdx
shr r8, 0x3f
add rdx, r8
mov r8, qword [rbp - 0x34]
mov qword [r9 + 8], rdx
add r8, r11
imul r8
add rdx, r8
sar rdx, 0x17
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov qword [r9 + 0x10], rdx
mov rbx, qword [rbp - 0x50]
test rbx, rbx
je 0x14002faca
lea r8, [rsp + 0x3c]
lea rdx, [rsp + 0x38]
call fcn.14002e6e0
movzx ecx, word [rsp + 0x38]
movzx eax, word [rsp + 0x3c]
shl ecx, 0x10
or ecx, eax
mov dword [rbx], ecx
xor eax, eax
mov r15, qword [rsp + 0x118]
mov r14, qword [rsp + 0x120]
mov rcx, qword [rbp]
xor rcx, rsp
call fcn.14012f610
add rsp, 0x128
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret