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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xf0
mov r13, rcx
mov byte [rsp + 0x22], 0
mov byte [rsp + 0x21], 0
lea rdx, [rbp + 0x1f]
lea rcx, [rsp + 0x21]
call fcn.14021b990
mov r9, rax
lea rbx, [rax + 0xc]
mov byte [rbx + 4], 0
xor r14d, r14d
mov r11, rbx
mov r15d, 1
sub r15, rbx
nop dword [rax]
nop word [rax + rax]
lea esi, [r14 + r14*2]
movzx ecx, byte [rsi + r9]
mov byte [r11], cl
movzx eax, r14b
add al, al
lea edi, [rax + r14]
movzx r10d, dil
add r10b, byte [r9 + 0x13]
xor r10b, cl
mov byte [r11], r10b
xor dl, dl
lea eax, [rsi + 1]
movzx r8d, byte [rax + r9]
nop
movzx eax, r8b
movzx ecx, dl
sar al, cl
test al, 1
jne 0x140105db6
inc dl
cmp dl, 4
jne 0x140105da0
jmp 0x140105dc5
movsx ecx, r10b
movzx eax, byte [r9 + 0x16]
btc ecx, eax
mov byte [r11], cl
mov cl, 5
lea eax, [rsi + 2]
mov r8d, eax
movzx edx, byte [rax + r9]
movzx eax, dl
sar al, cl
test al, 1
jne 0x140105de4
inc cl
cmp cl, 8
jne 0x140105dd2
jmp 0x140105df3
movsx ecx, byte [r11]
movzx eax, byte [r9 + 0x15]
btc ecx, eax
mov byte [r11], cl
xor cl, cl
movzx edx, byte [r8 + r9]
nop word [rax + rax]
movzx eax, dl
sar al, cl
test al, 1
jne 0x140105e12
inc cl
cmp cl, 5
jne 0x140105e00
jmp 0x140105e21
movsx ecx, byte [r11]
movzx eax, byte [r9 + 0x14]
btc ecx, eax
mov byte [r11], cl
movzx eax, dil
add al, byte [r9 + 0x12]
xor byte [r11], al
lea eax, [rsi + 3]
movzx eax, byte [rax + r9]
mov byte [r11 + 1], al
lea r10d, [rdi + 3]
add r10b, byte [r9 + 0x13]
xor r10b, al
mov byte [r11 + 1], r10b
xor dl, dl
lea eax, [rsi + 4]
movzx r8d, byte [rax + r9]
movzx eax, r8b
movzx ecx, dl
sar al, cl
test al, 1
jne 0x140105e6b
inc dl
cmp dl, 4
jne 0x140105e51
lea rdx, [r15 + r11]
jmp 0x140105e7e
lea rdx, [r15 + r11]
movsx ecx, r10b
movzx eax, byte [r9 + 0x16]
btc ecx, eax
mov byte [rdx + rbx], cl
mov cl, 5
lea eax, [rsi + 5]
mov r10d, eax
movzx r8d, byte [rax + r9]
nop dword [rax + rax]
movzx eax, r8b
sar al, cl
test al, 1
jne 0x140105ea3
inc cl
cmp cl, 8
jne 0x140105e90
jmp 0x140105eb2
movsx ecx, byte [rdx + rbx]
movzx eax, byte [r9 + 0x15]
btc ecx, eax
mov byte [rdx + rbx], cl
xor cl, cl
movzx r8d, byte [r10 + r9]
nop dword [rax]
movzx eax, r8b
sar al, cl
test al, 1
jne 0x140105ed3
inc cl
cmp cl, 5
jne 0x140105ec0
jmp 0x140105ee2
movsx ecx, byte [rdx + rbx]
movzx eax, byte [r9 + 0x14]
btc ecx, eax
mov byte [rdx + rbx], cl
add dil, 3
add dil, byte [r9 + 0x12]
xor byte [rdx + rbx], dil
add r14d, 2
add r11, 2
cmp r14d, 4
jne 0x140105d70
mov rdx, rbx
lea rcx, [rbp - 0x49]
call fcn.14008b460
mov rdi, rax
lea rdx, [rbp - 0x29]
lea rcx, [rsp + 0x22]
call fcn.14021b960
mov rbx, rax
mov byte [rax + 0xc], 0
movzx r8d, byte [rax]
xor r8b, byte [rax + 0xf]
mov byte [rax + 9], r8b
xor cl, cl
movzx edx, byte [rax + 1]
movzx eax, dl
sar al, cl
test al, 1
jne 0x140105f48
inc cl
cmp cl, 4
jne 0x140105f36
jmp 0x140105f56
movsx ecx, r8b
movzx eax, byte [rbx + 0x12]
btc ecx, eax
mov byte [rbx + 9], cl
mov cl, 5
movzx edx, byte [rbx + 2]
nop dword [rax]
movzx eax, dl
sar al, cl
test al, 1
jne 0x140105f72
inc cl
cmp cl, 8
jne 0x140105f60
jmp 0x140105f80
movsx ecx, byte [rbx + 9]
movzx eax, byte [rbx + 0x11]
btc ecx, eax
mov byte [rbx + 9], cl
xor cl, cl
movzx eax, dl
sar al, cl
test al, 1
jne 0x140105f94
inc cl
cmp cl, 5
jne 0x140105f82
jmp 0x140105fa2
movsx ecx, byte [rbx + 9]
movzx eax, byte [rbx + 0x10]
btc ecx, eax
mov byte [rbx + 9], cl
movzx eax, byte [rbx + 0xe]
xor byte [rbx + 9], al
movzx eax, byte [rbx + 3]
mov byte [rbx + 0xa], al
movzx edx, byte [rbx + 0xf]
add dl, 3
xor dl, al
mov byte [rbx + 0xa], dl
xor cl, cl
movzx r8d, byte [rbx + 4]
movzx eax, r8b
sar al, cl
test al, 1
jne 0x140105fd6
inc cl
cmp cl, 4
jne 0x140105fc3
jmp 0x140105fe3
movsx ecx, dl
movzx eax, byte [rbx + 0x12]
btc ecx, eax
mov byte [rbx + 0xa], cl
mov cl, 5
movzx edx, byte [rbx + 5]
nop dword [rax]
movzx eax, dl
sar al, cl
test al, 1
jne 0x140106002
inc cl
cmp cl, 8
jne 0x140105ff0
jmp 0x140106010
movsx ecx, byte [rbx + 0xa]
movzx eax, byte [rbx + 0x11]
btc ecx, eax
mov byte [rbx + 0xa], cl
xor cl, cl
movzx eax, dl
sar al, cl
test al, 1
jne 0x140106024
inc cl
cmp cl, 5
jne 0x140106012
jmp 0x140106032
movsx ecx, byte [rbx + 0xa]
movzx eax, byte [rbx + 0x10]
btc ecx, eax
mov byte [rbx + 0xa], cl
movzx eax, byte [rbx + 0xe]
add al, 3
xor byte [rbx + 0xa], al
movzx eax, byte [rbx + 6]
mov byte [rbx + 0xb], al
movzx edx, byte [rbx + 0xf]
add dl, 6
xor dl, al
mov byte [rbx + 0xb], dl
xor cl, cl
movzx r8d, byte [rbx + 7]
movzx eax, r8b
sar al, cl
test al, 1
jne 0x140106068
inc cl
cmp cl, 4
jne 0x140106055
jmp 0x140106075
movsx ecx, dl
movzx eax, byte [rbx + 0x12]
btc ecx, eax
mov byte [rbx + 0xb], cl
mov cl, 5
movzx edx, byte [rbx + 8]
nop dword [rax + rax]
movzx eax, dl
sar al, cl
test al, 1
jne 0x140106092
inc cl
cmp cl, 8
jne 0x140106080
jmp 0x1401060a0
movsx ecx, byte [rbx + 0xb]
movzx eax, byte [rbx + 0x11]
btc ecx, eax
mov byte [rbx + 0xb], cl
xor cl, cl
movzx eax, dl
sar al, cl
test al, 1
jne 0x1401060b4
inc cl
cmp cl, 5
jne 0x1401060a2
jmp 0x1401060c2
movsx ecx, byte [rbx + 0xb]
movzx eax, byte [rbx + 0x10]
btc ecx, eax
mov byte [rbx + 0xb], cl
movzx eax, byte [rbx + 0xe]
add al, 6
xor byte [rbx + 0xb], al
mov edx, 1
mov rcx, rdi
call fcn.140086a80
movzx edi, byte [rax]
movzx ebx, byte [rbx + 9]
lea rcx, [rbp - 0x49]
call fcn.14008b2f0
cmp bl, dil
jne 0x140106f1f
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop word [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 0x140106199
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x140106199
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, 0x78be3196
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x140106194
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 0x140106160
cmp r10d, 0x3826b0c0
je 0x1401061a1
test r11d, r11d
jne 0x140106140
mov rax, qword [rax]
jmp 0x140106110
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 esi, eax
mov byte [rsp + 0x23], 0
lea rdx, [rbp - 0x69]
lea rcx, [rsp + 0x23]
call fcn.14021b9c0
mov r8, rax
mov byte [rax + 8], 0
movzx r9d, byte [rax + 0xb]
xor r9b, byte [rax]
mov byte [rax + 6], r9b
xor cl, cl
movzx edx, byte [rax + 1]
nop word [rax + rax]
movzx eax, dl
sar al, cl
test al, 1
jne 0x140106202
inc cl
cmp cl, 4
jne 0x1401061f0
jmp 0x140106212
movsx ecx, r9b
movzx eax, byte [r8 + 0xe]
btc ecx, eax
mov byte [r8 + 6], cl
mov cl, 5
movzx edx, byte [r8 + 2]
nop dword [rax]
movzx eax, dl
sar al, cl
test al, 1
jne 0x140106232
inc cl
cmp cl, 8
jne 0x140106220
jmp 0x140106243
movsx ecx, byte [r8 + 6]
movzx eax, byte [r8 + 0xd]
btc ecx, eax
mov byte [r8 + 6], cl
xor cl, cl
movzx eax, dl
sar al, cl
test al, 1
jne 0x140106257
inc cl
cmp cl, 5
jne 0x140106245
jmp 0x140106268
movsx ecx, byte [r8 + 6]
movzx eax, byte [r8 + 0xc]
btc ecx, eax
mov byte [r8 + 6], cl
movzx eax, byte [r8 + 0xa]
xor byte [r8 + 6], al
movzx eax, byte [r8 + 3]
mov byte [r8 + 7], al
movzx edx, byte [r8 + 0xb]
add dl, 3
xor dl, al
mov byte [r8 + 7], dl
xor cl, cl
movzx r9d, byte [r8 + 4]
nop
movzx eax, r9b
sar al, cl
test al, 1
jne 0x1401062a3
inc cl
cmp cl, 4
jne 0x140106290
jmp 0x1401062b2
movsx ecx, dl
movzx eax, byte [r8 + 0xe]
btc ecx, eax
mov byte [r8 + 7], cl
mov cl, 5
movzx edx, byte [r8 + 5]
nop dword [rax]
movzx eax, dl
sar al, cl
test al, 1
jne 0x1401062d2
inc cl
cmp cl, 8
jne 0x1401062c0
jmp 0x1401062e3
movsx ecx, byte [r8 + 7]
movzx eax, byte [r8 + 0xd]
btc ecx, eax
mov byte [r8 + 7], cl
xor cl, cl
movzx eax, dl
sar al, cl
test al, 1
jne 0x1401062f7
inc cl
cmp cl, 5
jne 0x1401062e5
jmp 0x140106308
movsx ecx, byte [r8 + 7]
movzx eax, byte [r8 + 0xc]
btc ecx, eax
mov byte [r8 + 7], cl
movzx eax, byte [r8 + 0xa]
add al, 3
xor byte [r8 + 7], al
mov eax, 0xaaaaaaab
mul esi
shr edx, 1
lea eax, [rdx + rdx*2]
mov ecx, esi
sub ecx, eax
mov ebx, ecx
cmp byte [rcx + r8 + 6], 0x5d
je 0x140106f1f
mov byte [rsp + 0x24], 0
lea rdx, [rbp - 0x79]
lea rcx, [rsp + 0x24]
call fcn.14021b9e0
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
movzx eax, r8b
sar al, cl
test al, 1
jne 0x140106373
inc cl
cmp cl, 4
jne 0x140106360
jmp 0x140106381
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 0x1401063a3
inc cl
cmp cl, 8
jne 0x140106390
jmp 0x1401063b1
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 0x1401063c6
inc cl
cmp cl, 5
jne 0x1401063b3
jmp 0x1401063d4
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 rdi, rsi
mov rax, rsi
and eax, 1
cmp byte [rax + rdx + 3], 0x20
je 0x140106f1f
mov byte [rsp + 0x25], 0
lea rdx, [rbp - 0x59]
lea rcx, [rsp + 0x25]
call fcn.14021ba00
mov rdx, rax
mov byte [rax + 8], 0
movzx r9d, byte [rax + 0xb]
xor r9b, byte [rax]
mov byte [rax + 6], r9b
xor cl, cl
movzx r8d, byte [rax + 1]
nop dword [rax]
movzx eax, r8b
sar al, cl
test al, 1
jne 0x140106433
inc cl
cmp cl, 4
jne 0x140106420
jmp 0x140106441
movsx ecx, r9b
movzx eax, byte [rdx + 0xe]
btc ecx, eax
mov byte [rdx + 6], cl
mov cl, 5
movzx r8d, byte [rdx + 2]
nop dword [rax + rax]
movzx eax, r8b
sar al, cl
test al, 1
jne 0x140106463
inc cl
cmp cl, 8
jne 0x140106450
jmp 0x140106471
movsx ecx, byte [rdx + 6]
movzx eax, byte [rdx + 0xd]
btc ecx, eax
mov byte [rdx + 6], cl
xor cl, cl
movzx eax, r8b
sar al, cl
test al, 1
jne 0x140106486
inc cl
cmp cl, 5
jne 0x140106473
jmp 0x140106494
movsx ecx, byte [rdx + 6]
movzx eax, byte [rdx + 0xc]
btc ecx, eax
mov byte [rdx + 6], cl
movzx eax, byte [rdx + 0xa]
xor byte [rdx + 6], al
movzx eax, byte [rdx + 3]
mov byte [rdx + 7], al
movzx r8d, byte [rdx + 0xb]
add r8b, 3
xor r8b, al
mov byte [rdx + 7], r8b
xor cl, cl
movzx r9d, byte [rdx + 4]
nop dword [rax]
movzx eax, r9b
sar al, cl
test al, 1
jne 0x1401064d3
inc cl
cmp cl, 4
jne 0x1401064c0
jmp 0x1401064e1
movsx ecx, r8b
movzx eax, byte [rdx + 0xe]
btc ecx, eax
mov byte [rdx + 7], cl
mov cl, 5
movzx r8d, byte [rdx + 5]
nop dword [rax + rax]
movzx eax, r8b
sar al, cl
test al, 1
jne 0x140106503
inc cl
cmp cl, 8
jne 0x1401064f0
jmp 0x140106511
movsx ecx, byte [rdx + 7]
movzx eax, byte [rdx + 0xd]
btc ecx, eax
mov byte [rdx + 7], cl
xor cl, cl
movzx eax, r8b
sar al, cl
test al, 1
jne 0x140106526
inc cl
cmp cl, 5
jne 0x140106513
jmp 0x140106534
movsx ecx, byte [rdx + 7]
movzx eax, byte [rdx + 0xc]
btc ecx, eax
mov byte [rdx + 7], cl
movzx eax, byte [rdx + 0xa]
add al, 3
xor byte [rdx + 7], al
cmp byte [rdx + rbx + 6], 0xa
je 0x140106f1f
mov byte [rsp + 0x26], 0
lea rdx, [rbp - 0x11]
lea rcx, [rsp + 0x26]
call fcn.14021ba20
mov rdx, rax
mov byte [rax + 0xc], 0
movzx r9d, byte [rax + 0xf]
xor r9b, byte [rax]
mov byte [rax + 9], r9b
xor cl, cl
movzx r8d, byte [rax + 1]
movzx eax, r8b
sar al, cl
test al, 1
jne 0x140106588
inc cl
cmp cl, 4
jne 0x140106575
jmp 0x140106596
movsx ecx, r9b
movzx eax, byte [rdx + 0x12]
btc ecx, eax
mov byte [rdx + 9], cl
mov cl, 5
movzx r8d, byte [rdx + 2]
nop dword [rax]
movzx eax, r8b
sar al, cl
test al, 1
jne 0x1401065b3
inc cl
cmp cl, 8
jne 0x1401065a0
jmp 0x1401065c1
movsx ecx, byte [rdx + 9]
movzx eax, byte [rdx + 0x11]
btc ecx, eax
mov byte [rdx + 9], cl
xor cl, cl
movzx eax, r8b
sar al, cl
test al, 1
jne 0x1401065d6
inc cl
cmp cl, 5
jne 0x1401065c3
jmp 0x1401065e4
movsx ecx, byte [rdx + 9]
movzx eax, byte [rdx + 0x10]
btc ecx, eax
mov byte [rdx + 9], cl
movzx eax, byte [rdx + 0xe]
xor byte [rdx + 9], al
movzx eax, byte [rdx + 3]
mov byte [rdx + 0xa], al
movzx r8d, byte [rdx + 0xf]
add r8b, 3
xor r8b, al
mov byte [rdx + 0xa], r8b
xor cl, cl
movzx r9d, byte [rdx + 4]
nop dword [rax]
movzx eax, r9b
sar al, cl
test al, 1
jne 0x140106623
inc cl
cmp cl, 4
jne 0x140106610
jmp 0x140106631
movsx ecx, r8b
movzx eax, byte [rdx + 0x12]
btc ecx, eax
mov byte [rdx + 0xa], cl
mov cl, 5
movzx r8d, byte [rdx + 5]
nop dword [rax + rax]
movzx eax, r8b
sar al, cl
test al, 1
jne 0x140106653
inc cl
cmp cl, 8
jne 0x140106640
jmp 0x140106661
movsx ecx, byte [rdx + 0xa]
movzx eax, byte [rdx + 0x11]
btc ecx, eax
mov byte [rdx + 0xa], cl
xor cl, cl
movzx eax, r8b
sar al, cl
test al, 1
jne 0x140106676
inc cl
cmp cl, 5
jne 0x140106663
jmp 0x140106684
movsx ecx, byte [rdx + 0xa]
movzx eax, byte [rdx + 0x10]
btc ecx, eax
mov byte [rdx + 0xa], cl
movzx eax, byte [rdx + 0xe]
add al, 3
xor byte [rdx + 0xa], al
movzx eax, byte [rdx + 6]
mov byte [rdx + 0xb], al
movzx r8d, byte [rdx + 0xf]
add r8b, 6
xor r8b, al
mov byte [rdx + 0xb], r8b
xor cl, cl
movzx r9d, byte [rdx + 7]
nop dword [rax + rax]
movzx eax, r9b
sar al, cl
test al, 1
jne 0x1401066c3
inc cl
cmp cl, 4
jne 0x1401066b0
jmp 0x1401066d1
movsx ecx, r8b
movzx eax, byte [rdx + 0x12]
btc ecx, eax
mov byte [rdx + 0xb], cl
mov cl, 5
movzx r8d, byte [rdx + 8]
nop dword [rax + rax]
movzx eax, r8b
sar al, cl
test al, 1
jne 0x1401066f3
inc cl
cmp cl, 8
jne 0x1401066e0
jmp 0x140106701
movsx ecx, byte [rdx + 0xb]
movzx eax, byte [rdx + 0x11]
btc ecx, eax
mov byte [rdx + 0xb], cl
xor cl, cl
movzx eax, r8b
sar al, cl
test al, 1
jne 0x140106716
inc cl
cmp cl, 5
jne 0x140106703
jmp 0x140106724
movsx ecx, byte [rdx + 0xb]
movzx eax, byte [rdx + 0x10]
btc ecx, eax
mov byte [rdx + 0xb], cl
movzx eax, byte [rdx + 0xe]
add al, 6
xor byte [rdx + 0xb], al
and edi, 3
cmp byte [rdi + rdx + 9], 0x2e
je 0x140106f1f
cmp esi, 0x4d192b3f
ja 0x140106f1f
inc esi
xor esi, 0x4d192b3f
cmp esi, 0x1b83f49c
jne 0x140106f1f
mov byte [rsp + 0x20], 0
lea rdx, [rsp + 0x28]
lea rcx, [rsp + 0x20]
call fcn.14021ba50
mov rdx, rax
mov byte [rax + 0xc], 0
movzx r9d, byte [rax + 0xf]
xor r9b, byte [rax]
mov byte [rax + 9], r9b
xor cl, cl
movzx r8d, byte [rax + 1]
nop dword [rax]
movzx eax, r8b
sar al, cl
test al, 1
jne 0x1401067a3
inc cl
cmp cl, 4
jne 0x140106790
jmp 0x1401067b1
movsx ecx, r9b
movzx eax, byte [rdx + 0x12]
btc ecx, eax
mov byte [rdx + 9], cl
mov cl, 5
movzx r8d, byte [rdx + 2]
nop dword [rax + rax]
movzx eax, r8b
sar al, cl
test al, 1
jne 0x1401067d3
inc cl
cmp cl, 8
jne 0x1401067c0
jmp 0x1401067e1
movsx ecx, byte [rdx + 9]
movzx eax, byte [rdx + 0x11]
btc ecx, eax
mov byte [rdx + 9], cl
xor cl, cl
movzx eax, r8b
sar al, cl
test al, 1
jne 0x1401067f6
inc cl
cmp cl, 5
jne 0x1401067e3
jmp 0x140106804
movsx ecx, byte [rdx + 9]
movzx eax, byte [rdx + 0x10]
btc ecx, eax
mov byte [rdx + 9], cl
movzx eax, byte [rdx + 0xe]
xor byte [rdx + 9], al
movzx eax, byte [rdx + 3]
mov byte [rdx + 0xa], al
movzx r8d, byte [rdx + 0xf]
add r8b, 3
xor r8b, al
mov byte [rdx + 0xa], r8b
xor cl, cl
movzx r9d, byte [rdx + 4]
nop dword [rax]
movzx eax, r9b
sar al, cl
test al, 1
jne 0x140106843
inc cl
cmp cl, 4
jne 0x140106830
jmp 0x140106851
movsx ecx, r8b
movzx eax, byte [rdx + 0x12]
btc ecx, eax
mov byte [rdx + 0xa], cl
mov cl, 5
movzx r8d, byte [rdx + 5]
nop dword [rax + rax]
movzx eax, r8b
sar al, cl
test al, 1
jne 0x140106873
inc cl
cmp cl, 8
jne 0x140106860
jmp 0x140106881
movsx ecx, byte [rdx + 0xa]
movzx eax, byte [rdx + 0x11]
btc ecx, eax
mov byte [rdx + 0xa], cl
xor cl, cl
movzx eax, r8b
sar al, cl
test al, 1
jne 0x140106896
inc cl
cmp cl, 5
jne 0x140106883
jmp 0x1401068a4
movsx ecx, byte [rdx + 0xa]
movzx eax, byte [rdx + 0x10]
btc ecx, eax
mov byte [rdx + 0xa], cl
movzx eax, byte [rdx + 0xe]
add al, 3
xor byte [rdx + 0xa], al
movzx eax, byte [rdx + 6]
mov byte [rdx + 0xb], al
movzx r8d, byte [rdx + 0xf]
add r8b, 6
xor r8b, al
mov byte [rdx + 0xb], r8b
xor cl, cl
movzx r9d, byte [rdx + 7]
nop dword [rax + rax]
movzx eax, r9b
sar al, cl
test al, 1
jne 0x1401068e3
inc cl
cmp cl, 4
jne 0x1401068d0
jmp 0x1401068f1
movsx ecx, r8b
movzx eax, byte [rdx + 0x12]
btc ecx, eax
mov byte [rdx + 0xb], cl
mov cl, 5
movzx r8d, byte [rdx + 8]
nop dword [rax + rax]
movzx eax, r8b
sar al, cl
test al, 1
jne 0x140106913
inc cl
cmp cl, 8
jne 0x140106900
jmp 0x140106921
movsx ecx, byte [rdx + 0xb]
movzx eax, byte [rdx + 0x11]
btc ecx, eax
mov byte [rdx + 0xb], cl
xor cl, cl
movzx eax, r8b
sar al, cl
test al, 1
jne 0x140106936
inc cl
cmp cl, 5
jne 0x140106923
jmp 0x140106944
movsx ecx, byte [rdx + 0xb]
movzx eax, byte [rdx + 0x10]
btc ecx, eax
mov byte [rdx + 0xb], cl
movzx eax, byte [rdx + 0xe]
add al, 6
xor byte [rdx + 0xb], al
cmp byte [rdx + 9], 3
jne 0x140106a2b
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [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 0x1401069f9
mov r11d, dword [rsi + 0x18]
test r11d, r11d
je 0x1401069f9
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, 0x5625a4b1
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x1401069f4
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 0x1401069c0
cmp r10d, 0xb830309
je 0x140106a01
test r11d, r11d
jne 0x1401069a0
mov rax, qword [rax]
jmp 0x140106970
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, 0xd2ca04ac
mov ecx, 0x27aa2539
call r8
jmp 0x140106f1f
mov byte [rsp + 0x20], 0
lea rdx, [rbp + 7]
lea rcx, [rsp + 0x20]
call fcn.14021ba80
mov rdx, rax
mov byte [rax + 0xc], 0
movzx r9d, byte [rax + 0xf]
xor r9b, byte [rax]
mov byte [rax + 9], r9b
xor cl, cl
movzx r8d, byte [rax + 1]
nop dword [rax + rax]
movzx eax, r8b
sar al, cl
test al, 1
jne 0x140106a73
inc cl
cmp cl, 4
jne 0x140106a60
jmp 0x140106a81
movsx ecx, r9b
movzx eax, byte [rdx + 0x12]
btc ecx, eax
mov byte [rdx + 9], cl
mov cl, 5
movzx r8d, byte [rdx + 2]
nop dword [rax + rax]
movzx eax, r8b
sar al, cl
test al, 1
jne 0x140106aa3
inc cl
cmp cl, 8
jne 0x140106a90
jmp 0x140106ab1
movsx ecx, byte [rdx + 9]
movzx eax, byte [rdx + 0x11]
btc ecx, eax
mov byte [rdx + 9], cl
xor cl, cl
movzx eax, r8b
sar al, cl
test al, 1
jne 0x140106ac6
inc cl
cmp cl, 5
jne 0x140106ab3
jmp 0x140106ad4
movsx ecx, byte [rdx + 9]
movzx eax, byte [rdx + 0x10]
btc ecx, eax
mov byte [rdx + 9], cl
movzx eax, byte [rdx + 0xe]
xor byte [rdx + 9], al
movzx eax, byte [rdx + 3]
mov byte [rdx + 0xa], al
movzx r8d, byte [rdx + 0xf]
add r8b, 3
xor r8b, al
mov byte [rdx + 0xa], r8b
xor cl, cl
movzx r9d, byte [rdx + 4]
nop dword [rax]
movzx eax, r9b
sar al, cl
test al, 1
jne 0x140106b13
inc cl
cmp cl, 4
jne 0x140106b00
jmp 0x140106b21
movsx ecx, r8b
movzx eax, byte [rdx + 0x12]
btc ecx, eax
mov byte [rdx + 0xa], cl
mov cl, 5
movzx r8d, byte [rdx + 5]
nop dword [rax + rax]
movzx eax, r8b
sar al, cl
test al, 1
jne 0x140106b43
inc cl
cmp cl, 8
jne 0x140106b30
jmp 0x140106b51
movsx ecx, byte [rdx + 0xa]
movzx eax, byte [rdx + 0x11]
btc ecx, eax
mov byte [rdx + 0xa], cl
xor cl, cl
movzx eax, r8b
sar al, cl
test al, 1
jne 0x140106b66
inc cl
cmp cl, 5
jne 0x140106b53
jmp 0x140106b74
movsx ecx, byte [rdx + 0xa]
movzx eax, byte [rdx + 0x10]
btc ecx, eax
mov byte [rdx + 0xa], cl
movzx eax, byte [rdx + 0xe]
add al, 3
xor byte [rdx + 0xa], al
movzx eax, byte [rdx + 6]
mov byte [rdx + 0xb], al
movzx r8d, byte [rdx + 0xf]
add r8b, 6
xor r8b, al
mov byte [rdx + 0xb], r8b
xor cl, cl
movzx r9d, byte [rdx + 7]
nop dword [rax + rax]
movzx eax, r9b
sar al, cl
test al, 1
jne 0x140106bb3
inc cl
cmp cl, 4
jne 0x140106ba0
jmp 0x140106bc1
movsx ecx, r8b
movzx eax, byte [rdx + 0x12]
btc ecx, eax
mov byte [rdx + 0xb], cl
mov cl, 5
movzx r8d, byte [rdx + 8]
nop dword [rax + rax]
movzx eax, r8b
sar al, cl
test al, 1
jne 0x140106be3
inc cl
cmp cl, 8
jne 0x140106bd0
jmp 0x140106bf1
movsx ecx, byte [rdx + 0xb]
movzx eax, byte [rdx + 0x11]
btc ecx, eax
mov byte [rdx + 0xb], cl
xor cl, cl
movzx eax, r8b
sar al, cl
test al, 1
jne 0x140106c06
inc cl
cmp cl, 5
jne 0x140106bf3
jmp 0x140106c14
movsx ecx, byte [rdx + 0xb]
movzx eax, byte [rdx + 0x10]
btc ecx, eax
mov byte [rdx + 0xb], cl
movzx eax, byte [rdx + 0xe]
add al, 6
xor al, byte [rdx + 0xb]
mov byte [rdx + 0xb], al
cmp al, 4
jne 0x140106f1f
movss xmm1, dword [0x14033ccd4]
movaps xmm0, xmm1
divss xmm0, dword [0x14033ccd0]
mulss xmm0, xmm1
addss xmm1, xmm0
movss dword [0x14033ccd4], xmm1
mov byte [rsp + 0x27], 0
lea rdx, [rsp + 0x28]
lea rcx, [rsp + 0x27]
call fcn.14021bab0
mov r9, rax
mov r8d, dword [rax + 4]
movzx ecx, byte [rax + 0xa]
mov edx, r8d
shr edx, cl
test dl, 1
je 0x140106c83
movzx ecx, byte [rax]
inc cl
mov edx, r8d
shr edx, cl
test dl, 1
jne 0x140106ccc
movzx ecx, byte [rax]
mov eax, r8d
shr eax, cl
test al, 1
jne 0x140106ccc
add cl, 2
mov eax, r8d
shr eax, cl
test al, 1
jne 0x140106ccc
movzx ecx, byte [r9 + 8]
mov eax, r8d
shr eax, cl
test al, 1
jne 0x140106ccc
movzx ecx, byte [r9 + 9]
shr r8d, cl
test r8b, 1
jne 0x140106ccc
movss xmm0, dword [0x14033ccd0]
comiss xmm0, dword [0x14033ccd4]
jbe 0x140106f1f
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov edi, dword [rcx + rbx + 0x88]
add rdi, rbx
cmp rdi, rbx
je 0x140106d69
mov r11d, dword [rdi + 0x18]
test r11d, r11d
je 0x140106d69
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, 0xf96bc382
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x140106d64
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 0x140106d30
cmp r10d, 0xf3608614
je 0x140106d71
test r11d, r11d
jne 0x140106d10
mov rax, qword [rax]
jmp 0x140106ce0
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 0x140106f1f
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 edi, dword [rdx + rbx + 0x88]
add rdi, rbx
cmp rdi, rbx
je 0x140106e39
mov r11d, dword [rdi + 0x18]
test r11d, r11d
je 0x140106e39
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, 0xb572e1
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x140106e34
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 0x140106e00
cmp r10d, 0xa1771e81
je 0x140106e41
test r11d, r11d
jne 0x140106de0
mov rcx, qword [rcx]
jmp 0x140106db0
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 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 0x140106ef9
mov r11d, dword [rdi + 0x18]
test r11d, r11d
je 0x140106ef9
mov esi, dword [rdi + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r11d
lea rdx, [rsi + r11*4]
mov r9d, dword [rdx + rbx]
add r9, rbx
mov r10d, 0xf7a46571
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x140106ef4
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 0x140106ec0
cmp r10d, 0xe1cd13b7
je 0x140106f01
test r11d, r11d
jne 0x140106ea0
mov rax, qword [rax]
jmp 0x140106e70
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, 0x95ecb6f6
call rax
mov rcx, qword [r13 + 0xca0]
test rcx, rcx
je 0x140106f30
call fcn.1401c2390
mov rcx, qword [r13 + 0xca8]
test rcx, rcx
je 0x140106f41
call fcn.1401c2490
mov rcx, qword [r13 + 0xcb0]
test rcx, rcx
je 0x140106f52
call fcn.1401c2520
mov rax, qword [0x14033fab8]
mov rcx, qword [rax + 0x58]
test rcx, rcx
je 0x140106f76
call fcn.1401c25c0
mov rax, qword [0x14033fab8]
mov qword [rax + 0x58], 0
mov rcx, qword [r13 + 8]
test rcx, rcx
je 0x140106f8d
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov qword [r13 + 8], 0
lea rcx, [r13 + 0xaa8]
call fcn.1400b3350
lea rcx, [r13 + 0x968]
call fcn.1400b1910
lea rcx, [r13 + 0x828]
call fcn.1400b0b30
nop
mov rcx, qword [r13 + 0x820]
test rcx, rcx
je 0x140106fc3
call fcn.1402bd710
mov rcx, qword [r13 + 0x808]
call fcn.1400a75a0
nop
mov rcx, qword [r13 + 0x7e0]
test rcx, rcx
je 0x140106fe1
call fcn.1402bd710
mov rcx, qword [r13 + 0x7c8]
call fcn.1400a75a0
nop
mov rcx, qword [r13 + 0x748]
test rcx, rcx
je 0x140107004
mov edx, reloc.WS2_32.dll_recv
call fcn.1402bd710
mov rcx, qword [r13 + 0x750]
call fcn.1400a8330
nop
mov rcx, qword [r13 + 0x730]
test rcx, rcx
je 0x140107022
call fcn.1402bd710
mov rcx, qword [r13 + 0x718]
call fcn.1400a75a0
nop
mov rbx, qword [r13 + 0x6b8]
test rbx, rbx
je 0x140107060
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x140107049
call fcn.1402bd710
mov rcx, qword [rbx + 0x20]
call fcn.1400a75a0
nop
mov edx, 0x40
mov rcx, rbx
call fcn.1402bd710
mov rbx, qword [r13 + 0x6b0]
test rbx, rbx
je 0x140107096
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x14010707f
mov edx, reloc.WS2_32.dll_recv
call fcn.1402bd710
mov rcx, qword [rbx + 0x18]
call fcn.1400a8330
nop
mov edx, reloc.WS2_32.dll_WSASetLastError
mov rcx, rbx
call fcn.1402bd710
mov rbx, qword [r13 + 0x640]
test rbx, rbx
je 0x1401070c7
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x1401070b0
call fcn.1402bd710
mov rcx, qword [rbx + 0x20]
call fcn.1400a75a0
nop
mov edx, 0x40
mov rcx, rbx
call fcn.1402bd710
mov rbx, qword [r13 + 0x638]
test rbx, rbx
je 0x1401070fd
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x1401070e6
mov edx, reloc.WS2_32.dll_recv
call fcn.1402bd710
mov rcx, qword [rbx + 0x18]
call fcn.1400a8330
nop
mov edx, reloc.WS2_32.dll_WSASetLastError
mov rcx, rbx
call fcn.1402bd710
lea rcx, [r13 + 0x400]
call fcn.1400afe70
lea rcx, [r13 + 0x318]
call fcn.1400af0e0
lea rcx, [r13 + 0xb0]
call fcn.1400ae850
nop
mov rcx, qword [r13 + 0x50]
test rcx, rcx
je 0x140107135
mov edx, reloc.WS2_32.dll_recv
call fcn.1402bd710
mov rcx, qword [r13 + 0x58]
call fcn.1400a8330
nop
lea r11, [rsp + 0xf0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop rdi
pop rbp
ret