Function at 0x14012c140
Capabilities:
Access peb ldr_data
Encode data using xor
Get number of processors
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x10]
sub rsp, 0x110
mov r13, rcx
mov byte [rsp + 0x21], 0
mov byte [rsp + 0x20], 0
lea rdx, [rbp - 0x10]
lea rcx, [rsp + 0x20]
call fcn.1402bfe80
mov r9, rax
mov byte [rax + 0x10], 0
xor ebx, ebx
lea r8, [rax + 0xc]
nop dword [rax]
lea esi, [rbx + rbx*2]
movzx edx, byte [rsi + r9]
mov byte [r8], dl
movzx eax, bl
add al, al
lea edi, [rax + rbx]
movzx r11d, dil
add r11b, byte [r9 + 0x13]
xor r11b, dl
mov byte [r8], r11b
xor dl, dl
lea eax, [rsi + 1]
movzx r10d, byte [rax + r9]
nop dword [rax + rax]
movzx eax, r10b
movzx ecx, dl
sar al, cl
test al, 1
jne 0x14012c1d6
inc dl
cmp dl, 4
jne 0x14012c1c0
jmp 0x14012c1e5
movsx ecx, r11b
movzx eax, byte [r9 + 0x16]
btc ecx, eax
mov byte [r8], cl
mov cl, 5
lea eax, [rsi + 2]
mov r10d, eax
movzx edx, byte [rax + r9]
movzx eax, dl
sar al, cl
test al, 1
jne 0x14012c204
inc cl
cmp cl, 8
jne 0x14012c1f2
jmp 0x14012c213
movsx ecx, byte [r8]
movzx eax, byte [r9 + 0x15]
btc ecx, eax
mov byte [r8], cl
xor cl, cl
movzx edx, byte [r10 + r9]
nop word [rax + rax]
movzx eax, dl
sar al, cl
test al, 1
jne 0x14012c232
inc cl
cmp cl, 5
jne 0x14012c220
jmp 0x14012c241
movsx ecx, byte [r8]
movzx eax, byte [r9 + 0x14]
btc ecx, eax
mov byte [r8], cl
add dil, byte [r9 + 0x12]
xor byte [r8], dil
inc ebx
inc r8
cmp ebx, 4
jne 0x14012c190
lea rdx, [r9 + 0xc]
lea rcx, [rsp + 0x70]
call fcn.14008fd10
mov r14, rax
cmp qword [rax + 0x18], 0xf
jbe 0x14012c271
mov r14, qword [rax]
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x21]
call fcn.1402bfe50
mov r9, rax
mov byte [rax + 0xc], 0
xor ebx, ebx
lea r8, [rax + 9]
nop dword [rax]
lea esi, [rbx + rbx*2]
movzx edx, byte [rsi + r9]
mov byte [r8], dl
movzx eax, bl
add al, al
lea edi, [rax + rbx]
movzx r11d, dil
add r11b, byte [r9 + 0xf]
xor r11b, dl
mov byte [r8], r11b
xor dl, dl
lea eax, [rsi + 1]
movzx r10d, byte [rax + r9]
nop dword [rax + rax]
movzx eax, r10b
movzx ecx, dl
sar al, cl
test al, 1
jne 0x14012c2d6
inc dl
cmp dl, 4
jne 0x14012c2c0
jmp 0x14012c2e5
movsx ecx, r11b
movzx eax, byte [r9 + 0x12]
btc ecx, eax
mov byte [r8], cl
mov cl, 5
lea eax, [rsi + 2]
mov r10d, eax
movzx edx, byte [rax + r9]
movzx eax, dl
sar al, cl
test al, 1
jne 0x14012c304
inc cl
cmp cl, 8
jne 0x14012c2f2
jmp 0x14012c313
movsx ecx, byte [r8]
movzx eax, byte [r9 + 0x11]
btc ecx, eax
mov byte [r8], cl
xor cl, cl
movzx edx, byte [r10 + r9]
nop word [rax + rax]
movzx eax, dl
sar al, cl
test al, 1
jne 0x14012c332
inc cl
cmp cl, 5
jne 0x14012c320
jmp 0x14012c341
movsx ecx, byte [r8]
movzx eax, byte [r9 + 0x10]
btc ecx, eax
mov byte [r8], cl
add dil, byte [r9 + 0xe]
xor byte [r8], dil
inc ebx
inc r8
cmp ebx, 3
jne 0x14012c290
movzx edi, byte [r9 + 9]
movzx ebx, byte [r14 + 1]
lea rcx, [rsp + 0x70]
call fcn.140090020
cmp dil, bl
jne 0x14012ce5f
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop dword [rax + rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x14012c419
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x14012c419
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
lea rcx, [rsi + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
mov r10d, 0x88770b7d
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x14012c414
movsx ecx, r8b
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x14012c3e0
cmp r10d, 0xb34fbf61
je 0x14012c421
test r11d, r11d
jne 0x14012c3c0
mov rax, qword [rax]
jmp 0x14012c390
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov eax, dword [r14 + 0x24]
add rax, rbx
movzx eax, word [rax + r11*2]
mov ecx, dword [rcx + rax*4]
add rcx, rbx
call rcx
mov r12d, eax
mov byte [rsp + 0x22], 0
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x22]
call fcn.1402bfeb0
mov r11, rax
mov byte [rax + 8], 0
xor r10d, r10d
lea r9, [rax + 6]
nop dword [rax]
nop word [rax + rax]
lea r8d, [r10 + r10*2]
movzx edx, byte [r8 + r11]
mov byte [r9], dl
movzx eax, r10b
add al, al
lea edi, [rax + r10]
movzx ebx, dil
add bl, byte [r11 + 0xb]
xor bl, dl
mov byte [r9], bl
xor dl, dl
lea eax, [r8 + 1]
movzx r8d, byte [rax + r11]
nop
movzx eax, r8b
movzx ecx, dl
sar al, cl
test al, 1
jne 0x14012c4b6
inc dl
cmp dl, 4
jne 0x14012c4a0
jmp 0x14012c4c4
movsx ecx, bl
movzx eax, byte [r11 + 0xe]
btc ecx, eax
mov byte [r9], cl
mov dl, 5
lea eax, [r10 + 1]
lea eax, [r10 + rax*2]
movzx r8d, byte [rax + r11]
movzx eax, r8b
movzx ecx, dl
sar al, cl
test al, 1
jne 0x14012c4e9
inc dl
cmp dl, 8
jne 0x14012c4d3
jmp 0x14012c4f8
movsx ecx, byte [r9]
movzx eax, byte [r11 + 0xd]
btc ecx, eax
mov byte [r9], cl
xor dl, dl
lea eax, [r10 + 1]
lea eax, [r10 + rax*2]
movzx r8d, byte [rax + r11]
nop word [rax + rax]
movzx eax, r8b
movzx ecx, dl
sar al, cl
test al, 1
jne 0x14012c526
inc dl
cmp dl, 5
jne 0x14012c510
jmp 0x14012c535
movsx ecx, byte [r9]
movzx eax, byte [r11 + 0xc]
btc ecx, eax
mov byte [r9], cl
add dil, byte [r11 + 0xa]
xor byte [r9], dil
inc r10d
inc r9
cmp r10d, 2
jne 0x14012c470
mov eax, 0xaaaaaaab
mul r12d
shr edx, 1
lea eax, [rdx + rdx*2]
mov ecx, r12d
sub ecx, eax
mov r14d, ecx
cmp byte [r11 + rcx + 6], 0x5d
je 0x14012ce5f
mov byte [rsp + 0x23], 0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x23]
call fcn.1402bfed0
mov rdx, rax
mov byte [rax + 4], 0
movzx r9d, byte [rax + 7]
xor r9b, byte [rax]
mov byte [rax + 3], r9b
xor cl, cl
movzx r8d, byte [rax + 1]
nop dword [rax + rax]
movzx eax, r8b
sar al, cl
test al, 1
jne 0x14012c5b3
inc cl
cmp cl, 4
jne 0x14012c5a0
jmp 0x14012c5c1
movsx ecx, r9b
movzx eax, byte [rdx + 0xa]
btc ecx, eax
mov byte [rdx + 3], cl
mov cl, 5
movzx r8d, byte [rdx + 2]
nop dword [rax + rax]
movzx eax, r8b
sar al, cl
test al, 1
jne 0x14012c5e3
inc cl
cmp cl, 8
jne 0x14012c5d0
jmp 0x14012c5f1
movsx ecx, byte [rdx + 3]
movzx eax, byte [rdx + 9]
btc ecx, eax
mov byte [rdx + 3], cl
xor cl, cl
movzx eax, r8b
sar al, cl
test al, 1
jne 0x14012c606
inc cl
cmp cl, 5
jne 0x14012c5f3
jmp 0x14012c614
movsx ecx, byte [rdx + 3]
movzx eax, byte [rdx + 8]
btc ecx, eax
mov byte [rdx + 3], cl
movzx eax, byte [rdx + 6]
xor byte [rdx + 3], al
mov r15, r12
mov rax, r12
and eax, 1
cmp byte [rax + rdx + 3], 0x20
je 0x14012ce5f
mov byte [rsp + 0x24], 0
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x24]
call fcn.1402bfef0
mov r11, rax
mov byte [rax + 8], 0
xor r10d, r10d
lea r9, [rax + 6]
nop dword [rax]
nop word [rax + rax]
lea r8d, [r10 + r10*2]
movzx edx, byte [r8 + r11]
mov byte [r9], dl
movzx eax, r10b
add al, al
lea edi, [rax + r10]
movzx ebx, dil
add bl, byte [r11 + 0xb]
xor bl, dl
mov byte [r9], bl
xor dl, dl
lea eax, [r8 + 1]
movzx r8d, byte [rax + r11]
nop
movzx eax, r8b
movzx ecx, dl
sar al, cl
test al, 1
jne 0x14012c6a6
inc dl
cmp dl, 4
jne 0x14012c690
jmp 0x14012c6b4
movsx ecx, bl
movzx eax, byte [r11 + 0xe]
btc ecx, eax
mov byte [r9], cl
mov dl, 5
lea eax, [r10 + 1]
lea eax, [r10 + rax*2]
movzx r8d, byte [rax + r11]
movzx eax, r8b
movzx ecx, dl
sar al, cl
test al, 1
jne 0x14012c6d9
inc dl
cmp dl, 8
jne 0x14012c6c3
jmp 0x14012c6e8
movsx ecx, byte [r9]
movzx eax, byte [r11 + 0xd]
btc ecx, eax
mov byte [r9], cl
xor dl, dl
lea eax, [r10 + 1]
lea eax, [r10 + rax*2]
movzx r8d, byte [rax + r11]
nop word [rax + rax]
movzx eax, r8b
movzx ecx, dl
sar al, cl
test al, 1
jne 0x14012c716
inc dl
cmp dl, 5
jne 0x14012c700
jmp 0x14012c725
movsx ecx, byte [r9]
movzx eax, byte [r11 + 0xc]
btc ecx, eax
mov byte [r9], cl
add dil, byte [r11 + 0xa]
xor byte [r9], dil
inc r10d
inc r9
cmp r10d, 2
jne 0x14012c660
cmp byte [r11 + r14 + 6], 0xa
je 0x14012ce5f
mov byte [rsp + 0x25], 0
lea rdx, [rbp - 0x58]
lea rcx, [rsp + 0x25]
call fcn.1402bff10
mov r11, rax
mov byte [rax + 0xc], 0
xor r10d, r10d
lea r9, [rax + 9]
nop dword [rax]
lea r8d, [r10 + r10*2]
movzx edx, byte [r8 + r11]
mov byte [r9], dl
movzx eax, r10b
add al, al
lea edi, [rax + r10]
movzx ebx, dil
add bl, byte [r11 + 0xf]
xor bl, dl
mov byte [r9], bl
xor dl, dl
lea eax, [r8 + 1]
movzx r8d, byte [rax + r11]
nop
movzx eax, r8b
movzx ecx, dl
sar al, cl
test al, 1
jne 0x14012c7b6
inc dl
cmp dl, 4
jne 0x14012c7a0
jmp 0x14012c7c4
movsx ecx, bl
movzx eax, byte [r11 + 0x12]
btc ecx, eax
mov byte [r9], cl
mov dl, 5
lea eax, [r10 + 1]
lea eax, [r10 + rax*2]
movzx r8d, byte [rax + r11]
movzx eax, r8b
movzx ecx, dl
sar al, cl
test al, 1
jne 0x14012c7e9
inc dl
cmp dl, 8
jne 0x14012c7d3
jmp 0x14012c7f8
movsx ecx, byte [r9]
movzx eax, byte [r11 + 0x11]
btc ecx, eax
mov byte [r9], cl
xor dl, dl
lea eax, [r10 + 1]
lea eax, [r10 + rax*2]
movzx r8d, byte [rax + r11]
nop word [rax + rax]
movzx eax, r8b
movzx ecx, dl
sar al, cl
test al, 1
jne 0x14012c826
inc dl
cmp dl, 5
jne 0x14012c810
jmp 0x14012c835
movsx ecx, byte [r9]
movzx eax, byte [r11 + 0x10]
btc ecx, eax
mov byte [r9], cl
add dil, byte [r11 + 0xe]
xor byte [r9], dil
inc r10d
inc r9
cmp r10d, 3
jne 0x14012c770
and r15d, r10d
cmp byte [r15 + r11 + 9], 0x2e
je 0x14012ce5f
cmp r12d, 0x704a8667
ja 0x14012ce5f
inc r12d
xor r12d, 0x704a8667
cmp r12d, 0x43606d29
jne 0x14012ce5f
mov byte [rsp + 0x26], 0
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x26]
call fcn.1402bff30
mov r11, rax
mov byte [rax + 0xc], 0
xor r10d, r10d
lea r9, [rax + 9]
lea r8d, [r10 + r10*2]
movzx edx, byte [r8 + r11]
mov byte [r9], dl
movzx eax, r10b
add al, al
lea edi, [rax + r10]
movzx ebx, dil
add bl, byte [r11 + 0xf]
xor bl, dl
mov byte [r9], bl
xor dl, dl
lea eax, [r8 + 1]
movzx r8d, byte [rax + r11]
nop
movzx eax, r8b
movzx ecx, dl
sar al, cl
test al, 1
jne 0x14012c8e6
inc dl
cmp dl, 4
jne 0x14012c8d0
jmp 0x14012c8f4
movsx ecx, bl
movzx eax, byte [r11 + 0x12]
btc ecx, eax
mov byte [r9], cl
mov dl, 5
lea eax, [r10 + 1]
lea eax, [r10 + rax*2]
movzx r8d, byte [rax + r11]
movzx eax, r8b
movzx ecx, dl
sar al, cl
test al, 1
jne 0x14012c919
inc dl
cmp dl, 8
jne 0x14012c903
jmp 0x14012c928
movsx ecx, byte [r9]
movzx eax, byte [r11 + 0x11]
btc ecx, eax
mov byte [r9], cl
xor dl, dl
lea eax, [r10 + 1]
lea eax, [r10 + rax*2]
movzx r8d, byte [rax + r11]
nop word [rax + rax]
movzx eax, r8b
movzx ecx, dl
sar al, cl
test al, 1
jne 0x14012c956
inc dl
cmp dl, 5
jne 0x14012c940
jmp 0x14012c965
movsx ecx, byte [r9]
movzx eax, byte [r11 + 0x10]
btc ecx, eax
mov byte [r9], cl
add dil, byte [r11 + 0xe]
xor byte [r9], dil
inc r10d
inc r9
cmp r10d, 3
jne 0x14012c8a0
cmp byte [r11 + 9], r10b
jne 0x14012ca5b
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov esi, dword [rcx + rbx + 0x88]
add rsi, rbx
cmp rsi, rbx
je 0x14012ca29
mov r11d, dword [rsi + 0x18]
test r11d, r11d
je 0x14012ca29
mov r14d, dword [rsi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r11d
lea rcx, [rbx + r11*4]
mov r9d, dword [rcx + r14]
add r9, rbx
mov r10d, 0x6f8fc840
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x14012ca24
movsx ecx, r8b
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x14012c9f0
cmp r10d, 0x91a106c8
je 0x14012ca31
test r11d, r11d
jne 0x14012c9d0
mov rax, qword [rax]
jmp 0x14012c9a0
mov ecx, dword [rsi + 0x1c]
add rcx, rbx
mov eax, dword [rsi + 0x24]
add rax, rbx
movzx eax, word [rax + r11*2]
mov r8d, dword [rcx + rax*4]
add r8, rbx
mov edx, 0xb59c2874
mov ecx, 0x9ac61bbd
call r8
jmp 0x14012ce5f
mov byte [rsp + 0x27], 0
lea rdx, [rbp - 0x28]
lea rcx, [rsp + 0x27]
call fcn.1402bff60
mov r11, rax
mov byte [rax + 0xc], 0
xor r10d, r10d
lea r9, [rax + 9]
nop dword [rax]
lea r8d, [r10 + r10*2]
movzx edx, byte [r8 + r11]
mov byte [r9], dl
movzx eax, r10b
add al, al
lea edi, [rax + r10]
movzx ebx, dil
add bl, byte [r11 + 0xf]
xor bl, dl
mov byte [r9], bl
xor dl, dl
lea eax, [r8 + 1]
movzx r8d, byte [rax + r11]
nop
movzx eax, r8b
movzx ecx, dl
sar al, cl
test al, 1
jne 0x14012cac6
inc dl
cmp dl, 4
jne 0x14012cab0
jmp 0x14012cad4
movsx ecx, bl
movzx eax, byte [r11 + 0x12]
btc ecx, eax
mov byte [r9], cl
mov dl, 5
lea eax, [r10 + 1]
lea eax, [r10 + rax*2]
movzx r8d, byte [rax + r11]
movzx eax, r8b
movzx ecx, dl
sar al, cl
test al, 1
jne 0x14012caf9
inc dl
cmp dl, 8
jne 0x14012cae3
jmp 0x14012cb08
movsx ecx, byte [r9]
movzx eax, byte [r11 + 0x11]
btc ecx, eax
mov byte [r9], cl
xor dl, dl
lea eax, [r10 + 1]
lea eax, [r10 + rax*2]
movzx r8d, byte [rax + r11]
nop word [rax + rax]
movzx eax, r8b
movzx ecx, dl
sar al, cl
test al, 1
jne 0x14012cb36
inc dl
cmp dl, 5
jne 0x14012cb20
jmp 0x14012cb45
movsx ecx, byte [r9]
movzx eax, byte [r11 + 0x10]
btc ecx, eax
mov byte [r9], cl
add dil, byte [r11 + 0xe]
xor byte [r9], dil
inc r10d
inc r9
cmp r10d, 3
jne 0x14012ca80
cmp byte [r11 + 0xb], 4
jne 0x14012ce5f
movss xmm1, dword [0x1403e7cf4]
movaps xmm0, xmm1
divss xmm0, dword [0x1403e7cf0]
mulss xmm0, xmm1
addss xmm1, xmm0
movss dword [0x1403e7cf4], xmm1
mov byte [rsp + 0x28], 0
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x28]
call fcn.1402bff90
mov r9, rax
mov r8d, dword [rax + 4]
movzx ecx, byte [rax + 0xa]
mov edx, r8d
shr edx, cl
test dl, 1
je 0x14012cbc2
movzx ecx, byte [rax]
inc cl
mov edx, r8d
shr edx, cl
test dl, 1
jne 0x14012cc0e
movzx ecx, byte [rax]
lea eax, [rcx + 2]
movzx edx, al
bt r8d, ecx
setae cl
bt r8d, edx
setae al
test al, cl
je 0x14012cc0e
movzx ecx, byte [r9 + 8]
mov eax, r8d
shr eax, cl
test al, 1
jne 0x14012cc0e
movzx ecx, byte [r9 + 9]
shr r8d, cl
test r8b, 1
jne 0x14012cc0e
movss xmm0, dword [0x1403e7cf0]
comiss xmm0, dword [0x1403e7cf4]
jbe 0x14012ce5f
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov edi, dword [rcx + rbx + 0x88]
add rdi, rbx
cmp rdi, rbx
je 0x14012cca9
mov r11d, dword [rdi + 0x18]
test r11d, r11d
je 0x14012cca9
mov esi, dword [rdi + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r11d
lea rdx, [rbx + r11*4]
mov r9d, dword [rdx + rsi]
add r9, rbx
mov r10d, 0x4fb20bdd
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x14012cca4
movsx ecx, r8b
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x14012cc70
cmp r10d, 0x8acd7d8d
je 0x14012ccb1
test r11d, r11d
jne 0x14012cc50
mov rax, qword [rax]
jmp 0x14012cc20
mov edx, dword [rdi + 0x1c]
add rdx, rbx
mov ecx, dword [rdi + 0x24]
add rcx, rbx
movzx ecx, word [rcx + r11*2]
mov eax, dword [rdx + rcx*4]
add rax, rbx
call rax
mov r14, rax
test rax, rax
je 0x14012ce5f
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop word [rax + rax]
mov rbx, qword [rcx + 0x30]
movsxd rdx, dword [rbx + 0x3c]
mov esi, dword [rdx + rbx + 0x88]
add rsi, rbx
cmp rsi, rbx
je 0x14012cd79
mov r11d, dword [rsi + 0x18]
test r11d, r11d
je 0x14012cd79
mov edi, dword [rsi + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r11d
lea rdx, [rbx + r11*4]
mov r9d, dword [rdx + rdi]
add r9, rbx
mov r10d, 0xb6188dfb
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x14012cd74
movsx eax, r8b
sub r8b, 0x41
mov edx, eax
or edx, 0x20
cmp r8b, 0x19
cmova edx, eax
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x14012cd40
cmp r10d, 0xbb17966f
je 0x14012cd81
test r11d, r11d
jne 0x14012cd20
mov rcx, qword [rcx]
jmp 0x14012ccf0
mov edx, dword [rsi + 0x1c]
add rdx, rbx
mov ecx, dword [rsi + 0x24]
add rcx, rbx
movzx ecx, word [rcx + r11*2]
mov eax, dword [rdx + rcx*4]
add rax, rbx
mov rcx, r14
call rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov edi, dword [rcx + rbx + 0x88]
add rdi, rbx
cmp rdi, rbx
je 0x14012ce39
mov r11d, dword [rdi + 0x18]
test r11d, r11d
je 0x14012ce39
mov esi, dword [rdi + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r11d
lea rdx, [rbx + r11*4]
mov r9d, dword [rdx + rsi]
add r9, rbx
mov r10d, 0x517460f0
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x14012ce34
movsx ecx, r8b
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x14012ce00
cmp r10d, 0x74ddde16
je 0x14012ce41
test r11d, r11d
jne 0x14012cde0
mov rax, qword [rax]
jmp 0x14012cdb0
mov edx, dword [rdi + 0x1c]
add rdx, rbx
mov ecx, dword [rdi + 0x24]
add rcx, rbx
movzx ecx, word [rcx + r11*2]
mov eax, dword [rdx + rcx*4]
add rax, rbx
mov ecx, 0x46b06fd3
call rax
mov rcx, qword [r13 + 0xd10]
test rcx, rcx
je 0x14012ce70
call fcn.1401e68d0
mov rcx, qword [r13 + 0xd18]
test rcx, rcx
je 0x14012ce81
call fcn.1401e69d0
mov rcx, qword [r13 + 0xd20]
test rcx, rcx
je 0x14012ce92
call fcn.1401e6a60
mov rax, qword [0x1403ec180]
mov rcx, qword [rax + 0x60]
test rcx, rcx
je 0x14012ceb6
call fcn.1401e6b00
mov rax, qword [0x1403ec180]
mov qword [rax + 0x60], 0
lea rbx, [r13 + 0x830]
cmp qword [rbx], 0
je 0x14012cf12
lea rsi, [rbx + 0x40]
cmp rbx, rsi
je 0x14012cf12
nop dword [rax]
mov rdi, qword [rbx]
test rdi, rdi
je 0x14012cf02
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x14012ceeb
mov edx, reloc.WS2_32.dll_recv
call fcn.140360580
lea rcx, [rdi + 0x18]
call fcn.1400bbee0
nop
mov edx, reloc.WS2_32.dll_WSASetLastError
mov rcx, rdi
call fcn.140360580
mov qword [rbx], 0
add rbx, 8
cmp rbx, rsi
jne 0x14012ced0
mov rcx, qword [r13 + 0x10]
test rcx, rcx
je 0x14012cf29
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov qword [r13 + 0x10], 0
mov rcx, qword [r13 + 8]
test rcx, rcx
je 0x14012cf40
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov qword [r13 + 8], 0
lea rcx, [r13 + 0xb18]
call fcn.1400c7e00
lea rcx, [r13 + 0x9d8]
call fcn.1400c6920
lea rcx, [r13 + 0x898]
call fcn.1400c59e0
nop
mov rcx, qword [r13 + 0x828]
test rcx, rcx
je 0x14012cf76
call fcn.140360580
lea rcx, [r13 + 0x810]
call fcn.1400bb0e0
nop
mov rcx, qword [r13 + 0x7e8]
test rcx, rcx
je 0x14012cf94
call fcn.140360580
lea rcx, [r13 + 0x7d0]
call fcn.1400bb0e0
nop
mov rcx, qword [r13 + 0x750]
test rcx, rcx
je 0x14012cfb7
mov edx, reloc.WS2_32.dll_recv
call fcn.140360580
lea rcx, [r13 + 0x758]
call fcn.1400bbee0
nop
mov rcx, qword [r13 + 0x738]
test rcx, rcx
je 0x14012cfd5
call fcn.140360580
lea rcx, [r13 + 0x720]
call fcn.1400bb0e0
nop
mov rbx, qword [r13 + 0x6c0]
test rbx, rbx
je 0x14012d013
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x14012cffc
call fcn.140360580
lea rcx, [rbx + 0x20]
call fcn.1400bb0e0
nop
mov edx, 0x40
mov rcx, rbx
call fcn.140360580
mov rbx, qword [r13 + 0x6b8]
test rbx, rbx
je 0x14012d049
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x14012d032
mov edx, reloc.WS2_32.dll_recv
call fcn.140360580
lea rcx, [rbx + 0x18]
call fcn.1400bbee0
nop
mov edx, reloc.WS2_32.dll_WSASetLastError
mov rcx, rbx
call fcn.140360580
mov rbx, qword [r13 + 0x648]
test rbx, rbx
je 0x14012d07a
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x14012d063
call fcn.140360580
lea rcx, [rbx + 0x20]
call fcn.1400bb0e0
nop
mov edx, 0x40
mov rcx, rbx
call fcn.140360580
mov rbx, qword [r13 + 0x640]
test rbx, rbx
je 0x14012d0b0
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x14012d099
mov edx, reloc.WS2_32.dll_recv
call fcn.140360580
lea rcx, [rbx + 0x18]
call fcn.1400bbee0
nop
mov edx, reloc.WS2_32.dll_WSASetLastError
mov rcx, rbx
call fcn.140360580
lea rcx, [r13 + 0x408]
call fcn.1400c4990
lea rcx, [r13 + 0x320]
call fcn.1400c3b80
lea rcx, [r13 + 0xb8]
call fcn.1400c33e0
nop
mov rcx, qword [r13 + 0x58]
test rcx, rcx
je 0x14012d0e8
mov edx, reloc.WS2_32.dll_recv
call fcn.140360580
lea rcx, [r13 + 0x60]
call fcn.1400bbee0
nop
lea r11, [rsp + 0x110]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret