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

Disassembly:
mov rax, rsp
push rbp
mov rbp, rsp
sub rsp, 0x80
mov r8, qword [0x14013d6c0]
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov qword [rax - 0x10], r12
mov qword [rax - 0x18], r13
mov r13d, 0xf652bc95
mov qword [rax - 0x20], r14
mov qword [rax - 0x28], r15
movaps xmmword [rax - 0x38], xmm6
test r8, r8
jne 0x1400450d6
mov rax, qword gs:[0x60]
xor r9d, r9d
mov edi, r13d
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r12, qword [rax]
mov rsi, r12
movups xmm0, xmmword [rsi + 0x58]
movd eax, xmm0
sub ax, 8
test r9d, r9d
je 0x140044f8d
psrldq xmm0, 8
mov edx, 0x811c9dc5
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x140044f84
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x140044f70
cmp edx, r9d
jne 0x1400450b6
mov r10, qword [rsi + 0x30]
movsxd rax, dword [r10 + 0x3c]
mov rcx, qword [rax + r10 + 0x88]
mov r15, rcx
mov ebx, ecx
shr r15, 0x20
add rbx, r10
cmp rbx, r10
je 0x1400450b6
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x1400450b6
mov r14d, dword [rbx + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [r14 + r8*4]
mov ecx, dword [rax + r10]
add rcx, r10
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140045007
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x140044ff0
cmp edx, edi
je 0x140045015
test r8d, r8d
jne 0x140044fd0
jmp 0x1400450b6
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov r8d, dword [rcx + rdx*4]
add r8, r10
cmp r8, rbx
jbe 0x1400450cf
lea rax, [r15 + rbx]
cmp r8, rax
jae 0x1400450cf
mov r9d, 0x811c9dc5
mov ecx, r9d
mov dword [rbp + 0x10], r9d
mov dword [rbp + 0x14], ecx
movzx eax, byte [r8]
cmp al, 0x2e
je 0x14004507c
nop dword [rax + rax]
movsx eax, al
inc r8
xor eax, r9d
imul r9d, eax, 0x1000193
movzx eax, byte [r8]
cmp al, 0x2e
jne 0x140045060
mov dword [rbp + 0x10], r9d
movzx eax, byte [r8 + 1]
inc r8
test al, al
je 0x1400450aa
nop dword [rax + rax]
movsx eax, al
lea r8, [r8 + 1]
xor eax, ecx
imul ecx, eax, 0x1000193
movzx eax, byte [r8]
test al, al
jne 0x140045090
mov dword [rbp + 0x14], ecx
mov rdi, qword [rbp + 0x10]
mov rsi, qword [r12]
shr rdi, 0x20
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
je 0x1400450cc
cmp qword [rax + 0x30], 0
jne 0x140044f41
xor r8d, r8d
mov qword [0x14013d6c0], r8
mov eax, dword [str.b_YVM_]
lea rcx, [rbp + 0x10]
mov dword [rbp + 0x10], eax
xor edx, edx
movzx eax, word [0x1400ebc50]
xor byte [rbp + 0x11], 0x36
xor byte [rbp + 0x12], 0x37
xor byte [rbp + 0x13], 0x38
mov word [rbp + 0x14], ax
movzx eax, byte [0x1400ebc52]
xor byte [rbp + 0x14], 0x39
xor al, 0x3b
xor byte [rbp + 0x15], 0x3a
mov byte [rbp + 0x16], al
mov byte [rbp + 0x10], 0x57
call r8
test rax, rax
je 0x140045128
mov qword [0], 0
mov r8, qword [0x14013d6c0]
test r8, r8
jne 0x1400452f6
mov rax, qword gs:[0x60]
xor r9d, r9d
mov edi, r13d
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r12, qword [rax]
mov rsi, r12
nop word [rax + rax]
movups xmm0, xmmword [rsi + 0x58]
movd eax, xmm0
sub ax, 8
test r9d, r9d
je 0x1400451ad
psrldq xmm0, 8
mov edx, 0x811c9dc5
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x1400451a4
nop
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x140045190
cmp edx, r9d
jne 0x1400452d6
mov r10, qword [rsi + 0x30]
movsxd rax, dword [r10 + 0x3c]
mov rcx, qword [rax + r10 + 0x88]
mov r15, rcx
mov ebx, ecx
shr r15, 0x20
add rbx, r10
cmp rbx, r10
je 0x1400452d6
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x1400452d6
mov r14d, dword [rbx + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [r10 + r8*4]
mov eax, dword [rax + r14]
add rax, r10
movzx ecx, byte [rax]
inc rax
test cl, cl
je 0x140045227
nop dword [rax]
movsx ecx, cl
lea rax, [rax + 1]
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [rax - 1]
test cl, cl
jne 0x140045210
cmp edx, edi
je 0x140045235
test r8d, r8d
jne 0x1400451f0
jmp 0x1400452d6
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov r8d, dword [rcx + rdx*4]
add r8, r10
cmp r8, rbx
jbe 0x1400452ef
lea rax, [rbx + r15]
cmp r8, rax
jae 0x1400452ef
movzx eax, byte [r8]
mov r9d, 0x811c9dc5
mov dword [rbp + 0x10], r9d
mov ecx, r9d
mov dword [rbp + 0x14], ecx
cmp al, 0x2e
je 0x14004529c
nop dword [rax + rax]
movsx eax, al
inc r8
xor eax, r9d
imul r9d, eax, 0x1000193
movzx eax, byte [r8]
cmp al, 0x2e
jne 0x140045280
mov dword [rbp + 0x10], r9d
movzx eax, byte [r8 + 1]
inc r8
test al, al
je 0x1400452ca
nop dword [rax + rax]
movsx eax, al
lea r8, [r8 + 1]
xor eax, ecx
imul ecx, eax, 0x1000193
movzx eax, byte [r8]
test al, al
jne 0x1400452b0
mov dword [rbp + 0x14], ecx
mov rdi, qword [rbp + 0x10]
mov rsi, qword [r12]
shr rdi, 0x20
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
je 0x1400452ec
cmp qword [rax + 0x30], 0
jne 0x140045160
xor r8d, r8d
mov qword [0x14013d6c0], r8
mov eax, dword [0x1400ec160]
xor r9d, r9d
movsd xmm0, qword [0x1400ec158]
mov ebx, dword [reloc.WS2_32.dll_accept]
movdqa xmm6, xmmword [0x1400f0d40]
mov dword [rbp - 0x58], eax
movzx eax, word [0x1400ec164]
mov word [rbp - 0x54], ax
movzx eax, byte [0x1400ec166]
mov byte [rbp - 0x52], al
movsd qword [rbp - 0x60], xmm0
cmp ebx, 2
jl 0x140045416
movdqa xmm2, xmmword [0x1400f0d10]
mov r9d, 8
movdqa xmm3, xmmword [0x1400f1010]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1400f0d30]
psubd xmm2, xmm0
movd xmm0, dword [0x1400ec158]
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x1400f0d80]
xorps xmm2, xmm0
movd dword [rbp - 0x60], xmm2
movdqa xmm2, xmmword [0x1400f0d20]
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1400f0d30]
psubd xmm2, xmm0
movd xmm0, dword [rbp - 0x5c]
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x1400f0d80]
xorps xmm2, xmm0
movd dword [rbp - 0x5c], xmm2
movsxd rax, r9d
lea r10, [rbp - 0x60]
add r10, rax
mov eax, 0x5397829d
lea r10, [r10 + 1]
imul r9d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r9b
inc r9d
sub al, cl
add al, 0x35
xor byte [r10 - 1], al
cmp r9d, 0xf
jl 0x140045420
xor edx, edx
lea rcx, [rbp - 0x60]
call r8
test rax, rax
je 0x14004546b
mov qword [0], 0
mov r8, qword [0x14013d6c0]
test r8, r8
jne 0x14004563c
mov rax, qword gs:[0x60]
xor r9d, r9d
mov edi, r13d
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r12, qword [rax]
mov rsi, r12
nop dword [rax + rax]
movups xmm0, xmmword [rsi + 0x58]
movd eax, xmm0
sub ax, 8
test r9d, r9d
je 0x1400454ed
psrldq xmm0, 8
mov edx, 0x811c9dc5
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x1400454e4
nop
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x1400454d0
cmp edx, r9d
jne 0x140045616
mov r10, qword [rsi + 0x30]
movsxd rax, dword [r10 + 0x3c]
mov rcx, qword [rax + r10 + 0x88]
mov r15, rcx
mov ebx, ecx
shr r15, 0x20
add rbx, r10
cmp rbx, r10
je 0x140045616
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x140045616
mov r14d, dword [rbx + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [r10 + r8*4]
mov ecx, dword [rax + r14]
add rcx, r10
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140045567
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x140045550
cmp edx, edi
je 0x140045575
test r8d, r8d
jne 0x140045530
jmp 0x140045616
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov r8d, dword [rcx + rdx*4]
add r8, r10
cmp r8, rbx
jbe 0x14004562f
lea rax, [rbx + r15]
cmp r8, rax
jae 0x14004562f
movzx eax, byte [r8]
mov r9d, 0x811c9dc5
mov dword [rbp + 0x10], r9d
mov ecx, r9d
mov dword [rbp + 0x14], ecx
cmp al, 0x2e
je 0x1400455dc
nop dword [rax + rax]
movsx eax, al
inc r8
xor eax, r9d
imul r9d, eax, 0x1000193
movzx eax, byte [r8]
cmp al, 0x2e
jne 0x1400455c0
mov dword [rbp + 0x10], r9d
movzx eax, byte [r8 + 1]
inc r8
test al, al
je 0x14004560a
nop dword [rax + rax]
movsx eax, al
lea r8, [r8 + 1]
xor eax, ecx
imul ecx, eax, 0x1000193
movzx eax, byte [r8]
test al, al
jne 0x1400455f0
mov dword [rbp + 0x14], ecx
mov rdi, qword [rbp + 0x10]
mov rsi, qword [r12]
shr rdi, 0x20
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
je 0x14004562c
cmp qword [rax + 0x30], 0
jne 0x1400454a0
xor r8d, r8d
mov ebx, dword [reloc.WS2_32.dll_accept]
mov qword [0x14013d6c0], r8
cmp byte [0x1400ec245], 0
mov eax, dword [0x1400ec240]
movsd xmm0, qword [str.eDX_IHt_T_3B]
mov dword [rbp - 0x58], eax
movzx eax, word [0x1400ec244]
mov word [rbp - 0x54], ax
movsd qword [rbp - 0x60], xmm0
je 0x140045792
xor r9d, r9d
cmp ebx, 2
jl 0x140045757
movdqa xmm3, xmmword [0x1400f0d10]
mov r9d, 8
movdqa xmm2, xmmword [0x1400f0d20]
movdqa xmm1, xmm3
movdqa xmm4, xmmword [0x1400f1010]
movdqa xmm0, xmm3
mov eax, dword [0x1400f0d80]
punpckhdq xmm0, xmm3
punpckldq xmm1, xmm3
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movdqa xmm1, xmm2
pmulld xmm0, xmmword [0x1400f0d30]
psubd xmm3, xmm0
punpckldq xmm1, xmm2
andps xmm3, xmm6
pmuldq xmm1, xmm4
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd xmm0, eax
paddb xmm3, xmm0
movd xmm0, dword [str.eDX_IHt_T_3B]
xorps xmm3, xmm0
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
movd dword [rbp - 0x60], xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movd xmm1, dword [rbp - 0x5c]
pmulld xmm0, xmmword [0x1400f0d30]
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rbp - 0x5c], xmm2
movsxd rax, r9d
lea r10, [rbp - 0x60]
add r10, rax
mov eax, 0x5397829d
lea r10, [r10 + 1]
imul r9d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r9b
inc r9d
sub al, cl
add al, 0x35
xor byte [r10 - 1], al
cmp r9d, 0xe
jl 0x140045761
xor edx, edx
lea rcx, [rbp - 0x60]
call r8
test rax, rax
je 0x1400457ac
mov qword [0], 0
mov r8, qword [0x14013d6c0]
test r8, r8
jne 0x140045976
mov rax, qword gs:[0x60]
xor r9d, r9d
mov edi, r13d
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r12, qword [rax]
mov rsi, r12
nop dword [rax]
movups xmm0, xmmword [rsi + 0x58]
movd eax, xmm0
sub ax, 8
test r9d, r9d
je 0x14004582d
psrldq xmm0, 8
mov edx, 0x811c9dc5
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x140045824
nop
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x140045810
cmp edx, r9d
jne 0x140045956
mov r10, qword [rsi + 0x30]
movsxd rax, dword [r10 + 0x3c]
mov rcx, qword [rax + r10 + 0x88]
mov r15, rcx
mov ebx, ecx
shr r15, 0x20
add rbx, r10
cmp rbx, r10
je 0x140045956
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x140045956
mov r14d, dword [rbx + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [r14 + r8*4]
mov ecx, dword [rax + r10]
add rcx, r10
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x1400458a7
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x140045890
cmp edx, edi
je 0x1400458b5
test r8d, r8d
jne 0x140045870
jmp 0x140045956
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov r8d, dword [rcx + rdx*4]
add r8, r10
cmp r8, rbx
jbe 0x14004596f
lea rax, [rbx + r15]
cmp r8, rax
jae 0x14004596f
movzx eax, byte [r8]
mov r9d, 0x811c9dc5
mov dword [rbp + 0x10], r9d
mov ecx, r9d
mov dword [rbp + 0x14], ecx
cmp al, 0x2e
je 0x14004591c
nop dword [rax + rax]
movsx eax, al
inc r8
xor eax, r9d
imul r9d, eax, 0x1000193
movzx eax, byte [r8]
cmp al, 0x2e
jne 0x140045900
mov dword [rbp + 0x10], r9d
movzx eax, byte [r8 + 1]
inc r8
test al, al
je 0x14004594a
nop dword [rax + rax]
movsx eax, al
lea r8, [r8 + 1]
xor eax, ecx
imul ecx, eax, 0x1000193
movzx eax, byte [r8]
test al, al
jne 0x140045930
mov dword [rbp + 0x14], ecx
mov rdi, qword [rbp + 0x10]
mov rsi, qword [r12]
shr rdi, 0x20
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
je 0x14004596c
cmp qword [rax + 0x30], 0
jne 0x1400457e0
xor r8d, r8d
mov qword [0x14013d6c0], r8
movzx eax, byte [0x1400ebbe8]
lea rcx, [rbp - 0x60]
movsd xmm0, qword [str.edxbkp]
xor al, 0x3d
movsd qword [rbp - 0x60], xmm0
xor edx, edx
xor byte [rbp - 0x5f], 0x36
xor byte [rbp - 0x5e], 0x37
xor byte [rbp - 0x5d], 0x38
xor byte [rbp - 0x5c], 0x39
xor byte [rbp - 0x5b], 0x3a
xor byte [rbp - 0x5a], 0x3b
xor byte [rbp - 0x59], 0x3c
mov byte [rbp - 0x58], al
mov byte [rbp - 0x60], 0x50
call r8
test rax, rax
je 0x1400459c9
mov qword [0], 0
mov r8, qword [0x14013d6c0]
test r8, r8
jne 0x140045b96
mov rax, qword gs:[0x60]
xor r9d, r9d
mov edi, r13d
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r12, qword [rax]
mov rsi, r12
nop word [rax + rax]
movups xmm0, xmmword [rsi + 0x58]
movd eax, xmm0
sub ax, 8
test r9d, r9d
je 0x140045a4d
psrldq xmm0, 8
mov edx, 0x811c9dc5
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x140045a44
nop
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x140045a30
cmp edx, r9d
jne 0x140045b76
mov r10, qword [rsi + 0x30]
movsxd rax, dword [r10 + 0x3c]
mov rcx, qword [rax + r10 + 0x88]
mov r15, rcx
mov ebx, ecx
shr r15, 0x20
add rbx, r10
cmp rbx, r10
je 0x140045b76
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x140045b76
mov r14d, dword [rbx + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [r14 + r8*4]
mov ecx, dword [rax + r10]
add rcx, r10
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140045ac7
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x140045ab0
cmp edx, edi
je 0x140045ad5
test r8d, r8d
jne 0x140045a90
jmp 0x140045b76
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov r8d, dword [rcx + rdx*4]
add r8, r10
cmp r8, rbx
jbe 0x140045b8f
lea rax, [rbx + r15]
cmp r8, rax
jae 0x140045b8f
movzx eax, byte [r8]
mov r9d, 0x811c9dc5
mov dword [rbp + 0x10], r9d
mov ecx, r9d
mov dword [rbp + 0x14], ecx
cmp al, 0x2e
je 0x140045b3c
nop dword [rax + rax]
movsx eax, al
inc r8
xor eax, r9d
imul r9d, eax, 0x1000193
movzx eax, byte [r8]
cmp al, 0x2e
jne 0x140045b20
mov dword [rbp + 0x10], r9d
movzx eax, byte [r8 + 1]
inc r8
test al, al
je 0x140045b6a
nop dword [rax + rax]
movsx eax, al
lea r8, [r8 + 1]
xor eax, ecx
imul ecx, eax, 0x1000193
movzx eax, byte [r8]
test al, al
jne 0x140045b50
mov dword [rbp + 0x14], ecx
mov rdi, qword [rbp + 0x10]
mov rsi, qword [r12]
shr rdi, 0x20
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
je 0x140045b8c
cmp qword [rax + 0x30], 0
jne 0x140045a00
xor r8d, r8d
mov qword [0x14013d6c0], r8
mov eax, dword [str.Q_L3A]
xor r9d, r9d
movsd xmm0, qword [str.QTPNP_L]
mov r12d, dword [reloc.WS2_32.dll_accept]
mov dword [rbp - 0x58], eax
movzx eax, byte [0x1400ec134]
mov byte [rbp - 0x54], al
movsd qword [rbp - 0x60], xmm0
cmp r12d, 2
jl 0x140045cab
movdqa xmm3, xmmword [0x1400f0d10]
mov r9d, 8
movdqa xmm2, xmmword [0x1400f0d20]
movdqa xmm1, xmm3
movdqa xmm4, xmmword [0x1400f1010]
movdqa xmm0, xmm3
mov eax, dword [0x1400f0d80]
punpckhdq xmm0, xmm3
punpckldq xmm1, xmm3
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movdqa xmm1, xmm2
pmulld xmm0, xmmword [0x1400f0d30]
psubd xmm3, xmm0
punpckldq xmm1, xmm2
andps xmm3, xmm6
pmuldq xmm1, xmm4
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd xmm0, eax
paddb xmm3, xmm0
movd xmm0, dword [str.QTPNP_L]
xorps xmm3, xmm0
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
movd dword [rbp - 0x60], xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movd xmm1, dword [rbp - 0x5c]
pmulld xmm0, xmmword [0x1400f0d30]
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rbp - 0x5c], xmm2
movsxd rax, r9d
lea r10, [rbp - 0x60]
add r10, rax
nop word [rax + rax]
mov eax, 0x5397829d
lea r10, [r10 + 1]
imul r9d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r9b
inc r9d
sub al, cl
add al, 0x35
xor byte [r10 - 1], al
cmp r9d, 0xd
jl 0x140045cc0
xor edx, edx
lea rcx, [rbp - 0x60]
call r8
test rax, rax
je 0x140045d0b
mov qword [0], 0
mov r8, qword [0x14013d6c0]
test r8, r8
jne 0x140045edd
mov rax, qword gs:[0x60]
xor r9d, r9d
mov edi, r13d
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r12, qword [rax]
mov rsi, r12
nop dword [rax + rax]
movups xmm0, xmmword [rsi + 0x58]
movd eax, xmm0
sub ax, 8
test r9d, r9d
je 0x140045d8d
psrldq xmm0, 8
mov edx, 0x811c9dc5
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x140045d84
nop
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x140045d70
cmp edx, r9d
jne 0x140045eb6
mov r10, qword [rsi + 0x30]
movsxd rax, dword [r10 + 0x3c]
mov rcx, qword [rax + r10 + 0x88]
mov r15, rcx
mov ebx, ecx
shr r15, 0x20
add rbx, r10
cmp rbx, r10
je 0x140045eb6
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x140045eb6
mov r14d, dword [rbx + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [r10 + r8*4]
mov ecx, dword [rax + r14]
add rcx, r10
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140045e07
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x140045df0
cmp edx, edi
je 0x140045e15
test r8d, r8d
jne 0x140045dd0
jmp 0x140045eb6
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov r8d, dword [rcx + rdx*4]
add r8, r10
cmp r8, rbx
jbe 0x140045ecf
lea rax, [rbx + r15]
cmp r8, rax
jae 0x140045ecf
movzx eax, byte [r8]
mov r9d, 0x811c9dc5
mov dword [rbp + 0x10], r9d
mov ecx, r9d
mov dword [rbp + 0x14], ecx
cmp al, 0x2e
je 0x140045e7c
nop dword [rax + rax]
movsx eax, al
inc r8
xor eax, r9d
imul r9d, eax, 0x1000193
movzx eax, byte [r8]
cmp al, 0x2e
jne 0x140045e60
mov dword [rbp + 0x10], r9d
movzx eax, byte [r8 + 1]
inc r8
test al, al
je 0x140045eaa
nop dword [rax + rax]
movsx eax, al
lea r8, [r8 + 1]
xor eax, ecx
imul ecx, eax, 0x1000193
movzx eax, byte [r8]
test al, al
jne 0x140045e90
mov dword [rbp + 0x14], ecx
mov rdi, qword [rbp + 0x10]
mov rsi, qword [r12]
shr rdi, 0x20
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
je 0x140045ecc
cmp qword [rax + 0x30], 0
jne 0x140045d40
xor r8d, r8d
mov r12d, dword [reloc.WS2_32.dll_accept]
mov qword [0x14013d6c0], r8
mov eax, dword [0x1400ec120]
xor r9d, r9d
movsd xmm0, qword [str.mbguXSUzO_R_A]
mov dword [rbp - 0x58], eax
movzx eax, byte [0x1400ec124]
mov byte [rbp - 0x54], al
movsd qword [rbp - 0x60], xmm0
cmp r12d, 2
jl 0x140045feb
movdqa xmm3, xmmword [0x1400f0d10]
mov r9d, 8
movdqa xmm2, xmmword [0x1400f0d20]
movdqa xmm1, xmm3
movdqa xmm4, xmmword [0x1400f1010]
movdqa xmm0, xmm3
mov eax, dword [0x1400f0d80]
punpckhdq xmm0, xmm3
punpckldq xmm1, xmm3
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movdqa xmm1, xmm2
pmulld xmm0, xmmword [0x1400f0d30]
psubd xmm3, xmm0
punpckldq xmm1, xmm2
andps xmm3, xmm6
pmuldq xmm1, xmm4
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd xmm0, eax
paddb xmm3, xmm0
movd xmm0, dword [str.mbguXSUzO_R_A]
xorps xmm3, xmm0
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
movd dword [rbp - 0x60], xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movd xmm1, dword [rbp - 0x5c]
pmulld xmm0, xmmword [0x1400f0d30]
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rbp - 0x5c], xmm2
movsxd rax, r9d
lea r10, [rbp - 0x60]
add r10, rax
nop word [rax + rax]
mov eax, 0x5397829d
lea r10, [r10 + 1]
imul r9d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r9b
inc r9d
sub al, cl
add al, 0x35
xor byte [r10 - 1], al
cmp r9d, 0xd
jl 0x140046000
xor edx, edx
lea rcx, [rbp - 0x60]
call r8
test rax, rax
je 0x14004604b
mov qword [0], 0
mov r8, qword [0x14013d6c0]
test r8, r8
jne 0x140046215
mov rax, qword gs:[0x60]
xor r9d, r9d
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r15, qword [rax]
mov rdi, r15
nop word [rax + rax]
movups xmm0, xmmword [rdi + 0x58]
movd eax, xmm0
sub ax, 8
test r9d, r9d
je 0x1400460cd
psrldq xmm0, 8
mov edx, 0x811c9dc5
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x1400460c4
nop
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x1400460b0
cmp edx, r9d
jne 0x1400461f5
mov r10, qword [rdi + 0x30]
movsxd rax, dword [r10 + 0x3c]
mov rcx, qword [rax + r10 + 0x88]
mov r14, rcx
mov ebx, ecx
shr r14, 0x20
add rbx, r10
cmp rbx, r10
je 0x1400461f5
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x1400461f5
mov esi, dword [rbx + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [r10 + r8*4]
mov ecx, dword [rax + rsi]
add rcx, r10
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140046147
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x140046130
cmp edx, r13d
je 0x140046156
test r8d, r8d
jne 0x140046110
jmp 0x1400461f5
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov r8d, dword [rcx + rdx*4]
add r8, r10
cmp r8, rbx
jbe 0x14004620e
lea rax, [rbx + r14]
cmp r8, rax
jae 0x14004620e
movzx eax, byte [r8]
mov r9d, 0x811c9dc5
mov dword [rbp + 0x10], r9d
mov ecx, r9d
mov dword [rbp + 0x14], ecx
cmp al, 0x2e
je 0x1400461bc
nop dword [rax]
movsx eax, al
inc r8
xor eax, r9d
imul r9d, eax, 0x1000193
movzx eax, byte [r8]
cmp al, 0x2e
jne 0x1400461a0
mov dword [rbp + 0x10], r9d
movzx eax, byte [r8 + 1]
inc r8
test al, al
je 0x1400461ea
nop dword [rax + rax]
movsx eax, al
lea r8, [r8 + 1]
xor eax, ecx
imul ecx, eax, 0x1000193
movzx eax, byte [r8]
test al, al
jne 0x1400461d0
mov dword [rbp + 0x14], ecx
mov r13, qword [rbp + 0x10]
mov rdi, qword [r15]
shr r13, 0x20
mov rax, qword [rdi]
mov rdi, rax
cmp rax, r15
je 0x14004620b
cmp qword [rax + 0x30], 0
jne 0x140046080
xor r8d, r8d
mov qword [0x14013d6c0], r8
movups xmm0, xmmword [str.gSDWLHXY]
movzx eax, byte [0x1400ec080]
xor r9d, r9d
mov r15, qword [rsp + 0x60]
cmp r12d, 2
mov r14, qword [rsp + 0x68]
mov r13, qword [rsp + 0x70]
mov rdi, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0x98]
mov r12, qword [rsp + 0x78]
movups xmmword [rbp - 0x50], xmm0
mov byte [rbp - 0x40], al
jl 0x140046379
movdqa xmm0, xmmword [0x1400f0d80]
lea rcx, [rbp - 0x4c]
movdqa xmm4, xmmword [0x1400f0d10]
movdqa xmm3, xmmword [0x1400f1010]
movdqa xmm5, xmmword [0x1400f0d30]
movdqa xmmword [rbp - 0x60], xmm0
mov edx, dword [rbp - 0x60]
nop
movd xmm2, r9d
lea eax, [r9 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm4
add r9d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, edx
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movd dword [rcx - 0xc], xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm4
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, edx
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r9d, 0x10
jl 0x140046290
cmp r9d, 0x11
jge 0x1400463c1
movsxd rax, r9d
lea r10, [rbp - 0x50]
add r10, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x5397829d
lea r10, [r10 + 1]
imul r9d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r9b
inc r9d
sub al, cl
add al, 0x35
xor byte [r10 - 1], al
cmp r9d, 0x11
jl 0x140046390
cmp byte [0x1400ebc61], 0
movsd xmm0, qword [str.bRToPT_SJ_]
movzx eax, word [0x1400ebc60]
movaps xmm6, xmmword [rsp + 0x50]
movsd qword [rbp - 0x60], xmm0
mov word [rbp - 0x58], ax
je 0x14004640f
xor byte [rbp - 0x5f], 0x36
xor byte [rbp - 0x5e], 0x37
xor byte [rbp - 0x5d], 0x38
xor byte [rbp - 0x5c], 0x39
xor byte [rbp - 0x5b], 0x3a
xor byte [rbp - 0x5a], 0x3b
xor byte [rbp - 0x59], 0x3c
xor byte [rbp - 0x58], 0x3d
xor byte [rbp - 0x57], 0x3e
mov byte [rbp - 0x60], 0x57
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x60]
call r8
test rax, rax
je 0x14004642b
mov qword [0], 0
add rsp, 0x80
pop rbp
ret