Function at 0x180022b60
Capabilities:
Delete registry value
Encode data using xor
Get common file path
Write file on windows

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xe08]
sub rsp, 0xf08
xor edi, edi
lea rdx, [0x18003a3e0]
mov eax, 7
mov dword [rsp + 0x68], edi
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x50], rdi
mov dword [rsp + 0x58], eax
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x48], edi
call fcn.18001bef0
test dword [rsp + 0x48], 0x1fffffff
je 0x180022c00
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax]
cmp ecx, 0x4e534942
jne 0x180022bd6
mov byte [rbp + 0xe50], 1
jmp 0x180022be9
and ecx, 0x80808080
cmp ecx, 0x80808080
sete byte [rbp + 0xe50]
mov r9b, 0xc3
lea rdx, [rsp + 0x40]
xor r8d, r8d
lea rcx, [rsp + 0x50]
call fcn.18001bfc0
jmp 0x180022c0d
movzx eax, byte [reloc.WS2_32.dll_accept]
mov byte [rbp + 0xe50], al
movabs rax, 0x3e5af26a0460f57d
movabs rsi, 0x549a2d1f135dad7a
mov qword [rbp + 0x388], rax
mov r10, rdi
movabs rax, 0x50b56cba5c1de738
mov r11, rsi
mov qword [rbp + 0x390], rax
nop
mov rax, qword [rbp + r10*8 + 0x388]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x388], rdx
inc r10
cmp r10, 2
jb 0x180022c40
lea r8, [rsp + 0x50]
mov ecx, 0x3e9
lea rdx, [rbp + 0x388]
call fcn.18000a220
mov rbx, rax
lea rdx, [rbp + 0xe68]
movabs rax, 0x5b4bf3682875fb61
movabs r12, 0x5b2e97076512942d
mov qword [rbp + 0xe68], rax
mov r8, rbx
mov rcx, qword [rbp + 0xe68]
xor rcx, r12
mov qword [rbp + 0xe68], rcx
xor ecx, ecx
call fcn.18000a060
mov r10, rdi
mov r11, rsi
mov ecx, dword [rax + 0x20]
movabs rax, 0x3c40f8430967f968
mov qword [rbp - 0x18], rax
movabs rax, 0x50b56cba5c1df126
mov qword [rbp - 0x10], rax
mov dword [section..bss], ecx
nop dword [rax + rax]
mov rax, qword [rbp + r10*8 - 0x18]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 - 0x18], rdx
inc r10
cmp r10, 2
jb 0x180022d10
movzx ecx, byte [reloc.WS2_32.dll_accept]
lea rdx, [rbp - 0x18]
mov r8, rbx
call fcn.18000a300
mov r10, rdi
mov r11, rsi
movzx ecx, byte [rax + 0x20]
movabs rax, 0x2d5cf2540967f968
mov qword [rbp - 8], rax
movabs rax, 0x50b56cba5c1de62f
mov qword [rbp], rax
mov byte [reloc.WS2_32.dll_accept], cl
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rbp + r10*8 - 8]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 - 8], rdx
inc r10
cmp r10, 2
jb 0x180022da0
movzx ecx, byte [reloc.WS2_32.dll_accept]
lea rdx, [rbp - 8]
mov r8, rbx
call fcn.18000a300
mov r10, rdi
mov r11, rsi
movzx ecx, byte [rax + 0x20]
movabs rax, 0x2941c7650045fb63
mov qword [rbp + 8], rax
movabs rax, 0x50b56cba5c71f53e
mov qword [rbp + 0x10], rax
mov byte [reloc.WS2_32.dll_accept], cl
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rbp + r10*8 + 8]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 8], rdx
inc r10
cmp r10, 2
jb 0x180022e30
movzx ecx, byte [reloc.WS2_32.dll_accept]
lea rdx, [rbp + 8]
mov r8, rbx
call fcn.18000a300
mov r10, rdi
mov r11, rsi
movzx ecx, byte [rax + 0x20]
movabs rax, 0x3742d66c067df86f
mov qword [rbp + 0x18], rax
movabs rax, 0x50b56cba3273fb09
mov qword [rbp + 0x20], rax
mov byte [reloc.WS2_32.dll_accept], cl
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rbp + r10*8 + 0x18]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x18], rdx
inc r10
cmp r10, 2
jb 0x180022ec0
movzx ecx, byte [reloc.WS2_32.dll_accept]
lea rdx, [rbp + 0x18]
mov r8, rbx
call fcn.18000a300
mov r10, rdi
mov r11, rsi
movzx ecx, byte [rax + 0x20]
movabs rax, 0x3749f9682165f163
mov qword [rbp + 0x28], rax
movabs rax, 0x50b56cba5c1d942f
mov qword [rbp + 0x30], rax
mov byte [reloc.WS2_32.dll_accept], cl
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rbp + r10*8 + 0x28]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x28], rdx
inc r10
cmp r10, 2
jb 0x180022f50
movzx ecx, byte [0x180039ede]
lea rdx, [rbp + 0x28]
mov r8, rbx
call fcn.18000a300
mov r10, rdi
mov r11, rsi
movzx ecx, byte [rax + 0x20]
movabs rax, 0x3262fc640a7efa78
mov qword [rbp + 0x38], rax
movabs rax, 0x50b56cba5c1de728
mov qword [rbp + 0x40], rax
mov byte [0x180039ede], cl
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rbp + r10*8 + 0x38]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x38], rdx
inc r10
cmp r10, 2
jb 0x180022fe0
movzx ecx, byte [0x180039f0c]
lea rdx, [rbp + 0x38]
mov r8, rbx
call fcn.18000a300
mov r10, rdi
mov r11, rsi
movzx ecx, byte [rax + 0x20]
movabs rax, 0x3a63fc640a7efa78
mov qword [rbp + 0x48], rax
movabs rax, 0x50b56cba5c1dfc29
mov qword [rbp + 0x50], rax
mov byte [0x180039f0c], cl
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rbp + r10*8 + 0x48]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x48], rdx
inc r10
cmp r10, 2
jb 0x180023070
movzx ecx, byte [0x180039f0d]
lea rdx, [rbp + 0x48]
mov r8, rbx
call fcn.18000a300
mov r10, rdi
mov r11, rsi
movzx ecx, byte [rax + 0x20]
movabs rax, 0x3f4afe4f0e7efa78
mov qword [rbp + 0x58], rax
movabs rax, 0x50b56cba5c1dfa2f
mov qword [rbp + 0x60], rax
mov byte [0x180039f0d], cl
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rbp + r10*8 + 0x58]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x58], rdx
inc r10
cmp r10, 2
jb 0x180023100
movzx ecx, byte [0x180039edf]
lea rdx, [rbp + 0x58]
mov r8, rbx
call fcn.18000a300
mov r10, rdi
mov r11, rsi
movzx ecx, byte [rax + 0x20]
movabs rax, 0x186ae0622b62f964
mov qword [rbp + 0x68], rax
movabs rax, 0x50b56cba5c1d9407
mov qword [rbp + 0x70], rax
mov byte [0x180039edf], cl
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rbp + r10*8 + 0x68]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x68], rdx
inc r10
cmp r10, 2
jb 0x180023190
movzx ecx, byte [0x180039f0e]
lea rdx, [rbp + 0x68]
mov r8, rbx
call fcn.18000a300
mov r10, rdi
mov r11, rsi
movzx ecx, byte [rax + 0x20]
movabs rax, 0x3456d2700a7ef86c
mov qword [rbp + 0x78], rax
movabs rax, 0x50b56cba327cf81a
mov qword [rbp + 0x80], rax
mov byte [0x180039f0e], cl
nop word [rax + rax]
mov rax, qword [rbp + r10*8 + 0x78]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x78], rdx
inc r10
cmp r10, 2
jb 0x180023220
movzx ecx, byte [0x180039fb9]
lea rdx, [rbp + 0x78]
mov r8, rbx
call fcn.18000a300
mov r10, rdi
mov r11, rsi
movzx ecx, byte [rax + 0x20]
movabs rax, 0x2b43de700a7ef86c
mov qword [rbp + 0x88], rax
movabs rax, 0x50b56cba5c1df00f
mov qword [rbp + 0x90], rax
mov byte [0x180039fb9], cl
nop dword [rax]
mov rax, qword [rbp + r10*8 + 0x88]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x88], rdx
inc r10
cmp r10, 2
jb 0x1800232b0
movzx ecx, byte [0x180039f0f]
lea rdx, [rbp + 0x88]
mov r8, rbx
call fcn.18000a300
mov r10, rdi
mov r11, rsi
movzx ecx, byte [rax + 0x20]
movabs rax, 0x2147c3700a7ef86c
mov qword [rbp + 0x98], rax
movabs rax, 0x50b56cba5c73f523
mov qword [rbp + 0xa0], rax
mov byte [0x180039f0f], cl
mov rax, qword [rbp + r10*8 + 0x98]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x98], rdx
inc r10
cmp r10, 2
jb 0x180023342
movzx ecx, byte [0x180039fb8]
lea rdx, [rbp + 0x98]
mov r8, rbx
call fcn.18000a300
movabs r14, 0x50b509de356ee623
mov r10, rdi
mov qword [rbp + 0xb0], r14
mov r11, rsi
movzx ecx, byte [rax + 0x20]
movabs rax, 0x3a46d4700a7ef86c
mov qword [rbp + 0xa8], rax
mov byte [0x180039fb8], cl
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rbp + r10*8 + 0xa8]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0xa8], rdx
inc r10
cmp r10, 2
jb 0x1800233e0
movzx ecx, byte [0x180039fba]
lea rdx, [rbp + 0xa8]
mov r8, rbx
call fcn.18000a300
mov r10, rdi
mov r11, rsi
movzx ecx, byte [rax + 0x20]
movabs rax, 0x2947cd700a7ef86c
mov qword [rbp + 0xb8], rax
movabs rax, 0x50db04db2673fb21
mov qword [rbp + 0xc0], rax
mov byte [0x180039fba], cl
mov rax, qword [rbp + r10*8 + 0xb8]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0xb8], rdx
inc r10
cmp r10, 2
jb 0x180023472
movzx ecx, byte [0x180039fbb]
lea rdx, [rbp + 0xb8]
mov r8, rbx
call fcn.18000a300
mov r10, rdi
mov r11, rsi
movzx ecx, byte [rax + 0x20]
movabs rax, 0x294fc7700a7ef86c
mov qword [rbp + 0xc8], rax
movabs rax, 0x50f12df9307cfd3e
mov qword [rbp + 0xd0], rax
mov byte [0x180039fbb], cl
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rbp + r10*8 + 0xc8]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0xc8], rdx
inc r10
cmp r10, 2
jb 0x180023510
movzx ecx, byte [0x180039fbc]
lea rdx, [rbp + 0xc8]
mov r8, rbx
call fcn.18000a300
mov qword [rbp + 0xe0], r14
mov r10, rdi
mov r11, rsi
movzx ecx, byte [rax + 0x20]
movabs rax, 0x3a46d4620660fb6b
mov qword [rbp + 0xd8], rax
mov byte [0x180039fbc], cl
nop dword [rax + rax]
mov rax, qword [rbp + r10*8 + 0xd8]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0xd8], rdx
inc r10
cmp r10, 2
jb 0x1800235a0
movzx ecx, byte [0x180039fbd]
lea rdx, [rbp + 0xd8]
mov r8, rbx
call fcn.18000a300
mov r10, rdi
mov r11, rsi
movzx ecx, byte [rax + 0x20]
movabs rax, 0x295dc2750c76f17f
mov qword [rbp + 0xe8], rax
movabs rax, 0x50b56cba5c6ffd0e
mov qword [rbp + 0xf0], rax
mov byte [0x180039fbd], cl
mov rax, qword [rbp + r10*8 + 0xe8]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0xe8], rdx
inc r10
cmp r10, 2
jb 0x180023632
movzx ecx, byte [reloc.WS2_32.dll_accept]
lea rdx, [rbp + 0xe8]
mov r8, rbx
call fcn.18000a300
mov r10, rdi
mov r11, rsi
movzx ecx, byte [rax + 0x20]
movabs rax, 0x2e4af84a067ced7e
mov qword [rbp + 0xf8], rax
movabs rax, 0x50b56cba5c1de726
mov qword [rbp + 0x100], rax
mov byte [reloc.WS2_32.dll_accept], cl
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rbp + r10*8 + 0xf8]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0xf8], rdx
inc r10
cmp r10, 2
jb 0x1800236d0
movzx ecx, byte [0x180039fbe]
lea rdx, [rbp + 0xf8]
mov r8, rbx
call fcn.18000a300
mov r10, rdi
mov r11, rsi
movzx ecx, byte [rax + 0x20]
movabs rax, 0x3561f0682975fa69
mov qword [rbp + 0x108], rax
movabs rax, 0x50b56cba5c1ded26
mov qword [rbp + 0x110], rax
mov byte [0x180039fbe], cl
mov rax, qword [rbp + r10*8 + 0x108]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x108], rdx
inc r10
cmp r10, 2
jb 0x180023762
movzx ecx, byte [0x18003a1c8]
lea rdx, [rbp + 0x108]
mov r8, rbx
call fcn.18000a300
mov r10, rdi
mov r11, rsi
movzx ecx, byte [rax + 0x20]
movabs rax, 0x144bfb6e2375fb61
mov qword [rbp + 0x118], rax
movabs rax, 0x50b56cba5c1de73a
mov qword [rbp + 0x120], rax
mov byte [0x18003a1c8], cl
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rbp + r10*8 + 0x118]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x118], rdx
inc r10
cmp r10, 2
jb 0x180023800
movzx ecx, byte [0x18003a1cc]
lea rdx, [rbp + 0x118]
mov r8, rbx
call fcn.18000a300
mov r10, rdi
mov r11, rsi
movzx ecx, byte [rax + 0x20]
movabs rax, 0x145cfe630040c06b
mov qword [rbp + 0x128], rax
movabs rax, 0x50b56cba5c1df338
mov qword [rbp + 0x130], rax
mov byte [0x18003a1cc], cl
mov rax, qword [rbp + r10*8 + 0x128]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x128], rdx
inc r10
cmp r10, 2
jb 0x180023892
movzx ecx, byte [0x18003a1cd]
lea rdx, [rbp + 0x128]
mov r8, rbx
call fcn.18000a300
mov r10, rdi
mov r11, rsi
movzx ecx, byte [rax + 0x20]
movabs rax, 0x1f44f94e0076fd65
mov qword [rbp + 0x138], rax
movabs rax, 0x50b56cba5c1df826
mov qword [rbp + 0x140], rax
mov byte [0x18003a1cd], cl
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rbp + r10*8 + 0x138]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x138], rdx
inc r10
cmp r10, 2
jb 0x180023930
movzx ecx, byte [0x18003a1ce]
lea rdx, [rbp + 0x138]
mov r8, rbx
call fcn.18000a300
mov r10, rdi
mov r11, rsi
movzx ecx, byte [rax + 0x20]
movabs rax, 0x396ae44e0076fd65
mov qword [rbp + 0x148], rax
movabs rax, 0x50b56cba5c1d942d
mov qword [rbp + 0x150], rax
mov byte [0x18003a1ce], cl
mov rax, qword [rbp + r10*8 + 0x148]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x148], rdx
inc r10
cmp r10, 2
jb 0x1800239c2
mov ecx, dword [0x18003a3d8]
lea rdx, [rbp + 0x148]
mov r8, rbx
call fcn.18000a0d0
mov r10, rdi
mov r11, rsi
mov ecx, dword [rax + 0x20]
movabs rax, 0xe5efa722175f669
mov qword [rbp + 0x158], rax
movabs rax, 0x50b56cba1054ff24
mov qword [rbp + 0x160], rax
mov dword [0x18003a3d8], ecx
mov rax, qword [rbp + r10*8 + 0x158]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x158], rdx
inc r10
cmp r10, 2
jb 0x180023a52
movzx ecx, byte [0x18003a1c9]
lea rdx, [rbp + 0x158]
mov r8, rbx
call fcn.18000a300
mov r10, rdi
mov r11, rsi
cmp qword [rax + 0x20], rdi
movabs rax, 0x367cef6e2375f669
mov qword [rbp + 0x168], rax
movabs rax, 0x50b507db396fd63e
mov qword [rbp + 0x170], rax
setne byte [0x18003a1c9]
nop word [rax + rax]
mov rax, qword [rbp + r10*8 + 0x168]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x168], rdx
inc r10
cmp r10, 2
jb 0x180023af0
movzx ecx, byte [0x18003a1ca]
lea rdx, [rbp + 0x168]
mov r8, rbx
call fcn.18000a300
mov r10, rdi
mov r11, rsi
cmp qword [rax + 0x20], rdi
movabs rax, 0x294bc7620660fb6b
mov qword [rbp + 0x178], rax
movabs rax, 0x50b500d61d69fd27
mov qword [rbp + 0x180], rax
setne byte [0x18003a1ca]
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rbp + r10*8 + 0x178]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x178], rdx
inc r10
cmp r10, 2
jb 0x180023b90
movzx ecx, byte [reloc.WS2_32.dll_accept]
lea rdx, [rbp + 0x178]
mov r8, rbx
call fcn.18000a300
mov r10, rdi
mov r11, rsi
cmp qword [rax + 0x20], rdi
movabs rax, 0x347ef9621161fd61
mov qword [rbp + 0x188], rax
movabs rax, 0x50b56cba5c1de038
mov qword [rbp + 0x190], rax
setne byte [0x18007e217]
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rbp + r10*8 + 0x188]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x188], rdx
inc r10
cmp r10, 2
jb 0x180023c30
mov ecx, dword [0x18007e21c]
lea rdx, [rbp + 0x188]
mov r8, rbx
call fcn.18000a060
mov r10, rdi
mov r11, rsi
mov ecx, dword [rax + 0x20]
movabs rax, 0x325bf5623775fa69
mov qword [rbp + 0x198], rax
movabs rax, 0x50b56cba5c1df026
mov qword [rbp + 0x1a0], rax
mov dword [0x18007e21c], ecx
mov rax, qword [rbp + r10*8 + 0x198]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x198], rdx
inc r10
cmp r10, 2
jb 0x180023cc0
mov r8, rbx
lea rdx, [rbp + 0x198]
mov cl, 1
call fcn.18000a300
cmp byte [0x180039fbd], dil
mov r13d, 1
mov r10, rdi
mov r11, rsi
movzx r14d, byte [rax + 0x20]
movzx eax, byte [0x180039e2d]
cmovne eax, r13d
mov byte [rbp + 0xe58], r14b
mov byte [0x180039e2d], al
movabs rax, 0x3f5cf8701661f57d
mov qword [rbp + 0x1a8], rax
movabs rax, 0x50b56cba5c50d70e
mov qword [rbp + 0x1b0], rax
nop dword [rax]
mov rax, qword [rbp + r10*8 + 0x1a8]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x1a8], rdx
inc r10
cmp r10, 2
jb 0x180023d70
mov r8, rbx
lea rdx, [rbp + 0x1a8]
lea rcx, [0x180042850]
call fcn.18000a140
mov rbx, rax
mov rdx, qword [rax + 0x20]
test rdx, rdx
je 0x180023dfd
cmp byte [rdx], dil
je 0x180023dfd
cmp dword [rdx - 4], edi
je 0x180023dfd
mov r9b, 0x20
lea rcx, [0x180039f80]
mov r8d, reloc.WS2_32.dll_recv
call fcn.18000ab90
jmp 0x180023e43
call fcn.18001b1a0
test eax, eax
js 0x180023e43
movzx r9d, r13b
lea rdx, [rbp + 0x6a0]
mov r8d, reloc.WS2_32.dll_recv
lea rcx, [0x180039f80]
call fcn.180007450
movsxd rcx, eax
lea rdx, [rbp + 0x6a0]
mov r8d, 0x20
mov byte [rbp + rcx + 0x6a0], dil
mov rcx, rbx
call fcn.1800325d0
movabs rax, 0x284be5721173f16b
movabs r15, 0x50b56cba5c1d944a
mov qword [rbp + 0x1b8], rax
mov r10, rdi
mov qword [rbp + 0x1c0], r15
mov r11, rsi
nop dword [rax + rax]
mov rax, qword [rbp + r10*8 + 0x1b8]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x1b8], rdx
inc r10
cmp r10, 2
jb 0x180023e70
lea r8, [rsp + 0x50]
mov ecx, 0x3e8
lea rdx, [rbp + 0x1b8]
call fcn.18000a1b0
mov rbx, rax
cmp dword [rax + 0x18], edi
je 0x180023ee1
test r14b, r14b
je 0x180024e25
movabs rax, 0x5b2ee46e1770f177
mov r8, rbx
mov qword [rbp - 0x20], rax
xor edx, edx
mov rcx, qword [rbp - 0x20]
xor rcx, r12
mov qword [rbp - 0x20], rcx
lea rcx, [rbp - 0x20]
call fcn.18000a140
movabs rax, 0x3c47d3741071e66c
mov r10, rdi
mov qword [rbp + 0x1c8], rax
mov r11, rsi
movabs rax, 0x50b56cba5c1df527
mov qword [rbp + 0x1d0], rax
mov rax, qword [rbp + r10*8 + 0x1c8]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x1c8], rdx
inc r10
cmp r10, 2
jb 0x180023f30
mov r8, rbx
lea rcx, [rbp + 0x1c8]
xor edx, edx
call fcn.18000a140
movabs rax, 0x3463f3330b73f85d
mov r10, rdi
mov qword [rbp + 0x1d8], rax
mov r11, rsi
movabs rax, 0x50b56cba3272fd3e
mov qword [rbp + 0x1e0], rax
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rbp + r10*8 + 0x1d8]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x1d8], rdx
inc r10
cmp r10, 2
jb 0x180023fc0
mov r8, rbx
lea rcx, [rbp + 0x1d8]
xor edx, edx
call fcn.18000a140
movabs rax, 0x1649f96e1161f163
mov r10, rdi
mov qword [rbp + 0x1e8], rax
mov r11, rsi
movabs rax, 0x50b56cdf3068f025
mov qword [rbp + 0x1f0], rax
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rbp + r10*8 + 0x1e8]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x1e8], rdx
inc r10
cmp r10, 2
jb 0x180024050
mov r8, rbx
lea rcx, [rbp + 0x1e8]
xor edx, edx
call fcn.18000a140
movabs rax, 0x3447e3682865f567
mov r10, rdi
mov qword [rbp + 0x1f8], rax
mov r11, rsi
movabs rax, 0x50c11ed52c70dd24
mov qword [rbp + 0x200], rax
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rbp + r10*8 + 0x1f8]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x1f8], rdx
inc r10
cmp r10, 2
jb 0x1800240e0
mov r8, rbx
lea rcx, [rbp + 0x1f8]
xor edx, edx
call fcn.18000a140
movabs rax, 0x3a5cf2770a77e67d
mov r10, rdi
mov qword [rbp + 0x480], rax
mov r11, rsi
movabs rax, 0x24c609e8396bfd3e
mov qword [rbp + 0x488], rax
movabs rax, 0x12b0c48004172346
mov qword [rbp + 0x490], rax
movabs rax, 0xb31a5ccafb725c9
mov qword [rbp + 0x498], rax
nop word [rax + rax]
mov rax, qword [rbp + r10*8 + 0x480]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x480], rdx
inc r10
cmp r10, 4
jb 0x180024190
mov r8, rbx
lea rcx, [rbp + 0x480]
xor edx, edx
call fcn.18000a140
movabs rax, 0x3446e3752a7dec68
mov qword [rbp + 0x210], r15
mov qword [rbp + 0x208], rax
mov r10, rdi
mov r11, rsi
nop dword [rax]
mov rax, qword [rbp + r10*8 + 0x208]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x208], rdx
inc r10
cmp r10, 2
jb 0x180024210
mov r8, rbx
lea rcx, [rbp + 0x208]
xor edx, edx
call fcn.18000a140
movabs rax, 0x4a3da5c4ad9b2aca
movabs r15, 0x2f40f243097ee16b
mov qword [rbp + 0x670], rax
movabs r12, 0x14f42fd41578e63f
movabs rax, 0x592857c4692a76f0
mov qword [rbp + 0x658], r15
mov qword [rbp + 0x678], rax
movabs r13, 0x2ba1d19c14192379
movabs rax, 0xc70bdf2873dd2735
mov qword [rbp + 0x660], r12
mov qword [rbp + 0x680], rax
mov r10, rdi
movabs rax, 0xb0d6863d043e5d23
mov qword [rbp + 0x668], r13
mov qword [rbp + 0x688], rax
mov r11, rsi
movabs rax, 0x56cba5c1d944a50b
mov qword [rbp + 0x690], rax
nop dword [rax]
mov rax, qword [rbp + r10*8 + 0x658]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x658], rdx
inc r10
cmp r10, 8
jb 0x180024300
mov r8, rbx
lea rcx, [rbp + 0x658]
xor edx, edx
call fcn.18000a140
movabs rax, 0x4a3da5c4ad9b2aca
mov qword [rbp + 0x5e0], r15
mov qword [rbp + 0x5f8], rax
mov r10, rdi
movabs rax, 0x2d5b2e97692a76f0
mov qword [rbp + 0x5e8], r12
mov qword [rbp + 0x600], rax
mov r11, rsi
mov qword [rbp + 0x5f0], r13
nop dword [rax + rax]
mov rax, qword [rbp + r10*8 + 0x5e0]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x5e0], rdx
inc r10
cmp r10, 5
jb 0x1800243a0
mov r8, rbx
lea rcx, [rbp + 0x5e0]
xor edx, edx
call fcn.18000a140
movabs rax, 0x23c709cc1378e63f
mov qword [rbp + 0x4a0], r15
mov qword [rbp + 0x4a8], rax
mov r10, rdi
movabs rax, 0x37a5c69c3f132b40
mov r11, rsi
mov qword [rbp + 0x4b0], rax
movabs rax, 0xb56a5eaa5bd05d1
mov qword [rbp + 0x4b8], rax
nop dword [rax + rax]
mov rax, qword [rbp + r10*8 + 0x4a0]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x4a0], rdx
inc r10
cmp r10, 4
jb 0x180024440
mov r8, rbx
lea rcx, [rbp + 0x4a0]
xor edx, edx
call fcn.18000a140
movabs rax, 0x50b56cc8396ef526
movabs r15, 0x7640f664167dec48
mov qword [rbp + 0x220], rax
mov r10, rdi
mov qword [rbp + 0x218], r15
mov r11, rsi
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rbp + r10*8 + 0x218]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x218], rdx
inc r10
cmp r10, 2
jb 0x1800244d0
mov r8, rbx
lea rcx, [rbp + 0x218]
xor edx, edx
call fcn.18000a140
movabs rax, 0x50b56cba5c7bfb2e
mov qword [rbp + 0x228], r15
mov qword [rbp + 0x230], rax
mov r10, rdi
mov r11, rsi
nop dword [rax]
mov rax, qword [rbp + r10*8 + 0x228]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x228], rdx
inc r10
cmp r10, 2
jb 0x180024550
mov r8, rbx
lea rcx, [rbp + 0x228]
xor edx, edx
call fcn.18000a140
movabs rax, 0x50b56cba5c69fc27
mov qword [rbp + 0x238], r15
mov qword [rbp + 0x240], rax
mov r10, rdi
mov r11, rsi
nop dword [rax]
mov rax, qword [rbp + r10*8 + 0x238]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x238], rdx
inc r10
cmp r10, 2
jb 0x1800245d0
mov r8, rbx
lea rcx, [rbp + 0x238]
xor edx, edx
call fcn.18000a140
movabs rax, 0x50b56cba5c73e025
mov qword [rbp + 0x248], r15
mov qword [rbp + 0x250], rax
mov r10, rdi
mov r11, rsi
nop dword [rax]
mov rax, qword [rbp + r10*8 + 0x248]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x248], rdx
inc r10
cmp r10, 2
jb 0x180024650
mov r8, rbx
lea rcx, [rbp + 0x248]
xor edx, edx
call fcn.18000a140
movabs rax, 0x50b56cba5c74fa38
mov qword [rbp + 0x258], r15
mov qword [rbp + 0x260], rax
mov r10, rdi
mov r11, rsi
nop dword [rax]
mov rax, qword [rbp + r10*8 + 0x258]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x258], rdx
inc r10
cmp r10, 2
jb 0x1800246d0
mov r8, rbx
lea rcx, [rbp + 0x258]
xor edx, edx
call fcn.18000a140
movabs rax, 0x50b56cba5c71f639
mov qword [rbp + 0x268], r15
mov qword [rbp + 0x270], rax
mov r10, rdi
mov r11, rsi
nop dword [rax]
mov rax, qword [rbp + r10*8 + 0x268]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x268], rdx
inc r10
cmp r10, 2
jb 0x180024750
mov r8, rbx
lea rcx, [rbp + 0x268]
xor edx, edx
call fcn.18000a140
movabs rax, 0x50b56cba5c65fa39
mov qword [rbp + 0x278], r15
mov qword [rbp + 0x280], rax
mov r10, rdi
mov r11, rsi
nop dword [rax]
mov rax, qword [rbp + r10*8 + 0x278]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x278], rdx
inc r10
cmp r10, 2
jb 0x1800247d0
mov r8, rbx
lea rcx, [rbp + 0x278]
xor edx, edx
call fcn.18000a140
movabs rax, 0x50d019d63e65fa39
mov qword [rbp + 0x288], r15
mov qword [rbp + 0x290], rax
mov r10, rdi
mov r11, rsi
nop dword [rax]
mov rax, qword [rbp + r10*8 + 0x288]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x288], rdx
inc r10
cmp r10, 2
jb 0x180024850
mov r8, rbx
lea rcx, [rbp + 0x288]
xor edx, edx
call fcn.18000a140
movabs rax, 0xb56b3c4f4f427cc
movabs r15, 0x3603fa66067dec48
movabs r12, 0x39dd0fdb3130e32e
mov qword [rbp + 0x4d8], rax
movabs r13, 0x30b0dc8c175b3447
mov qword [rbp + 0x4c0], r15
mov qword [rbp + 0x4c8], r12
mov r10, rdi
mov qword [rbp + 0x4d0], r13
mov r11, rsi
nop word [rax + rax]
mov rax, qword [rbp + r10*8 + 0x4c0]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x4c0], rdx
inc r10
cmp r10, 4
jb 0x180024900
mov r8, rbx
lea rcx, [rbp + 0x4c0]
xor edx, edx
call fcn.18000a140
movabs rax, 0xb56b3c4f5f427cc
mov qword [rbp + 0x4e0], r15
mov qword [rbp + 0x4f8], rax
mov r10, rdi
mov qword [rbp + 0x4e8], r12
mov r11, rsi
mov qword [rbp + 0x4f0], r13
nop word [rax + rax]
mov rax, qword [rbp + r10*8 + 0x4e0]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x4e0], rdx
inc r10
cmp r10, 4
jb 0x180024990
mov r8, rbx
lea rcx, [rbp + 0x4e0]
xor edx, edx
call fcn.18000a140
movabs rax, 0xb56b3c4f2f427cc
mov qword [rbp + 0x500], r15
mov qword [rbp + 0x518], rax
mov r10, rdi
mov qword [rbp + 0x508], r12
mov r11, rsi
mov qword [rbp + 0x510], r13
nop word [rax + rax]
mov rax, qword [rbp + r10*8 + 0x500]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x500], rdx
inc r10
cmp r10, 4
jb 0x180024a20
mov r8, rbx
lea rcx, [rbp + 0x500]
xor edx, edx
call fcn.18000a140
cmp byte [0x180039e2d], dil
je 0x180024e0b
movabs rax, 0x2fb4c08c135b3447
mov qword [rbp + 0x608], r15
mov qword [rbp + 0x618], rax
mov r10, rdi
movabs rax, 0x3800b3c4f5b528cc
mov qword [rbp + 0x610], r12
mov qword [rbp + 0x620], rax
mov r11, rsi
movabs rax, 0x2d5b2e9707651294
mov qword [rbp + 0x628], rax
nop
mov rax, qword [rbp + r10*8 + 0x608]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x608], rdx
inc r10
cmp r10, 5
jb 0x180024ad0
mov r8, rbx
lea rcx, [rbp + 0x608]
xor edx, edx
call fcn.18000a140
movabs rax, 0xb56cbdda0ec69f6
mov qword [rbp + 0x520], r15
movabs r13, 0x72e58ba5205b3447
mov qword [rbp + 0x538], rax
mov qword [rbp + 0x528], r12
mov r10, rdi
mov qword [rbp + 0x530], r13
mov r11, rsi
mov rax, qword [rbp + r10*8 + 0x520]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x520], rdx
inc r10
cmp r10, 4
jb 0x180024b61
mov r8, rbx
lea rcx, [rbp + 0x520]
xor edx, edx
call fcn.18000a140
movabs rax, 0xb56cbdda0ed69f6
mov qword [rbp + 0x540], r15
mov qword [rbp + 0x558], rax
mov r10, rdi
mov qword [rbp + 0x548], r12
mov r11, rsi
mov qword [rbp + 0x550], r13
nop dword [rax + rax]
mov rax, qword [rbp + r10*8 + 0x540]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x540], rdx
inc r10
cmp r10, 4
jb 0x180024bf0
mov r8, rbx
lea rcx, [rbp + 0x540]
xor edx, edx
call fcn.18000a140
movabs rax, 0xb56cbdda0ea69f6
mov qword [rbp + 0x560], r15
mov qword [rbp + 0x578], rax
mov r10, rdi
mov qword [rbp + 0x568], r12
mov r11, rsi
mov qword [rbp + 0x570], r13
nop word [rax + rax]
mov rax, qword [rbp + r10*8 + 0x560]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x560], rdx
inc r10
cmp r10, 4
jb 0x180024c80
mov r8, rbx
lea rcx, [rbp + 0x560]
xor edx, edx
call fcn.18000a140
movabs rax, 0xb56cba5c1d944f6
mov qword [rbp + 0x580], r15
mov qword [rbp + 0x598], rax
mov r10, rdi
mov qword [rbp + 0x588], r12
mov r11, rsi
mov qword [rbp + 0x590], r13
nop word [rax + rax]
mov rax, qword [rbp + r10*8 + 0x580]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x580], rdx
inc r10
cmp r10, 4
jb 0x180024d10
mov r8, rbx
lea rcx, [rbp + 0x580]
xor edx, edx
call fcn.18000a140
movabs rax, 0x3f47e4750c73fc4e
mov r10, rdi
mov qword [rbp + 0x3c8], rax
mov r11, rsi
movabs rax, 0x1cc40ffb0f5eb92f
mov qword [rbp + 0x3d0], rax
movabs rax, 0x42d5d79a1e133240
mov qword [rbp + 0x3d8], rax
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rbp + r10*8 + 0x3c8]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x3c8], rdx
inc r10
cmp r10, 3
jb 0x180024db0
mov r8, rbx
lea rcx, [rbp + 0x3c8]
xor edx, edx
call fcn.18000a140
movabs r12, 0x5b2e97076512942d
mov r13d, 1
movabs r15, 0x50b56cba5c1d944a
movabs rax, 0x5b2ef26b027cfb69
lea r8, [rsp + 0x50]
mov qword [rbp - 0x70], rax
lea rdx, [rbp - 0x70]
mov rax, qword [rbp - 0x70]
mov ecx, 0x3e9
xor rax, r12
mov qword [rbp - 0x70], rax
call fcn.18000a220
mov rbx, rax
mov qword [rbp - 0x28], rax
movabs rax, 0x3e78f26b027cfb69
mov r10, rdi
mov qword [rbp + 0x298], rax
mov r11, rsi
movabs rax, 0x50b56cba5c1d9438
mov qword [rbp + 0x2a0], rax
mov rax, qword [rbp + r10*8 + 0x298]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x298], rdx
inc r10
cmp r10, 2
jb 0x180024e80
mov r8, rbx
lea rdx, [rbp + 0x298]
mov ecx, 0x109
call fcn.18000a060
mov qword [rbp + 0x2b0], r15
mov r10, rdi
mov r11, rsi
mov ecx, dword [rax + 0x20]
movabs rax, 0x1f67f26b027cfb69
mov qword [rbp + 0x2a8], rax
mov dword [0x18003b160], ecx
nop word [rax + rax]
mov rax, qword [rbp + r10*8 + 0x2a8]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x2a8], rdx
inc r10
cmp r10, 2
jb 0x180024f10
mov r8, rbx
lea rdx, [rbp + 0x2a8]
mov ecx, 0x465f3d57
call fcn.18000a0d0
mov ecx, dword [rax + 0x20]
movabs rax, 0x5b2ed34e1777e778
mov qword [rbp - 0x68], rax
mov rax, qword [rbp - 0x68]
xor rax, r12
mov dword [0x18003b1f1], ecx
cmp byte [0x180039e28], dil
mov r12d, 2
mov qword [rbp - 0x68], rax
jne 0x180024fba
cmp byte [0x180039e29], dil
jne 0x180024fba
cmp byte [0x180039e2e], dil
mov ecx, 6
cmovne ecx, r12d
jmp 0x180024fbf
mov ecx, 8
mov r8, rbx
lea rdx, [rbp - 0x68]
call fcn.18000a060
mov qword [rbp + 0x2c0], r15
mov r10, rdi
mov r11, rsi
movzx ecx, word [rax + 0x20]
movabs rax, 0x3f42fe72276af560
mov qword [rbp + 0x2b8], rax
mov word [0x18003b1f7], cx
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rbp + r10*8 + 0x2b8]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x2b8], rdx
inc r10
cmp r10, r12
jb 0x180025000
mov r8, rbx
lea rdx, [rbp + 0x2b8]
mov ecx, 0x2328
call fcn.18000a060
mov qword [rbp + 0x2d0], r15
mov r10, rdi
mov r11, rsi
movzx ecx, word [rax + 0x20]
movabs rax, 0x3f42fe72277cfd60
mov qword [rbp + 0x2c8], rax
mov word [0x18003b1ff], cx
nop word [rax + rax]
mov rax, qword [rbp + r10*8 + 0x2c8]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x2c8], rdx
inc r10
cmp r10, r12
jb 0x180025090
mov r8, rbx
lea rdx, [rbp + 0x2c8]
mov ecx, 0x1770
call fcn.18000a060
mov r10, rdi
mov r11, rsi
movzx ecx, word [rax + 0x20]
movabs rax, 0x124be77e3175fa69
mov qword [rbp + 0x2d8], rax
movabs rax, 0x50b56cba5c1d940e
mov qword [rbp + 0x2e0], rax
mov word [0x18003b201], cx
mov rax, qword [rbp + r10*8 + 0x2d8]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x2d8], rdx
inc r10
cmp r10, r12
jb 0x180025120
mov r8, rbx
lea rdx, [rbp + 0x2d8]
mov ecx, r12d
call fcn.18000a060
movabs r12, 0x5b2e97076512942d
lea rdx, [rbp - 0x60]
mov r8, rbx
movzx ecx, byte [rax + 0x20]
movabs rax, 0x5b6ade77107de66a
mov qword [rbp - 0x60], rax
mov rax, qword [rbp - 0x60]
mov byte [0x18003b1fd], cl
xor rax, r12
xor ecx, ecx
mov qword [rbp - 0x60], rax
call fcn.18000a060
mov r8, rbx
lea rdx, [rbp - 0x58]
mov ecx, dword [rax + 0x20]
movabs rax, 0x5b2e97432c64ff60
mov qword [rbp - 0x58], rax
mov rax, qword [rbp - 0x58]
mov dword [0x18003b1f9], ecx
xor rax, r12
mov ecx, 0xfff
mov qword [rbp - 0x58], rax
call fcn.18000a0d0
mov r10, rdi
mov r11, rsi
movzx ecx, word [rax + 0x20]
movabs rax, 0x227afc742866e462
mov qword [rbp + 0x2e8], rax
movabs rax, 0x50b56cba5c1df13a
mov qword [rbp + 0x2f0], rax
mov word [0x18003b1f5], cx
nop dword [rax]
mov rax, qword [rbp + r10*8 + 0x2e8]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x2e8], rdx
inc r10
cmp r10, 2
jb 0x180025220
mov r8, rbx
lea rdx, [rbp + 0x2e8]
mov ecx, 3
call fcn.18000a060
mov r10, rdi
mov r11, rsi
movzx ecx, byte [rax + 0x20]
movabs rax, 0x326cfc742879fa78
mov qword [rbp + 0x2f8], rax
add cl, cl
movabs rax, 0x50b56cba5c1d943e
mov byte [0x18003b1fe], cl
mov qword [rbp + 0x300], rax
mov rax, qword [rbp + r10*8 + 0x2f8]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x2f8], rdx
inc r10
cmp r10, 2
jb 0x1800252b2
mov r8, rbx
lea rdx, [rbp + 0x2f8]
mov ecx, r13d
call fcn.18000a060
mov r10, rdi
mov r11, rsi
mov ecx, dword [rax + 0x20]
movabs rax, 0x3463f2710c66f76c
mov qword [rbp + 0x308], rax
and ecx, 1
or byte [0x18003b1fe], cl
movabs rax, 0x50b56cba5c1de72e
mov qword [rbp + 0x310], rax
mov rax, qword [rbp + r10*8 + 0x308]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x308], rdx
inc r10
cmp r10, 2
jb 0x180025342
mov r8, rbx
lea rdx, [rbp + 0x308]
movabs rcx, 0x3ffffffc0fffffe
call fcn.18000a290
cmp byte [reloc.WS2_32.dll_accept], dil
mov rcx, qword [rax + 0x20]
mov qword [0x18003b207], rcx
je 0x18002548f
mov r8d, 0x200
mov qword [rbp - 0x80], rdi
lea rdx, [0x18007e480]
mov dword [rbp - 0x78], edi
lea rcx, [rbp - 0x80]
mov byte [reloc.WS2_32.dll_accept], dil
call fcn.180033bf0
lea rcx, [rbp - 0x80]
call fcn.1800199d0
cmp dword [rbp - 0x78], edi
lea rcx, [rbp - 0x78]
cmovne rcx, qword [rbp - 0x80]
call qword [sym.imp.VMProtectSDK64.dll_VMProtectSetSerialNumber]
test eax, eax
jne 0x180025436
shl word [0x18007e480], 1
lea rcx, [rbp + 0x8f0]
mov edx, 0x510
call qword [sym.imp.VMProtectSDK64.dll_VMProtectGetSerialNumberData]
test al, al
je 0x180025436
movzx eax, byte [rbp + 0xd00]
test al, al
je 0x180025436
mov edx, eax
lea rcx, [rbp + 0xd01]
call fcn.1800283f0
mov rbx, qword [rbp - 0x80]
test rbx, rbx
jne 0x180025473
xor edx, edx
lea rcx, [rbp - 0x80]
call fcn.18002dcf0
lea rcx, [rbp - 0x80]
call fcn.18001c540
lea ebx, [rax + 8]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, ebx
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp - 0x80], rax
jmp 0x18002548b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp - 0x80], rdi
mov rbx, qword [rbp - 0x28]
cmp byte [reloc.WS2_32.dll_accept], dil
lea r15, [0x18003b140]
je 0x1800254d5
lea rdx, [0x18003a5f0]
lea rcx, [0x18003b394]
call fcn.18000b440
movsxd rcx, eax
movzx eax, word [r15 + rcx*2 + 0x252]
cmp ax, 0x5c
je 0x1800254ca
cmp ax, 0x2f
jne 0x1800254eb
mov word [r15 + rcx*2 + 0x252], di
jmp 0x1800254eb
xor r9d, r9d
lea rdx, [0x18003b394]
xor ecx, ecx
lea r8d, [r9 + 0x1a]
call qword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
cmp byte [0x180039e2b], dil
mov r10, rdi
mov r11, rsi
je 0x1800255b6
movabs rax, 0x5b41977f65779471
mov qword [rbp + 0x630], rax
movabs rax, 0x50db6cdb5c71943a
mov qword [rbp + 0x638], rax
movabs rax, 0x42a1b2877013516d
mov qword [rbp + 0x640], rax
movabs rax, 0xb17cbe6c1b544c4
mov qword [rbp + 0x648], rax
movabs rax, 0x2d5b2e97073912d0
mov qword [rbp + 0x650], rax
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rbp + r10*8 + 0x630]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x630], rdx
inc r10
cmp r10, 5
jb 0x180025560
lea rdx, [rbp + 0x630]
jmp 0x1800256f1
cmp byte [0x180039e2d], dil
je 0x180025666
movabs rax, 0x5b4f976f65519471
mov qword [rbp + 0x5a0], rax
movabs rax, 0x50dc6cc95c6f9423
mov qword [rbp + 0x5a8], rax
movabs rax, 0x4294b2aa7013514d
mov qword [rbp + 0x5b0], rax
movabs rax, 0xb56cba5c18544e1
mov qword [rbp + 0x5b8], rax
nop word [rax + rax]
mov rax, qword [rbp + r10*8 + 0x5a0]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x5a0], rdx
inc r10
cmp r10, 4
jb 0x180025610
lea rdx, [rbp + 0x5a0]
jmp 0x1800256f1
movabs rax, 0x5b40976265569471
mov qword [rbp + 0x398], rax
movabs rax, 0x50f66cd65c7c943e
mov qword [rbp + 0x3a0], rax
movabs rax, 0x42d5b2b570325168
mov qword [rbp + 0x3a8], rax
nop dword [rax]
mov rax, qword [rbp + r10*8 + 0x398]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x398], rdx
inc r10
cmp r10, 3
jb 0x1800256a0
lea rdx, [rbp + 0x398]
lea rcx, [0x18003b394]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
movzx eax, byte [0x180039edd]
add dword [0x18007e21c], eax
movzx edx, byte [0x180039fb9]
movzx r8d, byte [0x180039e2b]
movzx eax, byte [0x18003b1fd]
test dl, dl
je 0x180025752
test r8b, r8b
je 0x180025740
mov cl, 1
mov byte [0x180039ede], cl
cmp al, 2
jne 0x180025759
mov al, 8
mov byte [0x18003b1fd], al
jmp 0x180025759
xor dl, dl
xor cl, cl
mov byte [0x180039fb9], dl
mov byte [0x180039ede], cl
jmp 0x180025759
movzx ecx, byte [0x180039ede]
cmp byte [0x180039fba], dil
je 0x180025799
cmp byte [0x180039e2d], dil
je 0x180025781
mov cl, 1
mov byte [0x180039ede], cl
cmp al, 2
jne 0x180025799
mov al, send
mov byte [0x18003b1fd], al
jmp 0x180025799
mov byte [0x180039fba], dil
test r8b, r8b
je 0x180025791
test dl, dl
jne 0x180025799
xor cl, cl
mov byte [0x180039ede], cl
cmp byte [0x180039fbb], dil
je 0x1800257bf
cmp byte [0x180039e2e], dil
je 0x1800257b8
cmp al, 2
jne 0x1800257bf
mov byte [0x18003b1fd], 1
jmp 0x1800257bf
mov byte [0x180039fbb], dil
cmp byte [0x180039fbc], dil
je 0x1800257e6
cmp byte [0x180039e2c], dil
je 0x1800257df
mov eax, 0x18
mov word [0x18003b1f7], ax
jmp 0x1800257e6
mov byte [0x180039fbc], dil
cmp byte [0x180039fb8], dil
je 0x18002580d
cmp byte [0x180039e2a], dil
je 0x180025806
mov eax, 7
mov word [0x18003b1f7], ax
jmp 0x18002580d
mov byte [0x180039fb8], dil
test cl, cl
je 0x18002581b
or dword [0x18003b160], 0x200
test r14b, r14b
je 0x180025a51
call fcn.180017e10
movabs rax, 0x1e7cd6503154db7e
mov qword [rbp + 0xe60], rdi
mov qword [rbp + 0x3b0], rax
movabs r14, 0x13d90dce3278d016
movabs rax, 0x42d5b2e970761568
mov qword [rbp + 0x3b8], r14
mov qword [rbp + 0x3c0], rax
mov r10, rdi
mov r11, rsi
nop dword [rax]
mov rax, qword [rbp + r10*8 + 0x3b0]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x3b0], rdx
inc r10
cmp r10, 3
jb 0x180025870
lea rax, [rbp + 0xe60]
mov r9d, 0x102
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, [rbp + 0x3b0]
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x1800259a0
movabs rax, 0x5b2e97076541db79
lea rdx, [rbp - 0x50]
mov qword [rbp - 0x50], rax
mov rax, qword [rbp - 0x50]
mov rcx, qword [rbp + 0xe60]
xor rax, r12
mov qword [rbp - 0x50], rax
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
movabs rax, 0x5b2e97072d41db79
lea rdx, [rbp - 0x48]
mov qword [rbp - 0x48], rax
mov rax, qword [rbp - 0x48]
mov rcx, qword [rbp + 0xe60]
xor rax, r12
mov qword [rbp - 0x48], rax
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
movabs rax, 0x5b2e97073541db79
lea rdx, [rbp - 0x40]
mov qword [rbp - 0x40], rax
mov rax, qword [rbp - 0x40]
mov rcx, qword [rbp + 0xe60]
xor rax, r12
mov qword [rbp - 0x40], rax
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
movabs rax, 0x5b2e97552841db79
lea rdx, [rbp - 0x38]
mov qword [rbp - 0x38], rax
mov rax, qword [rbp - 0x38]
mov rcx, qword [rbp + 0xe60]
xor rax, r12
mov qword [rbp - 0x38], rax
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
mov rcx, qword [rbp + 0xe60]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
movabs rax, 0x3e5cf6701174fb7e
mov qword [rbp + 0x5c8], r14
mov qword [rbp + 0x5c0], rax
mov r10, rdi
movabs rax, 0x2eb2dc86342a1568
mov r11, rsi
mov qword [rbp + 0x5d0], rax
movabs rax, 0xb56cba5c1d937c0
mov qword [rbp + 0x5d8], rax
mov rax, qword [rbp + r10*8 + 0x5c0]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x5c0], rdx
inc r10
cmp r10, 4
jb 0x1800259e0
lea rdx, [rbp + 0x5c0]
lea rcx, [rbp + 0x6e0]
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
lea rdx, [rbp + 0x6e0]
mov rcx, 0xffffffff80000001
call fcn.18002c6f0
movabs rax, 0x104bfb6e236bf166
movabs r14, 0x50b56cba5c1ded2f
mov qword [rbp + 0x318], rax
mov r10, rdi
mov qword [rbp + 0x320], r14
mov r11, rsi
nop dword [rax]
mov rax, qword [rbp + r10*8 + 0x318]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x318], rdx
inc r10
cmp r10, 2
jb 0x180025a80
lea rax, [rsp + 0x50]
lea r9, [0x18003b71c]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x318]
lea rdx, [0x18003c8a4]
lea rcx, [0x18003c8b4]
call fcn.180026e70
movabs rax, 0x354bfc683175fa69
mov r10, rdi
mov qword [rbp + 0x328], rax
mov r11, rsi
movabs rax, 0x50b56cba5c64f101
mov qword [rbp + 0x330], rax
nop dword [rax]
mov rax, qword [rbp + r10*8 + 0x328]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x328], rdx
inc r10
cmp r10, 2
jb 0x180025b20
lea rax, [rsp + 0x50]
lea r9, [0x18003b61c]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x328]
lea rdx, [0x18003c8a8]
lea rcx, [0x18003d0b4]
call fcn.180026e70
movabs rax, 0x1041f1692c75fa69
mov qword [rbp + 0x340], r14
mov qword [rbp + 0x338], rax
mov r10, rdi
mov r11, rsi
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rbp + r10*8 + 0x338]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x338], rdx
inc r10
cmp r10, 2
jb 0x180025bc0
lea rax, [rsp + 0x50]
lea r9, [0x18003b59c]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x338]
lea rdx, [0x18003c8ac]
lea rcx, [0x18003d8b4]
call fcn.180026e70
movabs rax, 0x3e78f0692165f163
mov r10, rdi
mov qword [rbp + 0x348], rax
mov r11, rsi
movabs rax, 0x50b56cba2578df38
mov qword [rbp + 0x350], rax
nop dword [rax]
mov rax, qword [rbp + r10*8 + 0x348]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x348], rdx
inc r10
cmp r10, 2
jb 0x180025c60
lea rax, [rsp + 0x50]
lea r9, [0x18003b91c]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x348]
lea rdx, [0x18003c8b0]
lea rcx, [0x18003e0b4]
call fcn.180026e70
movabs rax, 0x5b5df26b1076fb60
lea rdx, [rbp - 0x30]
mov qword [rbp - 0x30], rax
mov r8, rbx
mov rax, qword [rbp - 0x30]
mov ecx, 0x3e8
xor rax, r12
mov qword [rbp - 0x30], rax
call fcn.18000a1b0
mov edx, 1
mov qword [rsp + 0x78], rax
mov rbx, rax
lea r15, [0x18003b217]
mov r13d, edi
mov r12d, edx
lea rsi, [rax + 0x20]
nop dword [rax]
cmp byte [0x180039fbe], dil
mov word [r15 - 2], di
je 0x180025d49
movsxd rax, r12d
test qword [0x18003b207], rax
jne 0x180025d49
mov r8d, 7
movzx ecx, di
movzx eax, r8w
jmp 0x180025d53
mov eax, edi
mov ecx, edx
mov r8d, 7
mov word [r15 - 4], cx
mov word [r15], ax
mov eax, dword [rbx + 0x18]
cmp r13d, eax
jb 0x180025ddb
inc eax
mov dword [rbp + 0x470], edi
mov rcx, rsi
mov qword [rbp + 0x478], rdi
mov qword [rbp + 0x468], rdi
mov qword [rbp + 0x458], rdi
lea edx, [rax + rax*4]
mov dword [rbp + 0x460], r8d
shl edx, 3
mov dword [rbx + 0x18], eax
call fcn.18000af20
mov eax, dword [rbx + 0x18]
mov edx, 1
movups xmm0, xmmword [rbp + 0x458]
dec eax
mov dword [rbp + 0x460], edi
movups xmm1, xmmword [rbp + 0x468]
lea rcx, [rax + rax*4]
mov rax, qword [rsi]
movups xmmword [rax + rcx*8], xmm0
movsd xmm0, qword [rbp + 0x478]
lea r14, [rax + rcx*8]
movups xmmword [r14 + 0x10], xmm1
movsd qword [r14 + 0x20], xmm0
jmp 0x180025de9
mov eax, r13d
lea rcx, [rax + rax*4]
mov rax, qword [rsi]
lea r14, [rax + rcx*8]
mov eax, dword [r14 + 0x18]
test eax, eax
je 0x180025e48
mov rax, qword [r14 + 0x20]
movzx eax, word [rax + 0x20]
mov word [r15 - 4], ax
cmp dword [r14 + 0x18], 1
ja 0x180025e0c
mov eax, 0x20
jmp 0x180025e14
mov rax, qword [r14 + 0x20]
add rax, 0x48
movzx eax, word [rax]
mov word [r15 - 2], ax
cmp dword [r14 + 0x18], 2
ja 0x180025e34
mov eax, 0x20
movzx eax, word [rax]
mov word [r15], ax
jmp 0x180025fca
mov rax, qword [r14 + 0x20]
add rax, 0x70
movzx eax, word [rax]
mov word [r15], ax
jmp 0x180025fca
movzx eax, word [r15 - 4]
lea rcx, [r14 + 0x20]
mov dword [r14 + 0x18], edx
mov edx, 0x28
mov dword [rbp + 0x3f8], edi
mov qword [rbp + 0x3f0], rdi
mov qword [rbp + 0x3e0], rdi
mov dword [rbp + 0x3e8], 3
mov qword [rbp + 0x400], rax
call fcn.18000af20
mov eax, dword [r14 + 0x18]
movups xmm0, xmmword [rbp + 0x3e0]
dec eax
mov dword [rbp + 0x3e8], edi
movups xmm1, xmmword [rbp + 0x3f0]
mov dword [rbp + 0x420], edi
mov qword [rbp + 0x418], rdi
lea rcx, [rax + rax*4]
mov qword [rbp + 0x408], rdi
mov rax, qword [r14 + 0x20]
mov dword [rbp + 0x410], 3
movups xmmword [rax + rcx*8], xmm0
movsd xmm0, qword [rbp + 0x400]
movups xmmword [rax + rcx*8 + 0x10], xmm1
mov qword [rbp + 0x400], rdi
movsd qword [rax + rcx*8 + 0x20], xmm0
lea rcx, [r14 + 0x20]
movzx eax, word [r15 - 2]
inc dword [r14 + 0x18]
mov qword [rbp + 0x428], rax
mov eax, dword [r14 + 0x18]
lea edx, [rax + rax*4]
shl edx, 3
call fcn.18000af20
mov eax, dword [r14 + 0x18]
movups xmm0, xmmword [rbp + 0x408]
dec eax
mov dword [rbp + 0x410], edi
movups xmm1, xmmword [rbp + 0x418]
mov dword [rbp + 0x448], edi
mov qword [rbp + 0x440], rdi
lea rcx, [rax + rax*4]
mov qword [rbp + 0x430], rdi
mov rax, qword [r14 + 0x20]
mov dword [rbp + 0x438], 3
movups xmmword [rax + rcx*8], xmm0
movsd xmm0, qword [rbp + 0x428]
movups xmmword [rax + rcx*8 + 0x10], xmm1
mov qword [rbp + 0x428], rdi
movsd qword [rax + rcx*8 + 0x20], xmm0
lea rcx, [r14 + 0x20]
movzx eax, word [r15]
inc dword [r14 + 0x18]
mov qword [rbp + 0x450], rax
mov eax, dword [r14 + 0x18]
lea edx, [rax + rax*4]
shl edx, 3
call fcn.18000af20
mov eax, dword [r14 + 0x18]
movups xmm0, xmmword [rbp + 0x430]
mov rbx, qword [rsp + 0x78]
dec eax
movups xmm1, xmmword [rbp + 0x440]
mov dword [rbp + 0x438], edi
lea rcx, [rax + rax*4]
mov rax, qword [r14 + 0x20]
movups xmmword [rax + rcx*8], xmm0
movsd xmm0, qword [rbp + 0x450]
movups xmmword [rax + rcx*8 + 0x10], xmm1
mov qword [rbp + 0x450], rdi
movsd qword [rax + rcx*8 + 0x20], xmm0
inc r13d
rol r12d, 1
add r15, 6
mov edx, 1
cmp r13d, 0x40
jb 0x180025d20
mov r15, qword [rbp - 0x28]
lea rdx, [rsp + 0x78]
movabs rcx, 0x5b2e97076512942d
movabs rax, 0x5b2ee46c067df86f
mov qword [rsp + 0x78], rax
mov r8, r15
mov rax, qword [rsp + 0x78]
xor rax, rcx
mov ecx, 0x3e8
mov qword [rsp + 0x78], rax
call fcn.18000a1b0
mov r14, rax
movabs rsi, 0x549a2d1f135dad7a
cmp byte [rbp + 0xe58], dil
je 0x18002619d
mov dl, 1
mov byte [0x180039e2f], 1
mov rcx, rax
call fcn.180012b50
movabs rax, 0x3e5af26a0460f57d
mov r10, rdi
mov qword [rbp + 0x358], rax
mov r11, rsi
movabs rax, 0x50b56cba5c1de738
mov qword [rbp + 0x360], rax
mov rax, qword [rbp + r10*8 + 0x358]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x358], rdx
inc r10
cmp r10, 2
jb 0x180026072
mov r9d, dword [rsp + 0x68]
test r9d, r9d
je 0x180026115
mov r8, qword [rsp + 0x70]
mov rbx, r8
test r8, r8
je 0x180026115
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x1800260f7
lea rcx, [rbp + 0x358]
call qword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x180026118
mov r8, qword [rsp + 0x70]
mov r9d, dword [rsp + 0x68]
add rbx, 0x28
cmp rbx, r8
jb 0x180026115
mov eax, r9d
lea rcx, [rax + rax*4]
lea rax, [r8 + rcx*8]
cmp rbx, rax
jae 0x180026115
test rbx, rbx
jne 0x1800260d3
mov rbx, rdi
movabs rax, 0x325bf5623775fa69
mov r10, rdi
mov qword [rbp + 0x368], rax
mov r11, rsi
movabs rax, 0x50b56cba5c1df026
mov qword [rbp + 0x370], rax
mov rax, qword [rbp + r10*8 + 0x368]
mov r9d, r10d
neg r9d
mov r8, r11
and r9d, 0xf
rol r8, 3
not r8
rol r11, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x368], rdx
inc r10
cmp r10, 2
jb 0x180026140
lea rdx, [rbp + 0x368]
mov rcx, rbx
call fcn.18001c4b0
mov byte [rax + 0x20], dil
mov rdx, qword [0x18003b207]
lea rcx, [0x18003b140]
call fcn.18001f480
cmp dword [r14 + 0x18], edi
je 0x18002620b
mov rbx, qword [r14 + 0x20]
test rbx, rbx
je 0x18002620b
lea r12, [0x18003bcb9]
cmp dword [rbx + 0x18], 2
jb 0x1800261e8
mov rdx, qword [rbx + 0x20]
mov r9b, 0x20
mov r8d, 0xffffffff
mov ecx, dword [rdx + 0x20]
mov rdx, qword [rdx + 0x48]
add rcx, r12
call fcn.18000ab90
mov rdx, qword [r14 + 0x20]
add rbx, 0x28
cmp rbx, rdx
jb 0x18002620b
mov eax, dword [r14 + 0x18]
lea rcx, [rax + rax*4]
lea rax, [rdx + rcx*8]
cmp rbx, rax
jae 0x18002620b
test rbx, rbx
jne 0x1800261c6
movabs rax, 0x3e60e46c067df86f
mov r10, rdi
mov qword [rbp + 0x378], rax
movabs rax, 0x50b56cba5c1d943d
mov qword [rbp + 0x380], rax
mov rax, qword [rbp + r10*8 + 0x378]
mov r9d, r10d
neg r9d
mov r8, rsi
and r9d, 0xf
rol r8, 3
not r8
rol rsi, 1
mov rdx, r8
mov ecx, r9d
neg ecx
and ecx, 0x3f
shl rdx, cl
mov ecx, r9d
shr r8, cl
or rdx, r8
xor rdx, rax
mov qword [rbp + r10*8 + 0x378], rdx
inc r10
cmp r10, 2
jb 0x180026230
mov r8, r15
lea rdx, [rbp + 0x378]
mov ecx, 0x3e8
call fcn.18000a1b0
lea rcx, [0x18003b140]
mov rsi, rax
call fcn.18001f960
cmp dword [rsi + 0x18], edi
je 0x1800262f6
mov rbx, qword [rsi + 0x20]
test rbx, rbx
je 0x1800262f6
lea r14, [0x18003c0a1]
cmp dword [rbx + 0x18], 2
jb 0x1800262d4
mov rax, qword [rbx + 0x20]
mov r9b, 0x20
mov r8d, 0xffffffff
mov ecx, dword [rax + 0x20]
mov rdx, qword [rax + 0x48]
add rcx, r14
call fcn.18000ab90
mov rdx, qword [rsi + 0x20]
add rbx, 0x28
cmp rbx, rdx
jb 0x1800262f6
mov eax, dword [rsi + 0x18]
lea rcx, [rax + rax*4]
lea rax, [rdx + rcx*8]
cmp rbx, rax
jae 0x1800262f6
test rbx, rbx
jne 0x1800262b2
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.18002cb90
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x48], edi
cmp byte [rbp + 0xe50], dil
jne 0x180026335
cmp byte [reloc.WS2_32.dll_accept], dil
jne 0x180026335
xor r9d, r9d
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x50]
lea r8d, [r9 + 1]
call fcn.18000a370
jmp 0x180026347
mov r8b, 0xc3
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x50]
call fcn.180032680
xor r9d, r9d
mov qword [rsp + 0x30], rdi
cmp byte [0x18003a3e1], dil
lea rcx, [0x18003a3e0]
mov dword [rsp + 0x28], 0x8000080
mov edx, 0x40000000
mov dword [rsp + 0x20], 2
lea r8d, [r9 + 3]
jne 0x180026380
call qword [sym.imp.KERNEL32.dll_CreateFileW]
jmp 0x180026386
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x1800263c4
mov r8d, dword [rsp + 0x48]
lea r9, [rbp + 0xe50]
mov rdx, qword [rsp + 0x40]
and r8d, 0x1fffffff
mov rcx, rax
mov dword [rbp + 0xe50], edi
mov qword [rsp + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.18002cb90
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x1800263f4
sub rax, 4
lea rcx, [rsp + 0x60]
xor edx, edx
mov qword [rsp + 0x60], rax
call fcn.18000af20
mov qword [rsp + 0x60], rdi
mov eax, dword [rsp + 0x58]
cmp eax, 6
jne 0x18002641e
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x18002646c
sub rax, 4
lea rcx, [rsp + 0x70]
xor edx, edx
mov qword [rsp + 0x70], rax
call fcn.18000af20
jmp 0x18002646c
add eax, 0xfffffff9
cmp eax, 1
ja 0x18002646c
mov rdx, qword [rsp + 0x70]
test rdx, rdx
je 0x18002646c
cmp dword [rsp + 0x68], edi
jbe 0x180026460
nop word [rax + rax]
mov eax, edi
lea rcx, [rax + rax*4]
lea rcx, [rdx + rcx*8]
xor edx, edx
call fcn.180012b50
inc edi
cmp edi, dword [rsp + 0x68]
jae 0x180026460
mov rdx, qword [rsp + 0x70]
jmp 0x180026440
xor edx, edx
lea rcx, [rsp + 0x70]
call fcn.18000af20
add rsp, 0xf08
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret