Function at 0x18001a880
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push rbp
push rbx
push rsi
push r14
lea rbp, [rsp - 8]
sub rsp, 0x108
mov rax, qword [0x180039010]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov rbx, qword [0x18003c580]
xor esi, esi
mov r8d, 0x6dd8e1ea
mov dword [rbp - 0x18], esi
lea edx, [rsi + 0x17]
lea r9d, [rsi + 0x30]
call fcn.180004350
lea rdx, [rbp - 0x18]
mov rcx, rbx
call rax
mov r14, rax
test rax, rax
je 0x18001b2c2
mov byte [rsp + 0x40], sil
mov byte [rsp + 0x41], 0x76
mov byte [rsp + 0x42], 0x63
mov byte [rsp + 0x43], 8
mov byte [rsp + 0x44], 0x63
mov byte [rsp + 0x45], 0x63
mov byte [rsp + 0x46], 0x63
movzx eax, byte [rsp + 0x41]
movzx eax, byte [rsp + 0x40]
mov qword [rsp + 0x138], r12
mov qword [rsp + 0x100], r15
test al, al
jne 0x18001a971
mov r8, rsi
nop word [rax + rax]
movzx ecx, byte [rsp + r8 + 0x41]
mov eax, 0x63
sub eax, ecx
imul ecx, eax, 0xb
mov eax, 0x81020409
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x7f
sub ecx, eax
mov eax, 0x81020409
add ecx, 0x7f
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x7f
sub ecx, eax
mov byte [rsp + r8 + 0x41], cl
inc r8
cmp r8, 6
jb 0x18001a920
movsxd r12, dword [rbp - 0x18]
mov qword [rsp + 0x130], rdi
mov qword [rsp + 0x140], r13
cmp r12d, 1
jl 0x18001a9de
mov r15d, esi
test r12d, r12d
jle 0x18001a9de
mov rdi, rsi
mov esi, 1
nop dword [rax + rax]
mov rbx, qword [r14 + rdi*8]
mov edx, 0xf
mov r8d, 0xcd7328ca
lea r9d, [rdx + 0x42]
call fcn.180004350
lea rdx, [rsp + 0x41]
mov rcx, rbx
call rax
test eax, eax
jne 0x18001a9cf
cmp esi, r12d
jl 0x18001aec4
inc r15d
inc esi
inc rdi
cmp rdi, r12
jl 0x18001a9a0
xor esi, esi
mov qword [rbp - 0x28], rsi
mov byte [rsp + 0x48], 0
mov byte [rsp + 0x49], 0x34
mov byte [rsp + 0x4a], 0x26
mov byte [rsp + 0x4b], 7
mov byte [rsp + 0x4c], 0x26
mov byte [rsp + 0x4d], 0x26
mov byte [rsp + 0x4e], 0x26
movzx eax, byte [rsp + 0x49]
movzx eax, byte [rsp + 0x48]
test al, al
jne 0x18001aa74
mov r8, rsi
nop word [rax + rax]
movzx ecx, byte [rsp + r8 + 0x49]
mov eax, 0x26
sub eax, ecx
lea ecx, [rax + rax*2]
mov eax, 0x81020409
shl ecx, 3
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x7f
sub ecx, eax
mov eax, 0x81020409
add ecx, 0x7f
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x7f
sub ecx, eax
mov byte [rsp + r8 + 0x49], cl
inc r8
cmp r8, 6
jb 0x18001aa20
movsxd r12, dword [rbp - 0x18]
cmp r12d, 1
jl 0x18001aace
mov r15d, esi
test r12d, r12d
jle 0x18001aace
mov rdi, rsi
mov esi, 1
nop
mov rbx, qword [r14 + rdi*8]
mov edx, 0xf
mov r8d, 0xcd7328ca
lea r9d, [rdx + 0x42]
call fcn.180004350
lea rdx, [rsp + 0x49]
mov rcx, rbx
call rax
test eax, eax
jne 0x18001aabf
cmp esi, r12d
jl 0x18001aed7
inc r15d
inc esi
inc rdi
cmp rdi, r12
jl 0x18001aa90
xor esi, esi
mov qword [rbp - 0x30], rsi
mov byte [rsp + 0x70], 0
mov byte [rsp + 0x71], 9
mov byte [rsp + 0x72], 0x59
mov byte [rsp + 0x73], 0x18
mov byte [rsp + 0x74], 0x59
mov byte [rsp + 0x75], 0x3d
mov byte [rsp + 0x76], 0x59
mov byte [rsp + 0x77], 0x2f
mov byte [rsp + 0x78], 0x59
mov byte [rsp + 0x79], 0x59
mov byte [rsp + 0x7a], 0x59
movzx eax, byte [rsp + 0x71]
movzx eax, byte [rsp + 0x70]
test al, al
jne 0x18001ab75
mov r9, rsi
nop word [rax + rax]
movzx ecx, byte [rsp + r9 + 0x71]
mov eax, 0x81020409
sub ecx, 0x59
imul r8d, ecx, 0x37
imul r8d
add edx, r8d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x7f
sub r8d, eax
mov eax, 0x81020409
add r8d, 0x7f
imul r8d
add edx, r8d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x7f
sub r8d, eax
mov byte [rsp + r9 + 0x71], r8b
inc r9
cmp r9, 0xa
jb 0x18001ab20
movsxd r12, dword [rbp - 0x18]
cmp r12d, 1
jl 0x18001abce
mov r15d, esi
test r12d, r12d
jle 0x18001abce
mov rdi, rsi
mov esi, 1
nop
mov rbx, qword [r14 + rdi*8]
mov edx, 0xf
mov r8d, 0xcd7328ca
lea r9d, [rdx + 0x42]
call fcn.180004350
lea rdx, [rsp + 0x71]
mov rcx, rbx
call rax
test eax, eax
jne 0x18001abbf
cmp esi, r12d
jl 0x18001aeea
inc r15d
inc esi
inc rdi
cmp rdi, r12
jl 0x18001ab90
xor esi, esi
mov qword [rbp - 0x20], rsi
mov byte [rbp - 0x80], 0
mov byte [rbp - 0x7f], 0x78
mov byte [rbp - 0x7e], 0x2a
mov byte [rbp - 0x7d], 0x48
mov byte [rbp - 0x7c], 0x2a
mov byte [rbp - 0x7b], 0x61
mov byte [rbp - 0x7a], 0x2a
mov byte [rbp - 0x79], 0x76
mov byte [rbp - 0x78], 0x2a
mov byte [rbp - 0x77], 0x6b
mov byte [rbp - 0x76], 0x2a
mov byte [rbp - 0x75], 0x2a
mov byte [rbp - 0x74], 0x2a
movzx eax, byte [rbp - 0x7f]
movzx eax, byte [rbp - 0x80]
test al, al
jne 0x18001ac75
mov r9, rsi
nop word [rax + rax]
movzx ecx, byte [rbp + r9 - 0x7f]
mov eax, 0x81020409
sub ecx, 0x2a
imul r8d, ecx, 0x19
imul r8d
add edx, r8d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x7f
sub r8d, eax
mov eax, 0x81020409
add r8d, 0x7f
imul r8d
add edx, r8d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x7f
sub r8d, eax
mov byte [rbp + r9 - 0x7f], r8b
inc r9
cmp r9, 0xc
jb 0x18001ac20
movsxd r12, dword [rbp - 0x18]
cmp r12d, 1
jl 0x18001accd
mov r15d, esi
test r12d, r12d
jle 0x18001accd
mov rdi, rsi
mov esi, 1
nop
mov rbx, qword [r14 + rdi*8]
mov edx, 0xf
mov r8d, 0xcd7328ca
lea r9d, [rdx + 0x42]
call fcn.180004350
lea rdx, [rbp - 0x7f]
mov rcx, rbx
call rax
test eax, eax
jne 0x18001acbe
cmp esi, r12d
jl 0x18001aefd
inc r15d
inc esi
inc rdi
cmp rdi, r12
jl 0x18001ac90
xor esi, esi
mov r15, rsi
mov r13, qword [rsp + 0x140]
mov r12, qword [rsp + 0x138]
mov byte [rbp - 0x48], 0
mov byte [rbp - 0x47], 0x30
mov byte [rbp - 0x46], 0x41
mov byte [rbp - 0x45], 0x5e
mov byte [rbp - 0x44], 0x41
mov byte [rbp - 0x43], 0x28
mov byte [rbp - 0x42], 0x41
mov byte [rbp - 0x41], 0x15
mov byte [rbp - 0x40], 0x41
mov byte [rbp - 0x3f], 0x61
mov byte [rbp - 0x3e], 0x41
mov byte [rbp - 0x3d], 0x18
mov byte [rbp - 0x3c], 0x41
mov byte [rbp - 0x3b], 0x48
mov byte [rbp - 0x3a], 0x41
mov byte [rbp - 0x39], 0x3e
mov byte [rbp - 0x38], 0x41
mov byte [rbp - 0x37], 0x41
mov byte [rbp - 0x36], 0x41
movzx eax, byte [rbp - 0x47]
movzx eax, byte [rbp - 0x48]
test al, al
jne 0x18001ad94
mov r8, rsi
nop dword [rax + rax]
movzx ecx, byte [rbp + r8 - 0x47]
mov eax, 0x41
sub eax, ecx
lea ecx, [rax + rax*4]
mov eax, 0x81020409
shl ecx, 3
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x7f
sub ecx, eax
mov eax, 0x81020409
add ecx, 0x7f
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x7f
sub ecx, eax
mov byte [rbp + r8 - 0x47], cl
inc r8
cmp r8, 0x12
jb 0x18001ad40
movsxd rax, dword [rbp - 0x18]
cmp eax, 1
jl 0x18001ade3
mov rsi, rax
test eax, eax
jle 0x18001ade1
xor edi, edi
nop word [rax + rax]
mov rbx, qword [r14 + rdi*8]
mov edx, 0xf
mov r8d, 0xcd7328ca
lea r9d, [rdx + 0x42]
call fcn.180004350
lea rdx, [rbp - 0x47]
mov rcx, rbx
call rax
test eax, eax
je 0x18001af0c
inc rdi
cmp rdi, rsi
jl 0x18001adb0
xor esi, esi
mov eax, esi
mov rbx, qword [rbp - 0x30]
mov dword [0x18003c534], eax
test rbx, rbx
je 0x18001b190
mov byte [rsp + 0x50], 0
mov byte [rsp + 0x51], 0x76
mov byte [rsp + 0x52], 0x4a
mov byte [rsp + 0x53], 0x44
mov byte [rsp + 0x54], 0x4a
mov byte [rsp + 0x55], 0x44
mov byte [rsp + 0x56], 0x4a
mov byte [rsp + 0x57], 0x4a
mov byte [rsp + 0x58], 0x4a
movzx eax, byte [rsp + 0x51]
movzx eax, byte [rsp + 0x50]
test al, al
jne 0x18001ae93
mov r8, rsi
nop word [rax + rax]
movzx ecx, byte [rsp + r8 + 0x51]
mov eax, 0x4a
sub eax, ecx
lea ecx, [rax + rax*8]
mov eax, 0x81020409
add ecx, ecx
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x7f
sub ecx, eax
mov eax, 0x81020409
add ecx, 0x7f
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x7f
sub ecx, eax
mov byte [rsp + r8 + 0x51], cl
inc r8
cmp r8, 8
jb 0x18001ae40
mov edx, 0xf
mov r8d, 0xcd7328ca
lea r9d, [rdx + 0x42]
call fcn.180004350
lea rdx, [rsp + 0x51]
mov rcx, rbx
call rax
test eax, eax
jne 0x18001af18
mov dword [0x180039a00], 0xa
jmp 0x18001b190
movsxd rax, r15d
xor esi, esi
mov rax, qword [r14 + rax*8 + 8]
mov qword [rbp - 0x28], rax
jmp 0x18001a9e2
movsxd rax, r15d
xor esi, esi
mov rax, qword [r14 + rax*8 + 8]
mov qword [rbp - 0x30], rax
jmp 0x18001aad2
movsxd rax, r15d
xor esi, esi
mov rcx, qword [r14 + rax*8 + 8]
mov qword [rbp - 0x20], rcx
jmp 0x18001abd2
movsxd rax, r15d
xor esi, esi
mov r15, qword [r14 + rax*8 + 8]
jmp 0x18001acd0
mov eax, 1
xor esi, esi
jmp 0x18001ade5
mov byte [rbp - 0x70], 0
mov byte [rbp - 0x6f], 0x3b
mov byte [rbp - 0x6e], reloc.WS2_32.dll_WSAGetLastError
mov byte [rbp - 0x6d], 0x72
mov byte [rbp - 0x6c], reloc.WS2_32.dll_WSAGetLastError
mov byte [rbp - 0x6b], 0x15
mov byte [rbp - 0x6a], reloc.WS2_32.dll_WSAGetLastError
mov byte [rbp - 0x69], 0x45
mov byte [rbp - 0x68], reloc.WS2_32.dll_WSAGetLastError
mov byte [rbp - 0x67], 0x3b
mov byte [rbp - 0x66], reloc.WS2_32.dll_WSAGetLastError
mov byte [rbp - 0x65], reloc.WS2_32.dll_WSAGetLastError
mov byte [rbp - 0x64], reloc.WS2_32.dll_WSAGetLastError
movzx eax, byte [rbp - 0x6f]
movzx eax, byte [rbp - 0x70]
test al, al
jne 0x18001afb5
mov r9, rsi
nop dword [rax + rax]
movzx ecx, byte [rbp + r9 - 0x6f]
mov eax, 0x81020409
sub ecx, 0x6f
imul r8d, ecx, 0x25
imul r8d
add edx, r8d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x7f
sub r8d, eax
mov eax, 0x81020409
add r8d, 0x7f
imul r8d
add edx, r8d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x7f
sub r8d, eax
mov byte [rbp + r9 - 0x6f], r8b
inc r9
cmp r9, 0xc
jb 0x18001af60
mov edx, 0xf
mov r8d, 0xcd7328ca
lea r9d, [rdx + 0x42]
call fcn.180004350
lea rdx, [rbp - 0x6f]
mov rcx, rbx
call rax
test eax, eax
jne 0x18001afe5
mov dword [0x180039a00], 0xb
jmp 0x18001b190
mov byte [rsp + 0x60], 0
mov byte [rsp + 0x61], 0x4c
mov byte [rsp + 0x62], 0x5c
mov byte [rsp + 0x63], 0x4b
mov byte [rsp + 0x64], 0x5c
mov byte [rsp + 0x65], 0x77
mov byte [rsp + 0x66], 0x5c
mov byte [rsp + 0x67], 0x5c
mov byte [rsp + 0x68], 0x5c
movzx eax, byte [rsp + 0x61]
movzx eax, byte [rsp + 0x60]
test al, al
jne 0x18001b085
mov r9, rsi
nop dword [rax]
nop word [rax + rax]
movzx ecx, byte [rsp + r9 + 0x61]
mov eax, 0x81020409
sub ecx, 0x5c
lea r8d, [rcx + rcx*8]
imul r8d
add edx, r8d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x7f
sub r8d, eax
mov eax, 0x81020409
add r8d, 0x7f
imul r8d
add edx, r8d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x7f
sub r8d, eax
mov byte [rsp + r9 + 0x61], r8b
inc r9
cmp r9, 8
jb 0x18001b030
mov edx, 0xf
mov r8d, 0xcd7328ca
lea r9d, [rdx + 0x42]
call fcn.180004350
lea rdx, [rsp + 0x61]
mov rcx, rbx
call rax
test eax, eax
jne 0x18001b0b6
mov dword [0x180039a00], 0xc
jmp 0x18001b190
mov byte [rbp - 0x60], 0
mov byte [rbp - 0x5f], 0xd
mov byte [rbp - 0x5e], 0x3b
mov byte [rbp - 0x5d], 0x63
mov byte [rbp - 0x5c], 0x3b
mov byte [rbp - 0x5b], 0x36
mov byte [rbp - 0x5a], 0x3b
mov byte [rbp - 0x59], 1
mov byte [rbp - 0x58], 0x3b
mov byte [rbp - 0x57], 0x1e
mov byte [rbp - 0x56], 0x3b
mov byte [rbp - 0x55], 0x4f
mov byte [rbp - 0x54], 0x3b
mov byte [rbp - 0x53], 0x4b
mov byte [rbp - 0x52], 0x3b
mov byte [rbp - 0x51], 0x3b
mov byte [rbp - 0x50], 0x3b
movzx eax, byte [rbp - 0x5f]
movzx eax, byte [rbp - 0x60]
test al, al
jne 0x18001b165
mov r11, rsi
nop dword [rax]
movzx ecx, byte [rbp + r11 - 0x5f]
mov eax, 0x81020409
sub ecx, 0x3b
imul r10d, ecx, 0x1f
imul r10d
add edx, r10d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x7f
sub r10d, eax
mov eax, 0x81020409
add r10d, 0x7f
imul r10d
add edx, r10d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x7f
sub r10d, eax
mov byte [rbp + r11 - 0x5f], r10b
inc r11
cmp r11, 0x10
jb 0x18001b110
mov edx, 0xf
mov r8d, 0xcd7328ca
lea r9d, [rdx + 0x42]
call fcn.180004350
lea rdx, [rbp - 0x5f]
mov rcx, rbx
call rax
test eax, eax
jne 0x18001b190
mov dword [0x180039a00], 0xd
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x18001b207
mov dword [0x180039a00], 0xe
mov rdx, 0xffffffffffffffff
nop word [rax + rax]
inc rdx
cmp word [rcx + rdx*2], 0
jne 0x18001b1b0
mov rax, qword [0x18003b248]
cmp rdx, rax
ja 0x18001b1f8
lea rbx, [rdx + rdx]
mov qword [0x18003b240], rdx
cmp rax, 8
lea rdi, [0x18003b230]
mov rdx, rcx
mov r8, rbx
cmovae rdi, qword [0x18003b230]
mov rcx, rdi
call fcn.180021710
mov word [rbx + rdi], si
jmp 0x18001b207
mov r9, rcx
lea rcx, [0x18003b230]
call fcn.180017270
mov rdi, qword [rsp + 0x130]
test r15, r15
je 0x18001b223
mov rcx, r15
call fcn.18001a6d0
mov byte [0x180039a04], 0x32
mov rbx, qword [rbp - 0x20]
mov r15, qword [rsp + 0x100]
test rbx, rbx
je 0x18001b2bd
mov edx, 0xf
mov r8d, 0xddde40d3
lea r9d, [rdx + 0x3a]
call fcn.180004350
lea rcx, [0x18003c558]
call rax
mov edx, 0xf
mov r8d, 0x17610e8
lea r9d, [rdx + 0x52]
call fcn.180004350
xor r9d, r9d
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], 0x80000000
mov edx, 0x40000000
mov rcx, rbx
mov dword [rsp + 0x20], 4
lea r8d, [r9 + 1]
call rax
mov edx, 0xf
mov qword [0x18003a220], rax
mov r8d, 0x29103c8c
mov rbx, rax
lea r9d, [rdx + 2]
call fcn.180004350
mov r9d, 2
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call rax
mov eax, 1
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.18001f3a0
add rsp, 0x108
pop r14
pop rsi
pop rbx
pop rbp
ret