Function at 0x14001c010
Capabilities:
Access peb ldr_data
Encode data using xor
Get process filename
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r15
lea rbp, [rsp - 0x1970]
mov eax, 0x1a70
call fcn.140088970
sub rsp, rax
mov rax, qword [0x1400ab0a0]
xor rax, rsp
mov qword [rbp + 0x1920], rax
mov rax, qword gs:[0x60]
mov rsi, rcx
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x14001c0d7
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14001c0d7
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x5582a613
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x14001c0d2
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x14001c0b0
cmp r8d, 0x76328710
je 0x14001c0dc
test r9d, r9d
jne 0x14001c090
mov rax, qword [rax]
jmp 0x14001c060
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
xor edx, edx
add rax, r10
lea rcx, [rbp - 0x70]
lea r8d, [rdx + 0x18]
call rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x14001c187
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14001c187
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xe38daa2
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x14001c182
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x14001c160
cmp r8d, 0xc845d745
je 0x14001c18c
test r9d, r9d
jne 0x14001c140
mov rax, qword [rax]
jmp 0x14001c110
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
xor edx, edx
add rax, r10
lea rcx, [rbp + 0x490]
lea r8d, [rdx + 0x68]
call rax
mov r12, qword [rsi]
xor r15d, r15d
mov word [rbp + 0x480], r15w
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x14001c257
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14001c257
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xc143c3b7
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x14001c252
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x14001c230
cmp r8d, 0xf93bdab1
je 0x14001c25c
test r9d, r9d
jne 0x14001c210
mov rax, qword [rax]
jmp 0x14001c1e0
mov ecx, dword [rdi + 0x24]
mov r8d, 0x208
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
lea rdx, [rbp + 0x500]
add rax, r10
xor ecx, ecx
call rax
test eax, eax
je 0x14001d5a9
mov rax, qword gs:[0x60]
mov qword [rsp + 0x1aa8], r13
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x14001c327
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14001c327
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x1906314e
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x14001c322
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x14001c300
cmp r8d, 0x13e28869
je 0x14001c32c
test r9d, r9d
jne 0x14001c2e0
mov rax, qword [rax]
jmp 0x14001c2b0
mov ecx, dword [rdi + 0x24]
mov r8d, 0x1208
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
xor edx, edx
add rax, r10
lea rcx, [rbp + 0x710]
call rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x14001c3e7
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14001c3e7
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x9858a480
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x14001c3e2
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x14001c3c0
cmp r8d, 0x51818172
je 0x14001c3ec
test r9d, r9d
jne 0x14001c3a0
mov rax, qword [rax]
jmp 0x14001c370
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
lea rcx, [rbp + 0x500]
add rax, r10
call rax
mov rcx, qword gs:[0x60]
mov rsi, rax
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
mov r10, qword [rcx + 0x30]
movsxd rdx, dword [r10 + 0x3c]
mov edi, dword [rdx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x14001c497
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14001c497
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x3cc1756e
lea rax, [r10 + r9*4]
mov edx, dword [rax + rbx]
add rdx, r10
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x14001c492
nop dword [rax]
movsx eax, al
lea rdx, [rdx + 1]
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx - 1]
test al, al
jne 0x14001c470
cmp r8d, 0x2c7b3243
je 0x14001c49c
test r9d, r9d
jne 0x14001c450
mov rcx, qword [rcx]
jmp 0x14001c420
mov ecx, dword [rdi + 0x24]
add rsi, rsi
add rcx, r10
mov r8, rsi
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
lea rdx, [rbp + 0x500]
add rax, r10
lea rcx, [rbp + 0x710]
call rax
mov eax, reloc.WLDAP32.dll_Ordinal_32
mov word [rbp + rsi + 0x710], ax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x14001c567
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14001c567
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x5178bc11
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x14001c562
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x14001c540
cmp r8d, 0x1912a668
je 0x14001c56c
test r9d, r9d
jne 0x14001c520
mov rax, qword [rax]
jmp 0x14001c4f0
mov ecx, dword [rdi + 0x24]
mov r8d, 2
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
lea rcx, [rbp + 0x712]
add rcx, rsi
lea rdx, [rbp + 0x480]
add rax, r10
call rax
movsxd r13, dword [r12 + 0x3c]
add r13, r12
cmp dword [r13], 0x4550
jne 0x14001d5a1
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x14001c647
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14001c647
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xc9067335
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x14001c642
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x14001c620
cmp r8d, 0x7007c34f
je 0x14001c64c
test r9d, r9d
jne 0x14001c600
mov rax, qword [rax]
jmp 0x14001c5d0
mov ecx, dword [rdi + 0x24]
movups xmm0, xmmword [str.v_fkoPT_SJMc]
add rcx, r10
movups xmm1, xmmword [0x14009ce70]
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov r11d, dword [rcx + rdx*4]
add r11, r10
movups xmmword [rsp + 0x50], xmm0
cmp dword [reloc.WS2_32.dll_accept], 2
movups xmm0, xmmword [0x14009ce80]
movups xmmword [rsp + 0x60], xmm1
movups xmm1, xmmword [0x14009ce90]
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rbp - 0x80], xmm1
jl 0x14001c813
movdqa xmm5, xmmword [0x14009d060]
lea rcx, [rsp + 0x50]
movdqa xmm4, xmmword [0x14009d150]
mov eax, 5
movaps xmmword [rsp + 0x1a60], xmm6
mov edx, r15d
movaps xmmword [rsp + 0x1a50], xmm7
movdqa xmm7, xmmword [0x14009d0a0]
movaps xmmword [rsp + 0x1a40], xmm8
movd xmm6, eax
mov eax, Ordinal_33
movaps xmmword [rsp + 0x1a30], xmm9
movdqa xmm9, xmmword [0x14009d0b0]
movd xmm8, eax
nop
movd xmm2, edx
lea eax, [rdx + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 0x10]
paddd xmm2, xmm5
add edx, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 0x10]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
xorps xmm3, xmm0
movq qword [rcx - 0x10], xmm3
paddd xmm2, xmm5
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 8]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp edx, 0x20
jl 0x14001c700
movaps xmm9, xmmword [rsp + 0x1a30]
movaps xmm8, xmmword [rsp + 0x1a40]
movaps xmm7, xmmword [rsp + 0x1a50]
movaps xmm6, xmmword [rsp + 0x1a60]
jmp 0x14001c858
lea r9, [rsp + 0x50]
mov r8d, r15d
nop dword [rax + rax]
mov eax, 0x8fb823ef
lea r9, [r9 + 2]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x39
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x35
xor word [r9 - 2], ax
cmp r8d, 0x20
jl 0x14001c820
lea rax, [rbp - 0x70]
xor r9d, r9d
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x50]
lea rax, [rbp + 0x490]
xor r8d, r8d
mov qword [rsp + 0x40], rax
xor edx, edx
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 4
mov dword [rsp + 0x20], r15d
call r11
test eax, eax
je 0x14001d5a1
xor edx, edx
lea rcx, [rbp - 0x50]
mov r8d, 0x4d0
call sub.VCRUNTIME140.dll_memset
mov dword [rbp - 0x20], 0x10000b
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x14001c947
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14001c947
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x1d840c35
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x14001c942
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x14001c920
cmp r8d, 0x2848f4ee
je 0x14001c94c
test r9d, r9d
jne 0x14001c900
mov rax, qword [rax]
jmp 0x14001c8d0
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
lea rdx, [rbp - 0x50]
mov rcx, qword [rbp - 0x68]
add rax, r10
call rax
mov rcx, qword gs:[0x60]
test eax, eax
mov rax, qword [rcx + 0x18]
mov rax, qword [rax + 0x10]
jne 0x14001ca40
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x14001ca07
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14001ca07
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xbeafa57d
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x14001ca02
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x14001c9e0
cmp r8d, 0x997d81f1
je 0x14001ca0c
test r9d, r9d
jne 0x14001c9c0
mov rax, qword [rax]
jmp 0x14001c990
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
mov edx, 0xfffffffc
mov rcx, qword [rbp - 0x70]
add rax, r10
call rax
jmp 0x14001d5a1
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x14001cab7
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14001cab7
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x37fe295d
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x14001cab2
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x14001ca90
cmp r8d, 0x3278ee14
je 0x14001cabc
test r9d, r9d
jne 0x14001ca70
mov rax, qword [rax]
jmp 0x14001ca40
mov ecx, dword [rdi + 0x24]
mov r8d, dword [r13 + 0x50]
add rcx, r10
mov dword [rsp + 0x20], 0x40
movzx edx, word [rcx + r9*2]
mov r9d, 0x3000
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
mov rdx, qword [r13 + 0x30]
add rax, r10
mov rcx, qword [rbp - 0x70]
call rax
mov qword [rbp - 0x58], rax
test rax, rax
mov rcx, qword gs:[0x60]
mov rax, qword [rcx + 0x18]
mov rax, qword [rax + 0x10]
jne 0x14001cbc0
nop dword [rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x14001cb87
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14001cb87
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xcb4956a7
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x14001cb82
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x14001cb60
cmp r8d, 0xf52dbe8f
je 0x14001cb8c
test r9d, r9d
jne 0x14001cb40
mov rax, qword [rax]
jmp 0x14001cb10
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
mov edx, 0xfffffffb
mov rcx, qword [rbp - 0x70]
add rax, r10
call rax
jmp 0x14001d5a1
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x14001cc37
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14001cc37
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x8cd90109
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x14001cc32
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x14001cc10
cmp r8d, 0x813e92d6
je 0x14001cc3c
test r9d, r9d
jne 0x14001cbf0
mov rax, qword [rax]
jmp 0x14001cbc0
mov ecx, dword [rdi + 0x24]
mov r8, r12
add rcx, r10
mov qword [rsp + 0x20], r15
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
mov r9d, dword [r13 + 0x54]
add rcx, r10
mov eax, dword [rcx + rdx*4]
mov rdx, qword [rbp - 0x58]
add rax, r10
mov rcx, qword [rbp - 0x70]
call rax
test eax, eax
jne 0x14001cd33
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x14001cd07
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14001cd07
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x23644e2f
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x14001cd02
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x14001cce0
cmp r8d, 0x24539597
je 0x14001cd0c
test r9d, r9d
jne 0x14001ccc0
mov rax, qword [rax]
jmp 0x14001cc90
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
mov edx, 0xfffffffa
mov rcx, qword [rbp - 0x70]
add rax, r10
call rax
jmp 0x14001d5a1
mov qword [rsp + 0x1ab0], r14
mov r14d, r15d
cmp r15w, word [r13 + 6]
jae 0x14001ce51
nop dword [rax]
mov rax, qword gs:[0x60]
movsxd rsi, dword [r12 + 0x3c]
add rsi, r12
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x14001cde7
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14001cde7
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x19b99b48
lea rcx, [rbx + r9*4]
mov ecx, dword [rcx + r10]
add rcx, r10
movzx edx, byte [rcx]
inc rcx
test dl, dl
je 0x14001cde2
nop
movsx edx, dl
lea rcx, [rcx + 1]
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rcx - 1]
test dl, dl
jne 0x14001cdc0
cmp r8d, 0x7a0cef47
je 0x14001cdec
test r9d, r9d
jne 0x14001cda0
mov rax, qword [rax]
jmp 0x14001cd70
mov ecx, dword [rdi + 0x24]
mov r8d, dword [rsi + r15 + 0x11c]
add rcx, r10
add r8, r12
mov qword [rsp + 0x20], 0
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
mov r9d, dword [rsi + r15 + 0x118]
add rcx, r10
mov eax, dword [rcx + rdx*4]
mov edx, dword [rsi + r15 + 0x114]
add rax, r10
add rdx, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x70]
call rax
test eax, eax
je 0x14001cef0
movzx eax, word [r13 + 6]
inc r14d
add r15, 0x28
cmp r14d, eax
jl 0x14001cd50
xor r15d, r15d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x14001ceeb
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14001ceeb
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x2aa05016
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x14001cee6
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x14001cec0
cmp r8d, 0xa073e219
je 0x14001cfb3
test r9d, r9d
jne 0x14001cea0
mov rax, qword [rax]
jmp 0x14001ce70
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x14001cf87
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14001cf87
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x7480d48c
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x14001cf82
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x14001cf60
cmp r8d, 0x95adc118
je 0x14001cf8c
test r9d, r9d
jne 0x14001cf40
mov rax, qword [rax]
jmp 0x14001cf10
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
mov edx, 0xfffffff9
mov rcx, qword [rbp - 0x70]
add rax, r10
call rax
jmp 0x14001d599
mov ecx, dword [rdi + 0x24]
lea r8, [rbp - 0x58]
add rcx, r10
mov qword [rsp + 0x20], r15
movzx edx, word [rcx + r9*2]
mov r9d, 8
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
mov rdx, qword [rbp + 0x38]
add rax, r10
mov rcx, qword [rbp - 0x70]
add rdx, 0x10
call rax
test eax, eax
jne 0x14001d0a3
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x14001d077
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14001d077
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xf854de35
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x14001d072
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x14001d050
cmp r8d, 0x47331369
je 0x14001d07c
test r9d, r9d
jne 0x14001d030
mov rax, qword [rax]
jmp 0x14001d000
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
mov edx, 0xfffffff8
mov rcx, qword [rbp - 0x70]
add rax, r10
call rax
jmp 0x14001d599
mov eax, dword [r13 + 0x28]
add rax, qword [rbp - 0x58]
mov qword [rbp + 0x30], rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x14001d137
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14001d137
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xeecc5169
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x14001d132
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x14001d110
cmp r8d, 0x50ce5ef6
je 0x14001d13c
test r9d, r9d
jne 0x14001d0f0
mov rax, qword [rax]
jmp 0x14001d0c0
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
lea rdx, [rbp - 0x50]
mov rcx, qword [rbp - 0x68]
add rax, r10
call rax
mov rcx, qword gs:[0x60]
test eax, eax
mov rax, qword [rcx + 0x18]
mov rax, qword [rax + 0x10]
jne 0x14001d230
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x14001d1f7
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14001d1f7
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x12fbf53
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x14001d1f2
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x14001d1d0
cmp r8d, 0x30b2256b
je 0x14001d1fc
test r9d, r9d
jne 0x14001d1b0
mov rax, qword [rax]
jmp 0x14001d180
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
mov edx, 0xfffffff7
mov rcx, qword [rbp - 0x70]
add rax, r10
call rax
jmp 0x14001d599
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x14001d2a7
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14001d2a7
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x99a5f2ef
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x14001d2a2
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x14001d280
cmp r8d, 0x3295d20c
je 0x14001d2ac
test r9d, r9d
jne 0x14001d260
mov rax, qword [rax]
jmp 0x14001d230
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
mov rcx, qword [rbp - 0x68]
add rax, r10
call rax
test eax, eax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
jne 0x14001d3a0
nop dword [rax]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x14001d367
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14001d367
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x7d10d87b
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x14001d362
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x14001d340
cmp r8d, 0xabd30b3
je 0x14001d36c
test r9d, r9d
jne 0x14001d320
mov rax, qword [rax]
jmp 0x14001d2f0
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
mov edx, 0xfffffff6
mov rcx, qword [rbp - 0x70]
add rax, r10
call rax
jmp 0x14001d599
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x14001d417
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14001d417
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x8af4818d
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x14001d412
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x14001d3f0
cmp r8d, 0xbc89630
je 0x14001d41c
test r9d, r9d
jne 0x14001d3d0
mov rax, qword [rax]
jmp 0x14001d3a0
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
mov ecx, 0xdac
add rax, r10
call rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x14001d4c7
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14001d4c7
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x3c8f048f
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x14001d4c2
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x14001d4a0
cmp r8d, 0xd5cf5b03
je 0x14001d4cc
test r9d, r9d
jne 0x14001d480
mov rax, qword [rax]
jmp 0x14001d450
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
mov rcx, qword [rbp - 0x68]
add rax, r10
call rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x14001d577
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14001d577
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xfea46a86
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x14001d572
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x14001d550
cmp r8d, 0xd54655dc
je 0x14001d57c
test r9d, r9d
jne 0x14001d530
mov rax, qword [rax]
jmp 0x14001d500
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
mov rcx, qword [rbp - 0x70]
add rax, r10
call rax
mov r14, qword [rsp + 0x1ab0]
mov r13, qword [rsp + 0x1aa8]
mov rcx, qword [rbp + 0x1920]
xor rcx, rsp
call fcn.140088090
mov rbx, qword [rsp + 0x1ab8]
add rsp, 0x1a70
pop r15
pop r12
pop rdi
pop rsi
pop rbp
ret