Function at 0x18003d550
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x900]
sub rsp, 0xa00
mov r15, rcx
call fcn.18002eec0
test al, al
je 0x18003ed98
xor r12d, r12d
mov r14d, reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x18], r14
mov byte [rbp - 0x30], r12b
mov qword [rbp - 0x20], 0xa
xor eax, eax
mov qword [rbp - 0x30], rax
mov word [rbp - 0x28], ax
mov byte [rbp - 0x26], al
lea rdx, [rbp - 0x30]
mov byte [rbp + 0x938], 0x3f
movzx eax, byte [rbp + 0x938]
lea r13, [0x1800efec0]
movzx eax, byte [rax + r13]
mov byte [rdx + 9], al
mov byte [rbp + 0x938], 0xa
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 8], al
mov byte [rbp + 0x938], 0x3f
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 7], al
mov byte [rbp + 0x938], 0x20
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 6], al
mov byte [rbp + 0x938], 0xee
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 5], al
mov byte [rbp + 0x938], 0xad
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 4], al
mov byte [rbp + 0x938], 0x50
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 3], al
mov byte [rbp + 0x938], 0xf9
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 2], al
mov byte [rbp + 0x938], __WSAFDIsSet
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 1], al
mov byte [rbp + 0x938], 0xf6
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx], al
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x180]
call fcn.18002bb40
nop
mov rdx, r15
lea rcx, [rbp + 0x160]
call fcn.18002b530
nop
lea rdx, [rbp + 0x180]
lea rcx, [rbp + 0x160]
call fcn.180028370
mov rdx, rax
lea rcx, [rbp + 0x280]
call fcn.18002b530
nop
mov rdx, qword [rbp + 0x178]
cmp rdx, 8
jb 0x18003d71d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x160]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003d718
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003edbf
call fcn.18008a564
movdqa xmm0, xmmword [0x180102450]
movdqu xmmword [rbp + 0x170], xmm0
mov word [rbp + 0x160], r12w
mov rdx, qword [rbp + 0x198]
cmp rdx, 8
jb 0x18003d77b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x180]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003d776
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003edc5
call fcn.18008a564
movdqa xmm0, xmmword [0x180102450]
movdqu xmmword [rbp + 0x190], xmm0
mov word [rbp + 0x180], r12w
mov rdx, qword [rbp - 0x18]
cmp rdx, 0x10
jb 0x18003d7ce
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003d7c9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003edcb
call fcn.18008a564
mov qword [rbp - 0x20], r12
mov qword [rbp - 0x18], r14
mov byte [rbp - 0x30], 0
lea rcx, [rbp + 0x280]
call fcn.18002eec0
test al, al
je 0x18003da6e
lea rdx, [rbp + 0x280]
lea rcx, [rbp + 0x100]
call fcn.18005b270
nop
cmp byte [rbp + 0x118], 0
je 0x18003da13
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], r12
mov edx, 1
lea rcx, [rsp + 0x20]
call fcn.18002c0c0
mov rbx, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x20]
mov byte [rbx + rdi], 0
inc rbx
mov qword [rsp + 0x38], rbx
lea rdx, [rbp + 0xc0]
lea rcx, [rbp + 0x280]
call fcn.1800285b0
nop
movzx esi, word [rbp + 0xd0]
mov rcx, qword [rsp + 0x28]
mov rax, rcx
sub rax, rdi
lea rdx, [rax + 2]
cmp rdx, rax
jae 0x18003d87c
lea rcx, [rdx + rdi]
jmp 0x18003d8af
jbe 0x18003d8b4
mov rax, qword [rsp + 0x30]
sub rax, rdi
cmp rdx, rax
jbe 0x18003d8a6
lea rcx, [rsp + 0x20]
call fcn.18002c0c0
mov rbx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x20]
jmp 0x18003d8b4
xor eax, eax
mov word [rcx], ax
add rcx, 2
mov qword [rsp + 0x28], rcx
mov word [rbx + rdi], si
add rbx, 2
mov qword [rsp + 0x38], rbx
sub rcx, rdi
mov rdx, qword [rbp + 0xd0]
add rdx, rcx
lea rcx, [rsp + 0x20]
call fcn.18002b230
lea rdx, [rbp + 0xc0]
cmp qword [rbp + 0xd8], 0x10
cmovae rdx, qword [rbp + 0xc0]
mov rbx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x20]
lea rcx, [rbx + rsi]
mov r8, qword [rbp + 0xd0]
call fcn.18008c6d0
add rbx, qword [rbp + 0xd0]
mov qword [rsp + 0x38], rbx
mov rdx, qword [rbp + 0xd8]
cmp rdx, 0x10
jb 0x18003d956
inc rdx
mov rcx, qword [rbp + 0xc0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003d951
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003edd1
call fcn.18008a564
mov qword [rbp + 0xd0], r12
mov qword [rbp + 0xd8], r14
mov byte [rbp + 0xc0], 0
mov rdi, qword [rbp + 0x108]
sub rdi, qword [rbp + 0x100]
mov rdx, qword [rsp + 0x28]
sub rdx, rsi
add rdx, rdi
lea rcx, [rsp + 0x20]
call fcn.18002b230
mov rbx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x20]
add rcx, rbx
mov r8, rdi
mov rdx, qword [rbp + 0x100]
call fcn.18008c6d0
add rbx, rdi
mov qword [rsp + 0x38], rbx
xor r9d, r9d
lea r8, [rsp + 0x20]
mov dl, inet_ntoa
lea rcx, [0x180118fd0]
call fcn.180059d90
nop
mov rcx, qword [rsp + 0x20]
test rcx, rcx
je 0x18003da13
mov rdx, qword [rsp + 0x30]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003da00
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003edd7
call fcn.18008a564
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], r12
cmp byte [rbp + 0x118], 0
je 0x18003da6e
mov rcx, qword [rbp + 0x100]
test rcx, rcx
je 0x18003da6e
mov rdx, qword [rbp + 0x110]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003da57
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003eddd
call fcn.18008a564
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x100], xmm0
mov qword [rbp + 0x110], r12
mov qword [rbp - 0x68], r14
mov byte [rbp - 0x80], 0
mov qword [rbp - 0x70], 7
xor eax, eax
mov qword [rbp - 0x80], rax
lea rdx, [rbp - 0x80]
mov byte [rbp + 0x938], 0x88
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 6], al
mov byte [rbp + 0x938], 0x5c
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 5], al
mov byte [rbp + 0x938], 0x50
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 4], al
mov byte [rbp + 0x938], 0x9e
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 3], al
mov byte [rbp + 0x938], __WSAFDIsSet
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 2], al
mov byte [rbp + 0x938], __WSAFDIsSet
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 1], al
mov byte [rbp + 0x938], 4
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx], al
lea rdx, [rbp - 0x80]
lea rcx, [rbp + 0x340]
call fcn.18002bb40
nop
mov rdx, r15
lea rcx, [rbp + 0x320]
call fcn.18002b530
nop
lea rdx, [rbp + 0x340]
lea rcx, [rbp + 0x320]
call fcn.180028370
mov rdx, rax
lea rcx, [rbp + 0x200]
call fcn.18002b530
nop
lea rcx, [rbp + 0x320]
call fcn.1800287c0
nop
lea rcx, [rbp + 0x340]
call fcn.1800287c0
nop
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x18003dbba
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003dbb5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003ede3
call fcn.18008a564
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], r14
mov byte [rbp - 0x80], 0
lea rcx, [rbp + 0x200]
call fcn.18002eec0
test al, al
je 0x18003dcfb
lea rdx, [rbp + 0x200]
lea rcx, [rbp + 0x1a0]
call fcn.18005b270
nop
cmp byte [rbp + 0x1b8], 0
je 0x18003dcee
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x58], r12
mov edx, 1
lea rcx, [rsp + 0x40]
call fcn.18002b230
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x40]
mov byte [rax + rcx], 0
inc rcx
mov qword [rsp + 0x58], rcx
lea rdx, [rbp + 0x200]
lea rcx, [rsp + 0x40]
call fcn.180029420
mov rdi, qword [rbp + 0x1a8]
sub rdi, qword [rbp + 0x1a0]
mov rdx, qword [rsp + 0x48]
sub rdx, qword [rsp + 0x40]
add rdx, rdi
lea rcx, [rsp + 0x40]
call fcn.18002b230
mov rbx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x40]
add rcx, rbx
mov r8, rdi
mov rdx, qword [rbp + 0x1a0]
call fcn.18008c6d0
add rbx, rdi
mov qword [rsp + 0x58], rbx
xor r9d, r9d
lea r8, [rsp + 0x40]
mov dl, inet_ntoa
lea rcx, [0x180118fd0]
call fcn.180059d90
nop
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x18003dcee
mov rdx, qword [rsp + 0x50]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003dcdb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003ede9
call fcn.18008a564
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r12
lea rcx, [rbp + 0x1a0]
call fcn.18002b0c0
nop
mov qword [rbp - 0x10], r12
mov qword [rbp], r12
mov qword [rbp + 8], r14
mov byte [rbp - 0x10], 0
xor r8d, r8d
lea edx, [r8 + 8]
lea rcx, [rbp - 0x10]
call fcn.18000e960
lea rdx, [rbp - 0x10]
cmp qword [rbp + 8], 0x10
cmovae rdx, qword [rbp - 0x10]
mov byte [rbp + 0x938], 0x3f
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 7], al
mov byte [rbp + 0x938], 0xa
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 6], al
mov byte [rbp + 0x938], 0x3f
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 5], al
mov byte [rbp + 0x938], 0x20
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 4], al
mov byte [rbp + 0x938], 0xee
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 3], al
mov byte [rbp + 0x938], 1
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 2], al
mov byte [rbp + 0x938], 0x5c
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 1], al
mov byte [rbp + 0x938], 0xda
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx], al
lea rdx, [rbp - 0x10]
lea rcx, [rbp + 0x360]
call fcn.18002bb40
nop
lea r8, [rbp + 0x360]
mov rdx, r15
lea rcx, [rbp + 0x300]
call fcn.18002e4a0
nop
lea rcx, [rbp + 0x360]
call fcn.1800287c0
nop
mov rdx, qword [rbp + 8]
cmp rdx, 0x10
jb 0x18003de48
inc rdx
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003de43
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003edef
call fcn.18008a564
mov qword [rbp], r12
mov qword [rbp + 8], r14
mov byte [rbp - 0x10], 0
lea rcx, [rbp + 0x200]
call fcn.18002eec0
test al, al
je 0x18003df89
lea rdx, [rbp + 0x300]
lea rcx, [rbp + 0x1c0]
call fcn.18005b270
nop
cmp byte [rbp + 0x1d8], 0
je 0x18003df7c
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], r12
mov edx, 1
lea rcx, [rsp + 0x60]
call fcn.18002b230
mov rcx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x60]
mov byte [rax + rcx], 0
inc rcx
mov qword [rsp + 0x78], rcx
lea rdx, [rbp + 0x300]
lea rcx, [rsp + 0x60]
call fcn.180029420
mov rdi, qword [rbp + 0x1c8]
sub rdi, qword [rbp + 0x1c0]
mov rdx, qword [rsp + 0x68]
sub rdx, qword [rsp + 0x60]
add rdx, rdi
lea rcx, [rsp + 0x60]
call fcn.18002b230
mov rbx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x60]
add rcx, rbx
mov r8, rdi
mov rdx, qword [rbp + 0x1c0]
call fcn.18008c6d0
add rbx, rdi
mov qword [rsp + 0x78], rbx
xor r9d, r9d
lea r8, [rsp + 0x60]
mov dl, inet_ntoa
lea rcx, [0x180118fd0]
call fcn.180059d90
nop
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x18003df7c
mov rdx, qword [rsp + 0x70]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003df69
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003edf5
call fcn.18008a564
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], r12
lea rcx, [rbp + 0x1c0]
call fcn.18002b0c0
nop
mov qword [rbp + 0x20], r12
mov qword [rbp + 0x30], r12
mov qword [rbp + 0x38], r14
mov byte [rbp + 0x20], 0
xor r8d, r8d
lea edx, [r8 + 0xd]
lea rcx, [rbp + 0x20]
call fcn.18000e960
lea rdx, [rbp + 0x20]
cmp qword [rbp + 0x38], 0x10
cmovae rdx, qword [rbp + 0x20]
mov byte [rbp + 0x938], 0x5c
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 0xc], al
mov byte [rbp + 0x938], 0xf9
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 0xb], al
mov byte [rbp + 0x938], 0x3f
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 0xa], al
mov byte [rbp + 0x938], 0x9c
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 9], al
mov byte [rbp + 0x938], __WSAFDIsSet
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 8], al
mov byte [rbp + 0x938], 0xa
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 7], al
mov byte [rbp + 0x938], 0x4d
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 6], al
mov byte [rbp + 0x938], 0xee
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 5], al
mov byte [rbp + 0x938], 3
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 4], al
mov byte [rbp + 0x938], 0x3f
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 3], al
mov byte [rbp + 0x938], 0xe4
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 2], al
mov byte [rbp + 0x938], __WSAFDIsSet
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 1], al
mov byte [rbp + 0x938], 0xf6
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx], al
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x380]
call fcn.18002bb40
nop
lea r8, [rbp + 0x380]
mov rdx, r15
lea rcx, [rbp + 0x2e0]
call fcn.18002e4a0
nop
lea rcx, [rbp + 0x380]
call fcn.1800287c0
nop
mov rdx, qword [rbp + 0x38]
cmp rdx, 0x10
jb 0x18003e144
inc rdx
mov rcx, qword [rbp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003e13f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003edfb
call fcn.18008a564
mov qword [rbp + 0x30], r12
mov qword [rbp + 0x38], r14
mov byte [rbp + 0x20], 0
lea rcx, [rbp + 0x2e0]
call fcn.18002eec0
test al, al
je 0x18003e2ee
mov qword [rbp + 0x40], r12
mov qword [rbp + 0x50], r12
mov qword [rbp + 0x58], r14
mov byte [rbp + 0x40], 0
xor r8d, r8d
lea edx, [r8 + 7]
lea rcx, [rbp + 0x40]
call fcn.18000e960
lea rdx, [rbp + 0x40]
cmp qword [rbp + 0x58], 0x10
cmovae rdx, qword [rbp + 0x40]
mov byte [rbp + 0x938], 1
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 6], al
mov byte [rbp + 0x938], 0x53
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 5], al
mov byte [rbp + 0x938], 3
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 4], al
mov byte [rbp + 0x938], 0x5c
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 3], al
mov byte [rbp + 0x938], 0x8f
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 2], al
mov byte [rbp + 0x938], 0x5c
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 1], al
mov byte [rbp + 0x938], 3
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx], al
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0x3e0]
call fcn.18002bb40
nop
lea rdx, [rbp + 0x2e0]
lea rcx, [rbp + 0x3a0]
call fcn.18002b530
nop
lea rdx, [rbp + 0x3e0]
lea rcx, [rbp + 0x3a0]
call fcn.180028370
mov rdx, rax
lea rcx, [rbp + 0x3c0]
call fcn.18002b530
nop
lea rcx, [rbp + 0x3a0]
call fcn.1800287c0
nop
lea rcx, [rbp + 0x3c0]
call fcn.18003cb90
nop
lea rcx, [rbp + 0x3c0]
call fcn.1800287c0
nop
lea rcx, [rbp + 0x3e0]
call fcn.1800287c0
nop
mov rdx, qword [rbp + 0x58]
cmp rdx, 0x10
jb 0x18003e2e2
inc rdx
mov rcx, qword [rbp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003e2dd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003ee01
call fcn.18008a564
mov qword [rbp + 0x50], r12
mov qword [rbp + 0x58], r14
mov byte [rbp + 0x40], 0
mov qword [rbp + 0x60], r12
mov qword [rbp + 0x70], r12
mov qword [rbp + 0x78], r14
mov byte [rbp + 0x60], 0
xor r8d, r8d
lea edx, [r8 + 9]
lea rcx, [rbp + 0x60]
call fcn.18000e960
lea rdx, [rbp + 0x60]
cmp qword [rbp + 0x78], 0x10
cmovae rdx, qword [rbp + 0x60]
mov byte [rbp + 0x938], 0xa2
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 8], al
mov byte [rbp + 0x938], 0x20
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 7], al
mov byte [rbp + 0x938], 0x53
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 6], al
mov byte [rbp + 0x938], 0x5c
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 5], al
mov byte [rbp + 0x938], 0x2c
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 4], al
mov byte [rbp + 0x938], 0x5c
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 3], al
mov byte [rbp + 0x938], 0x53
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 2], al
mov byte [rbp + 0x938], 0xad
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 1], al
mov byte [rbp + 0x938], 0xb2
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx], al
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x400]
call fcn.18002bb40
nop
lea r8, [rbp + 0x400]
mov rdx, r15
lea rcx, [rbp + 0x260]
call fcn.18002e4a0
nop
lea rcx, [rbp + 0x400]
call fcn.1800287c0
nop
mov rdx, qword [rbp + 0x78]
cmp rdx, 0x10
jb 0x18003e451
inc rdx
mov rcx, qword [rbp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003e44c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003ee07
call fcn.18008a564
mov qword [rbp + 0x70], r12
mov qword [rbp + 0x78], r14
mov byte [rbp + 0x60], 0
lea rcx, [rbp + 0x260]
call fcn.18002eec0
test al, al
je 0x18003e5da
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x10], xmm0
xor r8d, r8d
lea rdx, [rbp + 0x260]
lea rcx, [rbp + 0x10]
call fcn.18002b9c0
test eax, eax
jne 0x18003ee0d
mov rsi, qword [rbp + 0x18]
test rsi, rsi
je 0x18003e4a5
lock inc dword [rsi + 8]
mov rsi, qword [rbp + 0x18]
movdqa xmm1, xmmword [rbp + 0x10]
movdqa xmmword [rbp + 0xe0], xmm1
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x2a0], xmm0
test rsi, rsi
je 0x18003e4cf
lock inc dword [rsi + 8]
mov rsi, qword [rbp + 0x18]
movdqa xmm1, xmmword [rbp + 0x10]
movdqa xmmword [rbp + 0x120], xmm1
lea rdx, [rbp + 0x120]
lea rcx, [rbp + 0x130]
call fcn.1800291b0
nop
mov r14, qword [rbp + 0x130]
mov rdi, qword [rbp + 0xe8]
mov rbx, qword [rbp + 0xe0]
cmp rbx, r14
je 0x18003e5ac
lea rcx, [rbx + 0x20]
call fcn.18003cb90
nop dword [rax]
nop word [rax + rax]
lea rdx, [rbp + 0x460]
mov rcx, qword [rbx + 0x40]
call fcn.180088f54
cmp eax, 0x12
je 0x18003e574
test eax, eax
jne 0x18003ee23
cmp word [rbp + 0x48c], 0x2e
jne 0x18003e563
movzx eax, word [rbp + 0x48e]
test ax, ax
je 0x18003e520
cmp ax, 0x2e
jne 0x18003e563
cmp word [rbp + 0x490], 0
je 0x18003e520
lea rdx, [rbp + 0x460]
mov rcx, rbx
call fcn.180028dd0
jmp 0x18003e500
mov qword [rbp + 0x2b0], rbx
mov rbx, r12
mov qword [rbp + 0xe0], rbx
mov rcx, rdi
mov qword [rbp + 0x2b8], rdi
mov rdi, r12
mov qword [rbp + 0xe8], r12
test rcx, rcx
je 0x18003e500
call fcn.1800280b0
jmp 0x18003e500
lea rcx, [rbp + 0x130]
call fcn.180029160
nop
test rdi, rdi
je 0x18003e5c7
mov rcx, rdi
call fcn.1800280b0
nop
test rsi, rsi
je 0x18003e5d4
mov rcx, rsi
call fcn.1800280b0
mov r14d, reloc.WS2_32.dll_ntohs
mov qword [rbp + 0x80], r12
mov qword [rbp + 0x90], r12
mov qword [rbp + 0x98], r14
mov byte [rbp + 0x80], 0
xor r8d, r8d
lea edx, [r8 + 0x18]
lea rcx, [rbp + 0x80]
call fcn.18000e960
lea rdx, [rbp + 0x80]
cmp qword [rbp + 0x98], 0x10
cmovae rdx, qword [rbp + 0x80]
mov byte [rbp + 0x938], 0x88
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 0x17], al
mov byte [rbp + 0x938], 0xf9
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 0x16], al
mov byte [rbp + 0x938], 0xad
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 0x15], al
mov byte [rbp + 0x938], 0x50
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 0x14], al
mov byte [rbp + 0x938], 0xa
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 0x13], al
mov byte [rbp + 0x938], 0xa
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 0x12], al
mov byte [rbp + 0x938], 0x5c
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 0x11], al
mov byte [rbp + 0x938], 0x4d
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 0x10], al
mov byte [rbp + 0x938], 0xee
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 0xf], al
mov byte [rbp + 0x938], 0xad
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 0xe], al
mov byte [rbp + 0x938], __WSAFDIsSet
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 0xd], al
mov byte [rbp + 0x938], 0x50
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 0xc], al
mov byte [rbp + 0x938], 0x88
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 0xb], al
mov byte [rbp + 0x938], 0xad
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 0xa], al
mov byte [rbp + 0x938], 0x5c
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 9], al
mov byte [rbp + 0x938], 0xa
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 8], al
mov byte [rbp + 0x938], 0x2c
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 7], al
mov byte [rbp + 0x938], 0x39
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 6], al
mov byte [rbp + 0x938], 0xee
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 5], al
mov byte [rbp + 0x938], 3
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 4], al
mov byte [rbp + 0x938], 0x3f
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 3], al
mov byte [rbp + 0x938], 0xe4
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 2], al
mov byte [rbp + 0x938], __WSAFDIsSet
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 1], al
mov byte [rbp + 0x938], 0xf6
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx], al
lea rdx, [rbp + 0x80]
lea rcx, [rbp + 0x420]
call fcn.18002bb40
nop
lea r8, [rbp + 0x420]
mov rdx, r15
lea rcx, [rbp + 0x240]
call fcn.18002e4a0
nop
lea rcx, [rbp + 0x420]
call fcn.1800287c0
nop
mov rdx, qword [rbp + 0x98]
cmp rdx, 0x10
jb 0x18003e8a8
inc rdx
mov rcx, qword [rbp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003e8a3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003ee32
call fcn.18008a564
mov qword [rbp + 0x90], r12
mov qword [rbp + 0x98], r14
mov byte [rbp + 0x80], 0
lea rcx, [rbp + 0x240]
call fcn.18002eec0
test al, al
je 0x18003ea3a
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x40], xmm0
xor r8d, r8d
lea rdx, [rbp + 0x240]
lea rcx, [rbp - 0x40]
call fcn.18002b9c0
test eax, eax
jne 0x18003ee38
mov rsi, qword [rbp - 0x38]
test rsi, rsi
je 0x18003e905
lock inc dword [rsi + 8]
mov rsi, qword [rbp - 0x38]
movdqa xmm1, xmmword [rbp - 0x40]
movdqa xmmword [rbp + 0xf0], xmm1
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x2c0], xmm0
test rsi, rsi
je 0x18003e92f
lock inc dword [rsi + 8]
mov rsi, qword [rbp - 0x38]
movdqa xmm1, xmmword [rbp - 0x40]
movdqa xmmword [rbp + 0x150], xmm1
lea rdx, [rbp + 0x150]
lea rcx, [rbp + 0x140]
call fcn.1800291b0
nop
mov r14, qword [rbp + 0x140]
mov rdi, qword [rbp + 0xf8]
mov rbx, qword [rbp + 0xf0]
cmp rbx, r14
je 0x18003ea0c
lea rcx, [rbx + 0x20]
call fcn.18003cb90
nop dword [rax]
nop word [rax + rax]
lea rdx, [rbp + 0x6b0]
mov rcx, qword [rbx + 0x40]
call fcn.180088f54
cmp eax, 0x12
je 0x18003e9d4
test eax, eax
jne 0x18003ee4e
cmp word [rbp + 0x6dc], 0x2e
jne 0x18003e9c3
movzx eax, word [rbp + 0x6de]
test ax, ax
je 0x18003e980
cmp ax, 0x2e
jne 0x18003e9c3
cmp word [rbp + 0x6e0], 0
je 0x18003e980
lea rdx, [rbp + 0x6b0]
mov rcx, rbx
call fcn.180028dd0
jmp 0x18003e960
mov qword [rbp + 0x2d0], rbx
mov rbx, r12
mov qword [rbp + 0xf0], rbx
mov rcx, rdi
mov qword [rbp + 0x2d8], rdi
mov rdi, r12
mov qword [rbp + 0xf8], r12
test rcx, rcx
je 0x18003e960
call fcn.1800280b0
jmp 0x18003e960
lea rcx, [rbp + 0x140]
call fcn.180029160
nop
test rdi, rdi
je 0x18003ea27
mov rcx, rdi
call fcn.1800280b0
nop
test rsi, rsi
je 0x18003ea34
mov rcx, rsi
call fcn.1800280b0
mov r14d, reloc.WS2_32.dll_ntohs
mov qword [rbp + 0xa0], r12
mov qword [rbp + 0xb0], r12
mov qword [rbp + 0xb8], r14
mov byte [rbp + 0xa0], 0
xor r8d, r8d
mov rdx, r14
lea rcx, [rbp + 0xa0]
call fcn.18000e960
lea rdx, [rbp + 0xa0]
cmp qword [rbp + 0xb8], 0x10
cmovae rdx, qword [rbp + 0xa0]
mov byte [rbp + 0x938], 0x88
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 0xe], al
mov byte [rbp + 0x938], 0x5c
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 0xd], al
mov byte [rbp + 0x938], 0x50
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 0xc], al
mov byte [rbp + 0x938], 0x9e
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 0xb], al
mov byte [rbp + 0x938], __WSAFDIsSet
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 0xa], al
mov byte [rbp + 0x938], __WSAFDIsSet
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 9], al
mov byte [rbp + 0x938], 4
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 8], al
mov byte [rbp + 0x938], gethostbyname
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 7], al
mov byte [rbp + 0x938], 0x9e
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 6], al
mov byte [rbp + 0x938], 0x9c
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 5], al
mov byte [rbp + 0x938], __WSAFDIsSet
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 4], al
mov byte [rbp + 0x938], 0xab
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 3], al
mov byte [rbp + 0x938], 0xa
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 2], al
mov byte [rbp + 0x938], 0x5c
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx + 1], al
mov byte [rbp + 0x938], 0xbf
movzx eax, byte [rbp + 0x938]
movzx eax, byte [rax + r13]
mov byte [rdx], al
lea rdx, [rbp + 0xa0]
lea rcx, [rbp + 0x440]
call fcn.18002bb40
nop
lea r8, [rbp + 0x440]
mov rdx, r15
lea rcx, [rbp + 0x220]
call fcn.18002e4a0
nop
lea rcx, [rbp + 0x440]
call fcn.1800287c0
nop
mov rdx, qword [rbp + 0xb8]
cmp rdx, 0x10
jb 0x18003ec41
inc rdx
mov rcx, qword [rbp + 0xa0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003ec3c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003edb9
call fcn.18008a564
mov qword [rbp + 0xb0], r12
mov qword [rbp + 0xb8], r14
mov byte [rbp + 0xa0], 0
lea rcx, [rbp + 0x220]
call fcn.18002eec0
test al, al
je 0x18003ed3c
lea rdx, [rbp + 0x220]
lea rcx, [rbp + 0x1e0]
call fcn.18005b270
nop
cmp byte [rbp + 0x1f8], 0
je 0x18003ed2f
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x48], r12
mov edx, 1
lea rcx, [rbp - 0x60]
call fcn.18002b230
mov rcx, qword [rbp - 0x48]
mov rax, qword [rbp - 0x60]
mov byte [rax + rcx], 0
inc rcx
mov qword [rbp - 0x48], rcx
lea rdx, [rbp + 0x220]
lea rcx, [rbp - 0x60]
call fcn.180029420
mov rdi, qword [rbp + 0x1e8]
sub rdi, qword [rbp + 0x1e0]
mov rdx, qword [rbp - 0x58]
sub rdx, qword [rbp - 0x60]
add rdx, rdi
lea rcx, [rbp - 0x60]
call fcn.18002b230
mov rbx, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x60]
add rcx, rbx
mov r8, rdi
mov rdx, qword [rbp + 0x1e0]
call fcn.18008c6d0
add rbx, rdi
mov qword [rbp - 0x48], rbx
xor r9d, r9d
lea r8, [rbp - 0x60]
mov dl, inet_ntoa
lea rcx, [0x180118fd0]
call fcn.180059d90
nop
lea rcx, [rbp - 0x60]
call fcn.18002b060
nop
lea rcx, [rbp + 0x1e0]
call fcn.18002b0c0
nop
lea rcx, [rbp + 0x220]
call fcn.1800287c0
nop
lea rcx, [rbp + 0x240]
call fcn.1800287c0
nop
lea rcx, [rbp + 0x260]
call fcn.1800287c0
nop
lea rcx, [rbp + 0x2e0]
call fcn.1800287c0
nop
lea rcx, [rbp + 0x300]
call fcn.1800287c0
nop
lea rcx, [rbp + 0x200]
call fcn.1800287c0
nop
lea rcx, [rbp + 0x280]
call fcn.1800287c0
mov al, 1
lea r11, [rsp + 0xa00]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.180090f98
nop
call fcn.180090f98
nop
call fcn.180090f98
nop
call fcn.180090f98
nop
call fcn.180090f98
nop
call fcn.180090f98
nop
call fcn.180090f98
nop
call fcn.180090f98
nop
call fcn.180090f98
nop
call fcn.180090f98
nop
call fcn.180090f98
nop
call fcn.180090f98
int3
call fcn.180090f98
nop
call fcn.180090f98
nop
lea r8, [rbp + 0x260]
mov edx, eax
lea rcx, str.directory_iterator::directory_iterator
call fcn.18002e8c0
nop
mov edx, eax
lea rcx, str.directory_iterator::operator
call fcn.180028b60
nop
call fcn.180090f98
nop
lea r8, [rbp + 0x240]
mov edx, eax
lea rcx, str.directory_iterator::directory_iterator
call fcn.18002e8c0
nop
mov edx, eax
lea rcx, str.directory_iterator::operator
call fcn.180028b60
int3