Function at 0x180025110
Capabilities:
Send data
Send data on socket

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
mov rbp, rsp
sub rsp, 0x68
mov qword [rbp - 0x38], 0xfffffffffffffffe
mov r13, rcx
mov ebx, dword [rcx + 4]
mov rax, qword [0x18005fdf8]
mov edi, dword [rax - 0x10]
lea ecx, [rdi + 0xe]
call fcn.18002f604
mov r12, rax
mov byte [rax], reloc.WS2_32.dll_ntohl
mov dword [rax + 1], ebx
mov dword [rax + 5], edi
mov dword [rax + 9], 1
mov r8d, edi
lea rcx, [rax + 0xd]
mov rdx, qword [0x18005fdf8]
call fcn.18002fb80
add edi, 0xd
movzx ecx, byte [0x18004e26c]
mov byte [rdi + r12], cl
lea eax, [rdi*4 + 0x804]
mov dword [rbp + 0x40], eax
inc eax
movsxd rcx, eax
call fcn.18002f604
mov rsi, rax
lea r9, [rax + 5]
lea rax, [rbp + 0x40]
mov qword [rsp + 0x20], rax
lea r8, [0x18004e7a0]
lea edx, [rdi + 1]
mov rcx, r12
call fcn.180023f20
mov byte [rsi], 0x30
mov ecx, dword [rbp + 0x40]
mov dword [rsi + 1], ecx
lea ebx, [rcx + 5]
mov rcx, r12
call fcn.18002f934
mov edx, ebx
mov rcx, rsi
call fcn.18002c4d0
mov rcx, rsi
call fcn.18002f934
mov edx, dword [r13 + 8]
test edx, edx
je 0x180002374
xor esi, esi
mov edi, esi
mov qword [rbp - 0x28], rsi
mov r8d, esi
mov qword [rbp - 0x20], rsi
mov qword [rbp - 0x18], rsi
test edx, edx
je 0x18000217f
lea r9, [rbp - 0x28]
lea r8, [0x18004e270]
mov rcx, qword [r13 + 0x10]
call fcn.180020050
mov r8, qword [rbp - 0x20]
mov rdi, qword [rbp - 0x28]
mov rax, r8
sub rax, rdi
and rax, 0xfffffffffffffff8
cmp rax, 0x10
je 0x1800021d4
test rdi, rdi
je 0x180002374
cmp rdi, r8
je 0x1800021cc
nop dword [rax]
mov rdx, qword [rdi]
sub rdx, 0x18
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1800021be
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
add rdi, 8
cmp rdi, qword [rbp - 0x20]
jne 0x1800021a0
mov rdi, qword [rbp - 0x28]
mov rcx, rdi
jmp 0x18000236f
mov rcx, qword [rdi]
sub rcx, 0x18
call fcn.180001790
lea rbx, [rax + 0x18]
mov qword [rbp - 0x30], rbx
mov dword [rbp + 0x38], esi
lea r8, [rbp + 0x38]
lea rdx, [0x18004e268]
mov rcx, qword [rdi + 8]
call fcn.1800300e4
cmp dword [rbx - 0x10], 0
jne 0x18000225d
lea rdx, [rbx - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180002221
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rbx, qword [rbp - 0x28]
cmp rbx, qword [rbp - 0x20]
je 0x18000236c
nop
mov rdx, qword [rbx]
sub rdx, 0x18
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18000224e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
add rbx, 8
cmp rbx, qword [rbp - 0x20]
jne 0x180002230
jmp 0x180002368
mov eax, dword [rbp + 0x38]
dec eax
cmp eax, 0xfffd
ja 0x18000230c
add rbx, 0xffffffffffffffe8
mov rcx, rbx
call fcn.180001790
add rax, 0x18
mov qword [rbp + 0x48], rax
mov edx, dword [rbp + 0x38]
lea rcx, [rbp + 0x48]
call fcn.180002390
mov rcx, rbx
call fcn.180001790
add rax, 0x18
mov qword [rbp + 0x50], rax
mov edx, dword [rbp + 0x38]
lea rcx, [rbp + 0x50]
call fcn.18002c070
nop
or eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
dec eax
test eax, eax
jg 0x1800022c5
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rbx, qword [rbp - 0x28]
cmp rbx, qword [rbp - 0x20]
je 0x1800022fd
nop
mov rdx, qword [rbx]
sub rdx, 0x18
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1800022ef
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.WS2_32.dll_htonl + 8]
add rbx, 8
cmp rbx, qword [rbp - 0x20]
jne 0x1800022d0
mov rbx, qword [rbp - 0x28]
mov rcx, rbx
call fcn.18002f934
mov eax, 1
jmp 0x180002376
lea rdx, [rbx - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180002328
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rbx, qword [rbp - 0x28]
cmp rbx, qword [rbp - 0x20]
je 0x18000236c
nop word [rax + rax]
mov rdx, qword [rbx]
sub rdx, 0x18
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18000235e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
add rbx, 8
cmp rbx, qword [rbp - 0x20]
jne 0x180002340
mov rbx, qword [rbp - 0x28]
mov rcx, rbx
call fcn.18002f934
xor eax, eax
add rsp, 0x68
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
push rdi
sub rsp, 0x30
mov eax, dword [rcx + 8]
mov rdi, rcx
test eax, eax
je 0x1800032f4
add eax, 0x40
mov qword [rsp + 0x48], rbx
movsxd rcx, eax
call fcn.18002f604
mov r9, qword [rdi + 0x10]
mov r8d, dword [rdi + 4]
lea rdx, str._u_s
mov rcx, rax
mov rbx, rax
call fcn.18003069c
lea r8, [0x180003080]
mov r9, rbx
movsxd rcx, eax
xor eax, eax
xor edx, edx
mov byte [rcx + rbx], 0
mov qword [rsp + 0x28], rax
xor ecx, ecx
mov dword [rsp + 0x20], eax
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rcx, rax
mov rbx, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
jmp qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rdx, [0x18004e26c]
lea rcx, [rsp + 0x40]
call fcn.180001580
mov edx, dword [rdi + 4]
mov r8b, 0x18
mov rcx, rax
call fcn.180002d60
add rsp, 0x30
pop rdi
ret
push rdi
sub rsp, 0x40
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x68], rsi
mov rsi, rcx
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x58], rbx
lea rdx, [0x18004e29c]
test rdx, 0xffffffffffff0000
jne 0x1800036f7
movzx edi, dx
mov ecx, edi
call fcn.180001110
test rax, rax
je 0x18000370c
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.180001a00
jmp 0x180003707
mov r8d, 1
lea rcx, [rsp + 0x58]
call fcn.180001b40
mov rbx, qword [rsp + 0x58]
mov eax, dword [rsi + 8]
test eax, eax
jne 0x18000374e
lea rcx, [rbx - 0x18]
call fcn.180001790
add rax, 0x18
mov qword [rsp + 0x60], rax
mov r8b, 0x19
mov edx, dword [rsi + 4]
lea rcx, [rsp + 0x60]
call fcn.180002d60
nop
or eax, 0xffffffff
lock xadd dword [rbx - 8], eax
dec eax
test eax, eax
jg 0x1800037be
mov rcx, qword [rbx - 0x18]
lea rdx, [rbx - 0x18]
jmp 0x1800037b8
add eax, 0x41
movsxd rcx, eax
call fcn.18002f604
mov rdi, rax
mov r9, qword [rsi + 0x10]
mov r8d, dword [rsi + 4]
lea rdx, str._u_t_s_t
mov rcx, rax
call fcn.18003069c
movsxd rcx, eax
mov byte [rcx + rdi], 0
xor eax, eax
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], eax
mov r9, rdi
lea r8, [0x180003320]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
lea rdx, [rbx - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1800037be
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x68]
add rsp, 0x40
pop rdi
ret
sub rsp, 0x28
movsx eax, byte [rcx]
add eax, 0xfffffffe
cmp eax, 0x31
ja case.0x180005a05.7
lea r8, [0x180000000]
mov edx, dword [r8 + rax*4 + 0x5b78]
add rdx, r8
jmp rdx
add rsp, 0x28
jmp 0x180007cb0
add rsp, 0x28
jmp 0x180008c70
add rsp, 0x28
jmp 0x180008780
add rsp, 0x28
jmp 0x180006ca0
add rsp, 0x28
jmp 0x18002e5a0
add rsp, 0x28
jmp 0x18000a310
add rsp, 0x28
jmp 0x18002aea0
add rsp, 0x28
jmp 0x180002080
add rsp, 0x28
jmp 0x18002b150
add rsp, 0x28
jmp 0x180017090
add rsp, 0x28
jmp 0x18000ba20
add rsp, 0x28
jmp 0x18000b770
add rsp, 0x28
jmp 0x18001bb60
add rsp, 0x28
jmp 0x18000cc30
add rsp, 0x28
jmp 0x18000d2c0
add rsp, 0x28
jmp 0x180025110
add rsp, 0x28
jmp 0x180025fb0
add rsp, 0x28
jmp 0x180025be0
add rsp, 0x28
jmp 0x180003280
add rsp, 0x28
jmp 0x180003690
add rsp, 0x28
jmp 0x18001cf70
add rsp, 0x28
jmp 0x18001d390
add rsp, 0x28
jmp 0x180028660
add rsp, 0x28
jmp 0x180028800
add rsp, 0x28
jmp 0x1800289a0
add rsp, 0x28
jmp 0x180028b40
add rsp, 0x28
jmp 0x180018d30
add rsp, 0x28
jmp 0x180019320
add rsp, 0x28
jmp 0x180018ed0
add rsp, 0x28
jmp 0x180019150
add rsp, 0x28
jmp 0x180019550
add rsp, 0x28
jmp 0x180019830
add rsp, 0x28
jmp 0x1800199d0
add rsp, 0x28
jmp 0x18002f2a0
add rsp, 0x28
jmp 0x180029290
add rsp, 0x28
jmp 0x18001fdb0
add rsp, 0x28
jmp 0x18002ca40
call fcn.18002d7b0
int3
add rsp, 0x28
jmp 0x180027650
add rsp, 0x28
jmp 0x18000a750
call fcn.18000aac0
add rsp, 0x28
ret
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xa8
mov qword [rbp + 0xf], 0xfffffffffffffffe
mov rsi, rcx
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x51], rax
lea rdx, [0x18004e29c]
test rdx, 0xffffffffffff0000
jne 0x180006d11
movzx ebx, dx
mov ecx, ebx
call fcn.180001110
test rax, rax
je 0x180006d21
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp - 0x51]
call fcn.180001a00
jmp 0x180006d21
mov r8d, 1
lea rcx, [rbp - 0x51]
call fcn.180001b40
nop
mov edx, dword [rsi + 8]
or r15d, 0xffffffff
test edx, edx
je 0x180007114
xor r13d, r13d
mov qword [rbp - 0x39], r13
mov qword [rbp - 0x31], r13
mov qword [rbp - 0x29], r13
lea r9, [rbp - 0x39]
lea r8, [0x18004e270]
mov rcx, qword [rsi + 0x10]
call fcn.180020050
mov r11, qword [rbp - 0x31]
mov rdi, qword [rbp - 0x39]
sub r11, rdi
and r11, 0xfffffffffffffff8
cmp r11, 0x18
jne 0x1800070c9
mov rcx, qword [rdi]
sub rcx, r11
call fcn.180001790
lea rbx, [rax + 0x18]
mov qword [rbp - 0x59], rbx
mov rcx, qword [rdi + 8]
sub rcx, 0x18
call fcn.180001790
add rax, 0x18
mov qword [rbp - 0x41], rax
mov rcx, qword [rdi + 0x10]
sub rcx, 0x18
call fcn.180001790
lea rdi, [rax + 0x18]
mov qword [rbp - 0x49], rdi
mov r12d, r13d
mov qword [rbp - 0x19], r13
mov eax, r13d
mov qword [rbp - 0x11], rax
mov qword [rbp - 9], r13
mov edx, dword [rbx - 0x10]
test edx, edx
je 0x180006ddd
lea r9, [rbp - 0x19]
lea r8, [0x18004e344]
mov rcx, rbx
call fcn.180020050
mov rax, qword [rbp - 0x11]
mov r12, qword [rbp - 0x19]
mov dword [rbp + 0x6f], r13d
mov rcx, rax
sub rcx, r12
sar rcx, 3
mov qword [rbp + 7], rcx
test rcx, rcx
je 0x180007023
nop dword [rax + rax]
mov r14, qword [r12]
lea rcx, [r14 - 0x18]
lea rsi, [rbx - 0x18]
cmp rcx, rsi
je 0x180006f40
cmp dword [rsi + 0x10], 0
jl 0x180006e57
mov rax, qword [rsi]
cmp qword [rcx], rax
jne 0x180006e57
call fcn.180001790
mov rbx, rax
mov ecx, r15d
lock xadd dword [rsi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x180006e46
mov rcx, qword [rsi]
mov r8, qword [rcx]
mov rdx, rsi
call qword [rreloc.WS2_32.dll_htonl + 8]
add rbx, 0x18
mov qword [rbp - 0x59], rbx
mov rdi, qword [rbp - 0x49]
jmp 0x180006f40
movsxd r13, dword [r14 - 0x10]
test r13d, r13d
jne 0x180006ebe
mov r13, qword [rsi]
cmp dword [rsi + 8], 0
je 0x180006f3c
cmp dword [rsi + 0x10], 0
jge 0x180006e8c
cmp dword [rbx - 0xc], 0
jl 0x180006feb
mov dword [rbx - 0x10], 0
mov byte [rbx], 0
jmp 0x180006f3c
mov eax, r15d
lock xadd dword [rsi + 0x10], eax
dec eax
test eax, eax
jg 0x180006ea6
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + reloc.WS2_32.dll_htonl]
mov rax, qword [r13]
mov rcx, r13
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x59], rbx
mov rdi, qword [rbp - 0x49]
jmp 0x180006f3c
test r14, r14
je 0x18000700c
mov eax, dword [rbx - 0x10]
mov dword [rbp + 0x7f], eax
mov r15, r14
sub r15, rbx
test r13d, r13d
js 0x180007001
mov ecx, 1
sub ecx, dword [rsi + 0x10]
mov eax, dword [rsi + 0xc]
sub eax, r13d
or eax, ecx
jge 0x180006efe
mov edx, r13d
lea rcx, [rbp - 0x59]
call fcn.180001ef0
mov rbx, qword [rbp - 0x59]
mov eax, dword [rbp + 0x7f]
mov rsi, r13
movsxd rdx, dword [rbx - 0xc]
mov r9, r13
mov rcx, rbx
cmp r15, rax
ja 0x180006f1e
lea r8, [r15 + rbx]
call fcn.18002f970
jmp 0x180006f26
mov r8, r14
call fcn.18002feb4
cmp r13d, dword [rbx - 0xc]
jg 0x180006ff6
mov dword [rbx - 0x10], r13d
mov byte [rsi + rbx], 0
or r15d, 0xffffffff
mov r13d, dword [rbp + 0x6f]
xor edx, edx
mov rcx, rbx
call fcn.180030814
test eax, eax
jne 0x180006fd2
cmp dword [rdi - 0x10], eax
jle 0x180006fd2
lea r8d, [rax + 1]
lea rdx, [0x18004e26c]
lea rcx, [rbp - 0x51]
call fcn.180001b40
mov rax, qword [rbp + 0x67]
mov r11d, dword [rax + 8]
add r11d, 0x20
movsxd rcx, r11d
call fcn.18002f604
mov rsi, rax
mov qword [rsp + 0x20], rdi
mov r9, qword [rbp - 0x41]
mov r8, rbx
lea rdx, str._s_t_s_t_s
mov rcx, rax
call fcn.18003069c
movsxd rcx, eax
mov byte [rcx + rsi], 0
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov r9, rsi
lea r8, [0x180006a10]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
inc r13d
mov dword [rbp + 0x6f], r13d
add r12, 8
movsxd rax, r13d
cmp rax, qword [rbp + 7]
jae 0x180007017
jmp 0x180006e00
mov ecx, 0x80070057
call fcn.180001050
int3
mov ecx, 0x80070057
call fcn.180001050
int3
mov ecx, 0x80070057
call fcn.180001050
int3
mov ecx, 0x80070057
call fcn.180001050
int3
mov rax, qword [rbp - 0x11]
mov r12, qword [rbp - 0x19]
mov rsi, qword [rbp + 0x67]
test r12, r12
je 0x18000706a
cmp r12, rax
je 0x180007061
nop dword [rax]
mov rdx, qword [r12]
sub rdx, 0x18
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18000704f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
add r12, 8
cmp r12, qword [rbp - 0x11]
jne 0x180007030
mov rdi, qword [rbp - 0x49]
mov r12, qword [rbp - 0x19]
mov rcx, r12
call fcn.18002f934
nop
lea rdx, [rdi - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180007086
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rbp - 0x41]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1800070a6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rbp - 0x59]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1800070c5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rdi, qword [rbp - 0x39]
test rdi, rdi
je 0x180007114
cmp rdi, qword [rbp - 0x31]
je 0x18000710c
nop word [rax + rax]
mov rdx, qword [rdi]
sub rdx, 0x18
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1800070fe
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
add rdi, 8
cmp rdi, qword [rbp - 0x31]
jne 0x1800070e0
mov rdi, qword [rbp - 0x39]
mov rcx, rdi
call fcn.18002f934
mov ebx, dword [rsi + 4]
mov rax, qword [0x18005fdf8]
mov edi, dword [rax - 0x10]
lea ecx, [rdi + 0xe]
call fcn.18002f604
mov r12, rax
mov byte [rax], 0x27
mov dword [rax + 1], ebx
mov dword [rax + 5], edi
mov dword [rax + 9], 1
mov r8d, edi
lea rcx, [rax + 0xd]
mov rdx, qword [0x18005fdf8]
call fcn.18002fb80
add edi, 0xd
mov rbx, qword [rbp - 0x51]
movzx ecx, byte [rbx]
mov byte [rdi + r12], cl
lea eax, [rdi*4 + 0x804]
mov dword [rbp + 0x77], eax
inc eax
movsxd rcx, eax
call fcn.18002f604
mov rsi, rax
lea r9, [rax + 5]
lea rax, [rbp + 0x77]
mov qword [rsp + 0x20], rax
lea r8, [0x18004e7a0]
lea edx, [rdi + 1]
mov rcx, r12
call fcn.180023f20
mov byte [rsi], 0x30
mov ecx, dword [rbp + 0x77]
mov dword [rsi + 1], ecx
lea edi, [rcx + 5]
mov rcx, r12
call fcn.18002f934
mov edx, edi
mov rcx, rsi
call fcn.18002c4d0
mov rcx, rsi
call fcn.18002f934
nop
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], r15d
dec r15d
test r15d, r15d
jg 0x1800071d5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
add rsp, 0xa8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
mov rbp, rsp
sub rsp, 0x70
mov qword [rbp - 0x40], 0xfffffffffffffffe
xor r13d, r13d
mov qword [rbp - 0x28], r13
mov qword [rbp - 0x20], r13
mov qword [rbp - 0x18], r13
mov dword [rbp + 0x48], r13d
cmp dword [rcx + 8], r13d
jne 0x180007cf6
lea rdx, [rbp + 0x48]
lea rcx, [rbp - 0x28]
call fcn.1800078c0
jmp 0x180007d13
mov rdx, qword [rcx + 0x10]
lea rcx, [rbp - 0x38]
call fcn.180001580
lea r8, [rbp + 0x48]
lea rdx, [rbp - 0x28]
mov rcx, rax
call fcn.180008070
cmp dword [rbp + 0x48], 0
jne 0x180007efb
mov dword [rbp + 0x48], 0x100
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp + 0x58], rbx
lea rdx, [0x18004e29c]
test rdx, 0xffffffffffff0000
jne 0x180007d6d
movzx edi, dx
mov ecx, edi
call fcn.180001110
test rax, rax
je 0x180007d80
mov r8d, edi
mov rdx, rax
lea rcx, [rbp + 0x58]
call fcn.180001a00
jmp 0x180007d7c
mov r8d, 1
lea rcx, [rbp + 0x58]
call fcn.180001b40
mov rbx, qword [rbp + 0x58]
lea rax, [rbp + 0x58]
mov rcx, qword [rbp - 0x28]
mov rdi, qword [rbp - 0x20]
cmp rax, rdi
jae 0x180007e49
lea rax, [rbp + 0x58]
cmp rcx, rax
ja 0x180007e49
lea rsi, [rbp + 0x58]
sub rsi, rcx
sar rsi, 3
mov rdx, qword [rbp - 0x18]
cmp rdi, rdx
jne 0x180007e23
mov rax, rdi
sub rax, rcx
sar rax, 3
movabs r8, 0x1ffffffffffffffe
cmp rax, r8
jbe 0x180007ddc
lea rcx, str.vector_T__too_long
call fcn.18002f51c
int3
inc rax
sub rdx, rcx
sar rdx, 3
cmp rax, rdx
jbe 0x180007e23
mov r8, rdx
shr r8, 1
movabs rcx, 0x1fffffffffffffff
sub rcx, r8
cmp rcx, rdx
jae 0x180007e08
mov rdx, r13
jmp 0x180007e0b
add rdx, r8
cmp rdx, rax
cmovb rdx, rax
lea rcx, [rbp - 0x28]
call fcn.1800090d0
mov rdi, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x28]
mov qword [rbp + 0x50], rdi
mov qword [rbp - 0x30], rdi
test rdi, rdi
je 0x180007e44
mov rcx, qword [rcx + rsi*8]
sub rcx, 0x18
call fcn.180001790
add rax, 0x18
mov qword [rdi], rax
jmp 0x180007ed8
mov rdx, qword [rbp - 0x18]
cmp rdi, rdx
jne 0x180007ebb
mov rax, rdi
sub rax, rcx
sar rax, 3
movabs r8, 0x1ffffffffffffffe
cmp rax, r8
jbe 0x180007e78
lea rcx, str.vector_T__too_long
call fcn.18002f51c
int3
inc rax
sub rdx, rcx
sar rdx, 3
cmp rax, rdx
jbe 0x180007ebb
mov r8, rdx
shr r8, 1
movabs rcx, 0x1fffffffffffffff
sub rcx, r8
cmp rcx, rdx
jae 0x180007ea4
mov rdx, r13
jmp 0x180007ea7
add rdx, r8
cmp rdx, rax
cmovb rdx, rax
lea rcx, [rbp - 0x28]
call fcn.1800090d0
mov rdi, qword [rbp - 0x20]
mov qword [rbp + 0x50], rdi
mov qword [rbp - 0x30], rdi
test rdi, rdi
je 0x180007ed8
lea rcx, [rbx - 0x18]
call fcn.180001790
add rax, 0x18
mov qword [rdi], rax
add rdi, 8
mov qword [rbp - 0x20], rdi
lea rdx, [rbx - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180007efb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov ecx, dword [rbp + 0x48]
call fcn.18002f604
mov r14, rax
mov byte [rax], 0
mov rdi, qword [rbp - 0x20]
mov r12, qword [rbp - 0x28]
sub rdi, r12
sar rdi, 3
test rdi, rdi
je 0x180007f52
mov esi, r13d
mov rbx, r12
mov rdx, qword [rbx]
movsxd r8, dword [rdx - 0x10]
mov ecx, r13d
add rcx, r14
call fcn.18002fb80
mov r11, qword [rbx]
add r13d, dword [r11 - 0x10]
inc esi
add rbx, 8
movsxd rax, esi
cmp rax, rdi
jb 0x180007f23
mov eax, r13d
mov byte [rax + r14], 0
mov rax, qword [rbp + 0x40]
mov ebx, dword [rax + 4]
mov rax, qword [0x18005fdf8]
mov edi, dword [rax - 0x10]
lea ecx, [rdi + r13 + 0xd]
call fcn.18002f604
mov rsi, rax
mov byte [rax], 2
mov dword [rax + 1], ebx
mov dword [rax + 5], edi
mov dword [rax + 9], r13d
mov r8d, edi
lea rcx, [rax + 0xd]
mov rdx, qword [0x18005fdf8]
call fcn.18002fb80
lea ebx, [rdi + 0xd]
mov r8d, r13d
mov ecx, ebx
add rcx, rsi
mov rdx, r14
call fcn.18002fb80
add ebx, r13d
lea eax, [rbx*4 + 0x800]
mov dword [rbp + 0x50], eax
inc eax
movsxd rcx, eax
call fcn.18002f604
mov rdi, rax
lea r9, [rax + 5]
lea rax, [rbp + 0x50]
mov qword [rsp + 0x20], rax
lea r8, [0x18004e7a0]
mov edx, ebx
mov rcx, rsi
call fcn.180023f20
mov byte [rdi], 0x30
mov ecx, dword [rbp + 0x50]
mov dword [rdi + 1], ecx
lea ebx, [rcx + 5]
mov rcx, rsi
call fcn.18002f934
mov edx, ebx
mov rcx, rdi
call fcn.18002c4d0
mov rcx, rdi
call fcn.18002f934
mov rcx, r14
call fcn.18002f934
nop
test r12, r12
je 0x180008055
cmp r12, qword [rbp - 0x20]
je 0x18000804d
nop word [rax + rax]
mov rdx, qword [r12]
sub rdx, 0x18
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18000803f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
add r12, 8
cmp r12, qword [rbp - 0x20]
jne 0x180008020
mov r12, qword [rbp - 0x28]
mov rcx, r12
call fcn.18002f934
add rsp, 0x70
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0x98
mov qword [rbp - 0x31], 0xfffffffffffffffe
mov rdi, rcx
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x49], rax
lea rax, [0x18004e26c]
test rax, 0xffffffffffff0000
jne 0x1800087f0
movzx ebx, ax
mov ecx, ebx
call fcn.180001110
test rax, rax
je 0x180008803
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp - 0x49]
call fcn.180001a00
jmp 0x180008803
mov r8d, 1
mov rdx, rax
lea rcx, [rbp - 0x49]
call fcn.180001b40
nop
xor r12d, r12d
mov r13d, r12d
mov qword [rbp - 0x29], r12
mov qword [rbp - 0x21], r12
mov qword [rbp - 0x19], r12
mov edx, dword [rdi + 8]
or r15d, 0xffffffff
test edx, edx
je 0x180008b48
lea r9, [rbp - 0x29]
lea r8, [0x18004e270]
mov rcx, qword [rdi + 0x10]
call fcn.180020050
mov r11, qword [rbp - 0x21]
mov r13, qword [rbp - 0x29]
sub r11, r13
and r11, 0xfffffffffffffff8
cmp r11, 0x10
jne 0x180008b48
mov rcx, qword [r13]
sub rcx, 0x18
call fcn.180001790
lea rbx, [rax + 0x18]
mov qword [rbp - 0x41], rbx
mov esi, r12d
mov qword [rbp - 9], r12
mov eax, r12d
mov qword [rbp - 1], rax
mov qword [rbp + 7], r12
mov edx, dword [rbx - 0x10]
test edx, edx
je 0x18000889a
lea r9, [rbp - 9]
lea r8, [0x18004e344]
mov rcx, rbx
call fcn.180020050
mov rax, qword [rbp - 1]
mov rsi, qword [rbp - 9]
mov dword [rbp + 0x6f], r12d
mov rcx, rax
sub rcx, rsi
sar rcx, 3
mov qword [rbp - 0x39], rcx
test rcx, rcx
je 0x180008ad8
nop word [rax + rax]
mov r14, qword [rsi]
lea rcx, [r14 - 0x18]
lea rdi, [rbx - 0x18]
cmp rcx, rdi
je 0x1800089ff
cmp dword [rdi + 0x10], 0
jl 0x180008916
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x180008916
call fcn.180001790
mov rbx, rax
mov ecx, r15d
lock xadd dword [rdi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x180008905
mov rcx, qword [rdi]
mov r8, qword [rcx]
mov rdx, rdi
call qword [rreloc.WS2_32.dll_htonl + 8]
add rbx, 0x18
mov qword [rbp - 0x41], rbx
mov r13, qword [rbp - 0x29]
jmp 0x1800089ff
movsxd r12, dword [r14 - 0x10]
test r12d, r12d
jne 0x18000897d
mov r12, qword [rdi]
cmp dword [rdi + 8], 0
je 0x1800089fb
cmp dword [rdi + 0x10], 0
jge 0x18000894b
cmp dword [rbx - 0xc], 0
jl 0x180008aa0
mov dword [rbx - 0x10], 0
mov byte [rbx], 0
jmp 0x1800089fb
mov eax, r15d
lock xadd dword [rdi + 0x10], eax
dec eax
test eax, eax
jg 0x180008965
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.WS2_32.dll_htonl]
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x41], rbx
mov r13, qword [rbp - 0x29]
jmp 0x1800089fb
test r14, r14
je 0x180008ac1
mov eax, dword [rbx - 0x10]
mov dword [rbp + 0x7f], eax
mov r15, r14
sub r15, rbx
test r12d, r12d
js 0x180008ab6
mov ecx, 1
sub ecx, dword [rdi + 0x10]
mov eax, dword [rdi + 0xc]
sub eax, r12d
or eax, ecx
jge 0x1800089bd
mov edx, r12d
lea rcx, [rbp - 0x41]
call fcn.180001ef0
mov rbx, qword [rbp - 0x41]
mov eax, dword [rbp + 0x7f]
mov rdi, r12
movsxd rdx, dword [rbx - 0xc]
mov r9, r12
mov rcx, rbx
cmp r15, rax
ja 0x1800089dd
lea r8, [r15 + rbx]
call fcn.18002f970
jmp 0x1800089e5
mov r8, r14
call fcn.18002feb4
cmp r12d, dword [rbx - 0xc]
jg 0x180008aab
mov dword [rbx - 0x10], r12d
mov byte [rdi + rbx], 0
or r15d, 0xffffffff
mov r12d, dword [rbp + 0x6f]
lea rdx, [0x18004e29c]
mov rcx, qword [r13 + 8]
call fcn.180030ab0
test eax, eax
sete al
mov rcx, rbx
test al, al
je 0x180008a4b
xor edx, edx
call fcn.180030814
test eax, eax
jne 0x180008a87
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x180008a87
test al, 2
jne 0x180008a71
or eax, 2
mov edx, eax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SetFileAttributesA]
cmp eax, 0xffffffff
jmp 0x180008a6f
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0x80
je 0x180008a87
test al, al
js 0x180008a71
mov edx, 0x80
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SetFileAttributesA]
cmp eax, 0x80
je 0x180008a87
mov r8d, 1
lea rdx, [0x18004e26c]
lea rcx, [rbp - 0x49]
call fcn.180001b40
inc r12d
mov dword [rbp + 0x6f], r12d
add rsi, 8
movsxd rax, r12d
cmp rax, qword [rbp - 0x39]
jae 0x180008acc
jmp 0x1800088c0
mov ecx, 0x80070057
call fcn.180001050
int3
mov ecx, 0x80070057
call fcn.180001050
int3
mov ecx, 0x80070057
call fcn.180001050
int3
mov ecx, 0x80070057
call fcn.180001050
int3
mov rax, qword [rbp - 1]
mov rsi, qword [rbp - 9]
mov rdi, qword [rbp + 0x67]
test rsi, rsi
je 0x180008b29
cmp rsi, rax
je 0x180008b20
nop word [rax + rax]
mov rdx, qword [rsi]
sub rdx, 0x18
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180008b0e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
add rsi, 8
cmp rsi, qword [rbp - 1]
jne 0x180008af0
mov rbx, qword [rbp - 0x41]
mov rsi, qword [rbp - 9]
mov rcx, rsi
call fcn.18002f934
nop
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180008b44
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov r13, qword [rbp - 0x29]
mov ebx, dword [rdi + 4]
mov rax, qword [0x18005fdf8]
mov edi, dword [rax - 0x10]
lea ecx, [rdi + 0xe]
call fcn.18002f604
mov r12, rax
mov byte [rax], 3
mov dword [rax + 1], ebx
mov dword [rax + 5], edi
mov dword [rax + 9], 1
mov r8d, edi
lea rcx, [rax + 0xd]
mov rdx, qword [0x18005fdf8]
call fcn.18002fb80
add edi, 0xd
mov rcx, qword [rbp - 0x49]
movzx r8d, byte [rcx]
mov byte [rdi + r12], r8b
lea eax, [rdi*4 + 0x804]
mov dword [rbp + 0x77], eax
inc eax
movsxd rcx, eax
call fcn.18002f604
mov rsi, rax
lea r9, [rax + 5]
lea rax, [rbp + 0x77]
mov qword [rsp + 0x20], rax
lea r8, [0x18004e7a0]
lea edx, [rdi + 1]
mov rcx, r12
call fcn.180023f20
mov byte [rsi], 0x30
mov ecx, dword [rbp + 0x77]
mov dword [rsi + 1], ecx
lea ebx, [rcx + 5]
mov rcx, r12
call fcn.18002f934
mov edx, ebx
mov rcx, rsi
call fcn.18002c4d0
mov rcx, rsi
call fcn.18002f934
nop
test r13, r13
je 0x180008c36
cmp r13, qword [rbp - 0x21]
je 0x180008c2d
nop word [rax + rax]
mov rdx, qword [r13]
sub rdx, 0x18
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180008c1f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
add r13, 8
cmp r13, qword [rbp - 0x21]
jne 0x180008c00
mov r13, qword [rbp - 0x29]
mov rcx, r13
call fcn.18002f934
nop
mov rdx, qword [rbp - 0x49]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r15d
dec r15d
test r15d, r15d
jg 0x180008c55
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
add rsp, 0x98
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x60
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov r14, rcx
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xb0], rax
lea rdx, [0x18004e26c]
test rdx, 0xffffffffffff0000
jne 0x180008cdc
movzx edi, dx
mov ecx, edi
call fcn.180001110
test rax, rax
je 0x180008cf0
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0xb0]
call fcn.180001a00
jmp 0x180008cf0
mov r8d, 1
lea rcx, [rsp + 0xb0]
call fcn.180001b40
nop
mov edx, dword [r14 + 8]
or r12, 0xffffffffffffffff
test edx, edx
je 0x180008e96
xor ebp, ebp
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x50], rbp
lea r9, [rsp + 0x40]
lea r8, [0x18004e344]
mov rcx, qword [r14 + 0x10]
call fcn.180020050
mov rax, qword [rsp + 0x48]
mov r13, rax
mov rsi, qword [rsp + 0x40]
sub r13, rsi
sar r13, 3
test r13, r13
je 0x180008e54
mov rdi, qword [rsi]
mov rcx, qword [rdi - 0x18]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rdi - 8], 0
jl 0x180008d69
cmp rax, qword [rdi - 0x18]
jne 0x180008d69
lea rbx, [rdi - 0x18]
lock inc dword [rdi - 8]
jmp 0x180008da0
mov rax, qword [rax]
mov r8d, 1
mov edx, dword [rdi - 0x10]
call qword [rax]
mov rbx, rax
test rax, rax
je 0x180008e4e
mov ecx, dword [rdi - 0x10]
mov dword [rax + 8], ecx
mov ecx, dword [rdi - 0x10]
inc ecx
movsxd rdx, ecx
mov r8, rdi
lea rcx, [rax + 0x18]
mov r9, rdx
call fcn.18002feb4
add rbx, 0x18
mov qword [rsp + 0x38], rbx
xor edx, edx
mov rcx, rbx
call fcn.180030814
test eax, eax
je 0x180008db9
jmp 0x180008e15
xor eax, eax
mov rcx, r12
mov rdi, rbx
repne scasb al, byte [rdi]
not rcx
dec rcx
je 0x180008df2
xor edx, edx
mov rcx, rbx
call fcn.180030814
test eax, eax
jne 0x180008df2
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0x10
je 0x180008df2
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x180008e15
lea rcx, [rbx - 0x18]
call fcn.180001790
add rax, 0x18
mov qword [rsp + 0xb8], rax
lea rcx, [rsp + 0xb8]
call fcn.180020d20
nop
lea rdx, [rbx - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180008e30
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
inc ebp
add rsi, 8
movsxd rax, ebp
cmp rax, r13
jb 0x180008d43
mov rax, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x40]
jmp 0x180008e54
call fcn.180001c20
nop
test rsi, rsi
je 0x180008e96
cmp rsi, rax
je 0x180008e8e
nop
mov rdx, qword [rsi]
sub rdx, 0x18
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180008e7e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
add rsi, 8
cmp rsi, qword [rsp + 0x48]
jne 0x180008e60
mov rsi, qword [rsp + 0x40]
mov rcx, rsi
call fcn.18002f934
mov edi, dword [r14 + 4]
mov rax, qword [0x18005fdf8]
mov ebx, dword [rax - 0x10]
lea ecx, [rbx + 0xe]
call fcn.18002f604
mov rbp, rax
mov byte [rax], 4
mov dword [rax + 1], edi
mov dword [rax + 5], ebx
mov dword [rax + 9], 1
mov r8d, ebx
lea rcx, [rax + 0xd]
mov rdx, qword [0x18005fdf8]
call fcn.18002fb80
add ebx, 0xd
mov rdi, qword [rsp + 0xb0]
movzx ecx, byte [rdi]
mov byte [rbx + rbp], cl
lea eax, [rbx*4 + 0x804]
mov dword [rsp + 0xa8], eax
inc eax
movsxd rcx, eax
call fcn.18002f604
mov rsi, rax
lea r9, [rax + 5]
lea rax, [rsp + 0xa8]
mov qword [rsp + 0x20], rax
lea r8, [0x18004e7a0]
lea edx, [rbx + 1]
mov rcx, rbp
call fcn.180023f20
mov byte [rsi], 0x30
mov ecx, dword [rsp + 0xa8]
mov dword [rsi + 1], ecx
lea ebx, [rcx + 5]
mov rcx, rbp
call fcn.18002f934
mov edx, ebx
mov rcx, rsi
call fcn.18002c4d0
mov rcx, rsi
call fcn.18002f934
nop
lea rdx, [rdi - 0x18]
lock xadd dword [rdx + 0x10], r12d
dec r12d
test r12d, r12d
jg 0x180008f67
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
add rsp, 0x60
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
push rbp
push rsi
push rdi
push r12
push r13
sub rsp, 0x40
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x70], rbx
mov r13, rcx
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x80], rbx
lea rdx, [0x18004e26c]
test rdx, 0xffffffffffff0000
jne 0x18000a37e
movzx edi, dx
mov ecx, edi
call fcn.180001110
test rax, rax
je 0x18000a399
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x80]
call fcn.180001a00
jmp 0x18000a391
mov r8d, 1
lea rcx, [rsp + 0x80]
call fcn.180001b40
mov rbx, qword [rsp + 0x80]
mov edi, dword [r13 + 4]
mov rax, qword [0x18005fdf8]
mov esi, dword [rax - 0x10]
lea ecx, [rsi + 0xe]
call fcn.18002f604
mov r12, rax
mov byte [rax], 5
mov dword [rax + 1], edi
mov dword [rax + 5], esi
mov dword [rax + 9], 1
mov r8d, esi
lea rcx, [rax + 0xd]
mov rdx, qword [0x18005fdf8]
call fcn.18002fb80
add esi, 0xd
movzx ecx, byte [rbx]
mov byte [rsi + r12], cl
lea eax, [rsi*4 + 0x804]
mov dword [rsp + 0x78], eax
inc eax
movsxd rcx, eax
call fcn.18002f604
mov rbp, rax
lea r9, [rax + 5]
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
lea r8, [0x18004e7a0]
lea edx, [rsi + 1]
mov rcx, r12
call fcn.180023f20
mov byte [rbp], 0x30
mov ecx, dword [rsp + 0x78]
mov dword [rbp + 1], ecx
lea edi, [rcx + 5]
mov rcx, r12
call fcn.18002f934
mov edx, edi
mov rcx, rbp
call fcn.18002c4d0
mov rcx, rbp
call fcn.18002f934
mov ecx, dword [r13 + 8]
inc ecx
call fcn.18002f604
mov rdi, rax
mov r8d, dword [r13 + 8]
mov byte [r8 + rax], 0
mov rdx, qword [r13 + 0x10]
mov rcx, rax
call fcn.18002fb80
xor r11d, r11d
mov qword [rsp + 0x28], r11
mov dword [rsp + 0x20], r11d
mov r9, rdi
lea r8, [0x180009c80]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
lea rdx, [rbx - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18000a4a8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rbx, qword [rsp + 0x70]
add rsp, 0x40
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x78
mov qword [rbp - 0x38], 0xfffffffffffffffe
mov rbx, rcx
xor esi, esi
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x48], rax
mov edx, dword [rbx + 8]
or r14, 0xffffffffffffffff
test edx, edx
je 0x18000a984
mov qword [rbp - 0x28], rsi
mov qword [rbp - 0x20], rsi
mov qword [rbp - 0x18], rsi
lea r9, [rbp - 0x28]
lea r8, [0x18004e270]
mov rcx, qword [rbx + 0x10]
call fcn.180020050
mov rdx, qword [rbp - 0x20]
mov rdi, qword [rbp - 0x28]
sub rdx, rdi
and rdx, 0xfffffffffffffff8
cmp rdx, 0x10
jne 0x18000a937
mov rcx, qword [rdi]
sub rcx, 0x18
call fcn.180001790
lea rbx, [rax + 0x18]
mov qword [rbp - 0x30], rbx
mov dword [rbp + 0x50], esi
lea r8, [rbp + 0x50]
lea rdx, [0x18004e268]
mov rcx, qword [rdi + 8]
call fcn.1800300e4
xor edx, edx
mov rcx, rbx
call fcn.180030814
test eax, eax
jne 0x18000a90f
mov rcx, rbx
call fcn.180021ff0
test rax, rax
je 0x18000a908
mov ecx, dword [rbp + 0x50]
cmp rax, rcx
ja 0x18000a901
mov dword [rbp + 0x58], esi
lea rdx, [0x18004e4a0]
mov rcx, rbx
call fcn.180030e68
test rax, rax
je 0x18000a8fa
mov rdx, rax
lea rcx, [rbp + 0x58]
call fcn.180020390
mov r15, rax
test rax, rax
je 0x18000a8fa
movsxd r12, dword [rbp + 0x58]
test r12d, r12d
je 0x18000a8eb
lea edi, [r12 + r12]
lea ecx, [rdi + 1]
call fcn.18002f604
mov r13, rax
mov byte [rdi + rax], sil
mov edi, esi
mov qword [rbp + 0x60], r12
test r12d, r12d
jle 0x18000a8b8
mov r12d, esi
mov r14, qword [rbp + 0x60]
movzx r8d, byte [rdi + r15]
movsxd rcx, r12d
add rcx, r13
lea rdx, str._02X
call fcn.18003069c
add r12d, 2
inc rdi
cmp rdi, r14
jl 0x18000a891
or r14, 0xffffffffffffffff
test r13, r13
je 0x18000a8cd
xor eax, eax
mov rcx, r14
mov rdi, r13
repne scasb al, byte [rdi]
not rcx
lea esi, [rcx - 1]
mov r8d, esi
mov rdx, r13
lea rcx, [rbp - 0x48]
call fcn.180001b40
mov rcx, r13
call fcn.18002f934
mov esi, 5
jmp 0x18000a8f0
mov esi, 2
mov rcx, r15
call fcn.18002f934
jmp 0x18000a914
mov esi, 3
jmp 0x18000a914
mov esi, 4
jmp 0x18000a914
mov esi, 2
jmp 0x18000a914
mov esi, 1
lea rdx, [rbx - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18000a92f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rbx, qword [rbp + 0x48]
mov rdi, qword [rbp - 0x28]
test rdi, rdi
je 0x18000a984
cmp rdi, qword [rbp - 0x20]
je 0x18000a97c
nop word [rax + rax]
mov rdx, qword [rdi]
sub rdx, 0x18
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18000a96e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
add rdi, 8
cmp rdi, qword [rbp - 0x20]
jne 0x18000a950
mov rdi, qword [rbp - 0x28]
mov rcx, rdi
call fcn.18002f934
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x40], rax
mov r9, qword [rbp - 0x48]
mov r8d, esi
lea rdx, [0x18004e3e4]
lea rcx, [rbp - 0x40]
call fcn.180002980
mov rdi, qword [rbp - 0x40]
mov r12d, dword [rdi - 0x10]
mov ebx, dword [rbx + 4]
mov rax, qword [0x18005fdf8]
mov esi, dword [rax - 0x10]
lea ecx, [rsi + r12 + 0xd]
call fcn.18002f604
mov r13, rax
mov byte [rax], gethostbyname
mov dword [rax + 1], ebx
mov dword [rax + 5], esi
mov dword [rax + 9], r12d
mov r8d, esi
lea rcx, [rax + 0xd]
mov rdx, qword [0x18005fdf8]
call fcn.18002fb80
lea ebx, [rsi + 0xd]
mov r8d, r12d
mov ecx, ebx
add rcx, r13
mov rdx, rdi
call fcn.18002fb80
add ebx, r12d
lea eax, [rbx*4 + 0x800]
mov dword [rbp + 0x60], eax
inc eax
movsxd rcx, eax
call fcn.18002f604
mov rsi, rax
lea r9, [rax + 5]
lea rax, [rbp + 0x60]
mov qword [rsp + 0x20], rax
lea r8, [0x18004e7a0]
mov edx, ebx
mov rcx, r13
call fcn.180023f20
mov byte [rsi], 0x30
mov ecx, dword [rbp + 0x60]
mov dword [rsi + 1], ecx
lea ebx, [rcx + 5]
mov rcx, r13
call fcn.18002f934
mov edx, ebx
mov rcx, rsi
call fcn.18002c4d0
mov rcx, rsi
call fcn.18002f934
nop
lea rdx, [rdi - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18000aa84
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rbp - 0x48]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r14d
dec r14d
test r14d, r14d
jg 0x18000aaa3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
push rbp
push rsi
push rdi
push r12
push r13
sub rsp, 0x50
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov qword [rsp + 0x80], rbx
mov rsi, rcx
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x98], rax
lea rdx, [0x18004e29c]
test rdx, 0xffffffffffff0000
jne 0x18000b7e1
movzx edi, dx
mov ecx, edi
call fcn.180001110
test rax, rax
je 0x18000b7f5
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x98]
call fcn.180001a00
jmp 0x18000b7f5
mov r8d, 1
lea rcx, [rsp + 0x98]
call fcn.180001b40
nop
or r13, 0xffffffffffffffff
cmp dword [rsi + 8], 0
je 0x18000b926
mov rbx, qword [rsi + 0x10]
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x30], rdi
test rbx, rbx
je 0x18000b862
test rbx, 0xffffffffffff0000
jne 0x18000b850
movzx ebx, bx
mov ecx, ebx
call fcn.180001110
test rax, rax
je 0x18000b879
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.180001a00
jmp 0x18000b874
xor eax, eax
mov rcx, r13
mov rdi, rbx
repne scasb al, byte [rdi]
not rcx
dec rcx
jmp 0x18000b864
xor ecx, ecx
mov r8d, ecx
mov rdx, rbx
lea rcx, [rsp + 0x30]
call fcn.180001b40
mov rdi, qword [rsp + 0x30]
lea rcx, [rdi - 0x18]
call fcn.180001790
add rax, 0x18
mov qword [rsp + 0x38], rax
lea rcx, [rsp + 0x38]
call fcn.1800228c0
test eax, eax
je 0x18000b8cf
cmp dword [rdi - 0x10], 0
jle 0x18000b8cf
mov dword [rsp + 0x88], 0
lea r8, [rsp + 0x88]
lea rdx, [0x18004e268]
mov rcx, rdi
call fcn.1800300e4
mov ecx, dword [rsp + 0x88]
call fcn.180022c40
jmp 0x18000b8eb
lea rcx, [rdi - 0x18]
call fcn.180001790
add rax, 0x18
mov qword [rsp + 0x40], rax
lea rcx, [rsp + 0x40]
call fcn.180021ab0
test eax, eax
je 0x18000b90a
mov r8d, 1
lea rdx, [0x18004e26c]
lea rcx, [rsp + 0x98]
call fcn.180001b40
nop
mov eax, r13d
lock xadd dword [rdi - 8], eax
dec eax
test eax, eax
jg 0x18000b926
mov rcx, qword [rdi - 0x18]
mov rax, qword [rcx]
lea rdx, [rdi - 0x18]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rdi, qword [rsp + 0x98]
mov ebp, dword [rdi - 0x10]
mov ebx, dword [rsi + 4]
mov rax, qword [0x18005fdf8]
mov esi, dword [rax - 0x10]
lea ecx, [rsi + rbp + 0xd]
call fcn.18002f604
mov r12, rax
mov byte [rax], reloc.WS2_32.dll_select
mov dword [rax + 1], ebx
mov dword [rax + 5], esi
mov dword [rax + 9], ebp
mov r8d, esi
lea rcx, [rax + 0xd]
mov rdx, qword [0x18005fdf8]
call fcn.18002fb80
lea ebx, [rsi + 0xd]
mov r8d, ebp
mov ecx, ebx
add rcx, r12
mov rdx, rdi
call fcn.18002fb80
add ebx, ebp
lea eax, [rbx*4 + 0x800]
mov dword [rsp + 0x90], eax
inc eax
movsxd rcx, eax
call fcn.18002f604
mov rsi, rax
lea r9, [rax + 5]
lea rax, [rsp + 0x90]
mov qword [rsp + 0x20], rax
lea r8, [0x18004e7a0]
mov edx, ebx
mov rcx, r12
call fcn.180023f20
mov byte [rsi], 0x30
mov ecx, dword [rsp + 0x90]
mov dword [rsi + 1], ecx
lea ebx, [rcx + 5]
mov rcx, r12
call fcn.18002f934
mov edx, ebx
mov rcx, rsi
call fcn.18002c4d0
mov rcx, rsi
call fcn.18002f934
nop
lea rdx, [rdi - 0x18]
lock xadd dword [rdx + 0x10], r13d
dec r13d
test r13d, r13d
jg 0x18000ba01
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rbx, qword [rsp + 0x80]
add rsp, 0x50
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rax, rsp
push rdi
push r12
push r13
sub rsp, 0x60
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov rsi, rcx
xor r12d, r12d
mov qword [rax - 0x40], r12
mov qword [rax - 0x38], r12
mov qword [rax - 0x30], r12
lea rcx, [rax - 0x40]
call fcn.18000b070
lea ecx, [rax + 0x80]
call fcn.18002f604
mov r13, rax
mov ebx, r12d
mov rdi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x38]
sub rdi, rbp
sar rdi, 3
test rdi, rdi
je 0x18000bab3
mov edx, r12d
nop word [rax + rax]
mov ecx, r12d
add rcx, r13
mov r8, qword [rbp + rdx*8]
lea rdx, [0x18004e3b4]
call fcn.18003069c
add r12d, eax
inc ebx
mov edx, ebx
cmp rdx, rdi
jb 0x18000ba90
mov ebx, dword [rsi + 4]
mov rax, qword [0x18005fdf8]
mov edi, dword [rax - 0x10]
lea ecx, [rdi + r12 + 0xd]
call fcn.18002f604
mov rsi, rax
mov byte [rax], reloc.WS2_32.dll_recvfrom
mov dword [rax + 1], ebx
mov dword [rax + 5], edi
mov dword [rax + 9], r12d
mov r8d, edi
lea rcx, [rax + 0xd]
mov rdx, qword [0x18005fdf8]
call fcn.18002fb80
lea ebx, [rdi + 0xd]
mov r8d, r12d
mov ecx, ebx
add rcx, rsi
mov rdx, r13
call fcn.18002fb80
add ebx, r12d
lea eax, [rbx*4 + 0x800]
mov dword [rsp + 0x80], eax
inc eax
movsxd rcx, eax
call fcn.18002f604
mov rdi, rax
lea r9, [rax + 5]
lea rax, [rsp + 0x80]
mov qword [rsp + 0x20], rax
lea r8, [0x18004e7a0]
mov edx, ebx
mov rcx, rsi
call fcn.180023f20
mov byte [rdi], 0x30
mov ecx, dword [rsp + 0x80]
mov dword [rdi + 1], ecx
lea ebx, [rcx + 5]
mov rcx, rsi
call fcn.18002f934
mov edx, ebx
mov rcx, rdi
call fcn.18002c4d0
mov rcx, rdi
call fcn.18002f934
mov rcx, r13
call fcn.18002f934
nop
test rbp, rbp
je 0x18000bbb7
cmp rbp, qword [rsp + 0x40]
je 0x18000bbaf
nop
mov rdx, qword [rbp]
sub rdx, 0x18
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18000bb9f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
add rbp, 8
cmp rbp, qword [rsp + 0x40]
jne 0x18000bb80
mov rbp, qword [rsp + 0x38]
mov rcx, rbp
call fcn.18002f934
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r13
pop r12
pop rdi
ret
mov r11, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb0
mov qword [rsp + 0x78], 0xfffffffffffffffe
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rbp
mov qword [r11 + 0x18], rsi
mov rax, qword [0x18005d0e0]
xor rax, rsp
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0x50], rcx
xor edi, edi
mov qword [r11 - 0x80], rdi
mov qword [r11 - 0x78], rdi
mov qword [r11 - 0x70], rdi
lea rcx, [r11 - 0x80]
call fcn.18000c6d0
mov r11d, 0x80
mov r9d, edi
mov rdx, qword [rsp + 0x60]
mov r13, qword [rsp + 0x58]
sub rdx, r13
movabs rax, 0x44247783f59e71cb
imul rdx
mov rbp, rdx
sar rbp, 0xc
mov rax, rbp
shr rax, 0x3f
add rbp, rax
je 0x18000cd42
mov eax, edi
imul rax, rax, 0x3c1c
lea r8, [rax + r13]
lea rdi, [r8 + 0x1418]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
not rcx
lea rdx, [rcx - 1]
lea rdi, [r8 + 0xf14]
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
not rcx
dec rcx
add edx, ecx
lea rdi, [r8 + 0xa08]
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
not rcx
dec rcx
add edx, ecx
lea rdi, [r8 + 0x504]
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
not rcx
dec rcx
add edx, ecx
or rcx, 0xffffffffffffffff
mov rdi, r8
repne scasb al, byte [rdi]
not rcx
lea eax, [rdx + rcx + 0x1f]
add r11d, eax
inc r9d
mov eax, r9d
cmp rax, rbp
jb 0x18000ccc2
xor edi, edi
mov ecx, r11d
call fcn.18002f604
mov r15, rax
mov r14d, edi
mov esi, edi
test rbp, rbp
je 0x18000ce90
mov rcx, rdi
lea r12, [r13 + 0xf10]
imul rcx, rcx, 0x3c1c
lea rbx, [rcx + r13]
lea rdx, [rbx + 0x1418]
mov qword [rsp + 0x98], sendto
mov qword [rsp + 0x90], rdi
mov byte [rsp + 0x80], 0
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rdx
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [rsp + 0x80]
call fcn.180001660
nop
lea r8, [0x18004e408]
lea rdx, [0x18004e2c4]
lea rcx, [rsp + 0x80]
call fcn.180020410
lea r8, [0x18004e288]
lea rdx, [0x18004e270]
lea rcx, [rsp + 0x80]
call fcn.180020410
lea r11, [rsp + 0x80]
cmp qword [rsp + 0x98], 0x10
cmovae r11, qword [rsp + 0x80]
lea rdx, [rbx + 0xf14]
lea rcx, [rbx + 0xa08]
lea r9, [rbx + 0x504]
mov edi, r14d
add rdi, r15
mov eax, dword [r12 + 0x2d08]
mov dword [rsp + 0x48], eax
mov qword [rsp + 0x40], r11
mov qword [rsp + 0x38], rdx
mov eax, dword [r12]
mov dword [rsp + 0x30], eax
mov eax, dword [r12 - 4]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
mov r8, rbx
lea rdx, str._s_t_s_t_s_t_u_t_u_t_s_t_s_t_u_r_n
mov rcx, rdi
call fcn.18003069c
add r14d, eax
cmp qword [rsp + 0x98], 0x10
jb 0x18000ce77
mov rcx, qword [rsp + 0x80]
call fcn.18002f934
inc esi
add r12, 0x3c1c
mov ecx, esi
cmp rcx, rbp
mov edi, 0
jb 0x18000cd65
mov rax, qword [rsp + 0x50]
mov edi, dword [rax + 4]
mov rax, qword [0x18005fdf8]
mov ebx, dword [rax - 0x10]
lea ecx, [rbx + r14 + 0xd]
call fcn.18002f604
mov rsi, rax
mov byte [rax], reloc.WS2_32.dll_send
mov dword [rax + 1], edi
mov dword [rax + 5], ebx
mov dword [rax + 9], r14d
mov r8d, ebx
lea rcx, [rax + 0xd]
mov rdx, qword [0x18005fdf8]
call fcn.18002fb80
add ebx, 0xd
mov r8d, r14d
mov ecx, ebx
add rcx, rsi
mov rdx, r15
call fcn.18002fb80
add ebx, r14d
lea eax, [rbx*4 + 0x800]
mov dword [rsp + 0x50], eax
inc eax
movsxd rcx, eax
call fcn.18002f604
mov rdi, rax
lea r9, [rax + 5]
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
lea r8, [0x18004e7a0]
mov edx, ebx
mov rcx, rsi
call fcn.180023f20
mov byte [rdi], 0x30
mov ecx, dword [rsp + 0x50]
mov dword [rdi + 1], ecx
lea ebx, [rcx + 5]
mov rcx, rsi
call fcn.18002f934
cmp dword [0x18005ffb8], 0
je 0x18000cf6b
or edx, 0xffffffff
mov rcx, qword [0x18005ffa8]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp dword [0x18005ffb8], 0
je 0x18000cf6b
xor r9d, r9d
mov r8d, ebx
mov rdx, rdi
mov rcx, qword [0x18005ffb0]
call qword [sym.imp.WS2_32.dll_send]
jmp 0x18000cf7c
mov r8d, ebx
mov rdx, rdi
mov ecx, dword [0x18005ffb0]
call fcn.180004ae0
cmp dword [0x18005ffb8], 0
je 0x18000cf92
mov rcx, qword [0x18005ffa8]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rcx, rdi
call fcn.18002f934
mov rcx, r15
call fcn.18002f934
nop
test r13, r13
je 0x18000cfb0
mov rcx, r13
call fcn.18002f934
mov rcx, qword [rsp + 0xa8]
xor rcx, rsp
call fcn.18002f950
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
sub rsp, 0x30
mov rax, qword [0x18005fdf8]
mov ebx, dword [rcx + 4]
mov r12, rcx
mov edi, dword [rax - 0x10]
lea ecx, [rdi + 0xe]
call fcn.18002f604
mov r8d, edi
mov byte [rax], reloc.WS2_32.dll_sendto
mov dword [rax + 1], ebx
mov dword [rax + 5], edi
mov dword [rax + 9], 1
mov rdx, qword [0x18005fdf8]
lea rcx, [rax + 0xd]
mov rbp, rax
call fcn.18002fb80
movzx ecx, byte [0x18004e26c]
add edi, 0xd
lea eax, [rdi*4 + 0x804]
mov byte [rdi + rbp], cl
mov dword [rsp + 0x50], eax
inc eax
movsxd rcx, eax
call fcn.18002f604
lea r8, [0x18004e7a0]
lea edx, [rdi + 1]
lea r9, [rax + 5]
mov rsi, rax
lea rax, [rsp + 0x50]
mov rcx, rbp
mov qword [rsp + 0x20], rax
call fcn.180023f20
mov ecx, dword [rsp + 0x50]
mov byte [rsi], 0x30
lea ebx, [rcx + 5]
mov dword [rsi + 1], ecx
mov rcx, rbp
call fcn.18002f934
mov edx, ebx
mov rcx, rsi
call fcn.18002c4d0
mov rcx, rsi
call fcn.18002f934
movsxd rdi, dword [r12 + 8]
test edi, edi
je 0x18000d3d1
lea eax, [rdi + 1]
movsxd rcx, eax
call fcn.18002f604
mov rdx, qword [r12 + 0x10]
mov r8, rdi
mov rcx, rax
mov rbx, rax
mov byte [rdi + rax], 0
call fcn.18002fb80
xor r11d, r11d
lea r8, [0x18000cff0]
mov qword [rsp + 0x28], r11
mov r9, rbx
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x20], r11d
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
add rsp, 0x30
pop r12
pop rdi
pop rsi
ret
push rbp
push rsi
push rdi
sub rsp, 0x40
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x60], rbx
mov rdi, rcx
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x70], rax
lea rdx, [0x18004e29c]
test rdx, 0xffffffffffff0000
jne 0x1800170f4
movzx ebx, dx
mov ecx, ebx
call fcn.180001110
test rax, rax
je 0x180017105
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.180001a00
jmp 0x180017105
mov r8d, 1
lea rcx, [rsp + 0x70]
call fcn.180001b40
nop
call fcn.180016f70
test eax, eax
je 0x180017125
mov r8d, 1
lea rdx, [0x18004e26c]
lea rcx, [rsp + 0x70]
call fcn.180001b40
mov ebx, dword [rdi + 4]
mov rax, qword [0x18005fdf8]
mov edi, dword [rax - 0x10]
lea ecx, [rdi + 0xe]
call fcn.18002f604
mov rbp, rax
mov byte [rax], recv
mov dword [rax + 1], ebx
mov dword [rax + 5], edi
mov dword [rax + 9], 1
mov r8d, edi
lea rcx, [rax + 0xd]
mov rdx, qword [0x18005fdf8]
call fcn.18002fb80
add edi, 0xd
mov rbx, qword [rsp + 0x70]
movzx ecx, byte [rbx]
mov byte [rdi + rbp], cl
lea eax, [rdi*4 + 0x804]
mov dword [rsp + 0x68], eax
inc eax
movsxd rcx, eax
call fcn.18002f604
mov rsi, rax
lea r9, [rax + 5]
lea rax, [rsp + 0x68]
mov qword [rsp + 0x20], rax
lea r8, [0x18004e7a0]
lea edx, [rdi + 1]
mov rcx, rbp
call fcn.180023f20
mov byte [rsi], 0x30
mov ecx, dword [rsp + 0x68]
mov dword [rsi + 1], ecx
lea edi, [rcx + 5]
mov rcx, rbp
call fcn.18002f934
mov edx, edi
mov rcx, rsi
call fcn.18002c4d0
mov rcx, rsi
call fcn.18002f934
nop
lea rdx, [rbx - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1800171e9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rbx, qword [rsp + 0x60]
add rsp, 0x40
pop rdi
pop rsi
pop rbp
ret
push rbp
push rsi
push rdi
sub rsp, 0x30
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x50], rbx
mov rbp, rcx
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x60], rax
lea rdx, [0x18004e29c]
test rdx, 0xffffffffffff0000
jne 0x180018d94
movzx edi, dx
mov ecx, edi
call fcn.180001110
test rax, rax
je 0x180018da5
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.180001a00
jmp 0x180018da5
mov r8d, 1
lea rcx, [rsp + 0x60]
call fcn.180001b40
nop
or rsi, 0xffffffffffffffff
cmp dword [rbp + 8], 0
jbe 0x180018e79
mov rbx, qword [rbp + 0x10]
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x58], rdi
test rbx, rbx
je 0x180018e12
test rbx, 0xffffffffffff0000
jne 0x180018e00
movzx ebx, bx
mov ecx, ebx
call fcn.180001110
test rax, rax
je 0x180018e29
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.180001a00
jmp 0x180018e24
xor eax, eax
mov rcx, rsi
mov rdi, rbx
repne scasb al, byte [rdi]
not rcx
dec rcx
jmp 0x180018e14
xor ecx, ecx
mov r8d, ecx
mov rdx, rbx
lea rcx, [rsp + 0x58]
call fcn.180001b40
mov rdi, qword [rsp + 0x58]
mov r9, qword [0x18005fe68]
mov r8, rdi
lea rdx, [0x18004e7dc]
lea rcx, str.para
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov r8d, 1
lea rdx, [0x18004e26c]
lea rcx, [rsp + 0x60]
call fcn.180001b40
nop
lea rdx, [rdi - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180018e79
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rdi, qword [rsp + 0x60]
lea rcx, [rdi - 0x18]
call fcn.180001790
add rax, 0x18
mov qword [rsp + 0x68], rax
mov r8b, 0x20
mov edx, dword [rbp + 4]
lea rcx, [rsp + 0x68]
call fcn.180002d60
nop
lock xadd dword [rdi - 8], esi
dec esi
test esi, esi
jg 0x180018eba
mov rcx, qword [rdi - 0x18]
mov rax, qword [rcx]
lea rdx, [rdi - 0x18]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rbx, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
pop rsi
pop rbp
ret
push rbx
push rbp
push rsi
push rdi
push r12
sub rsp, 0x40
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov rbp, rcx
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x80], rax
lea r12, [0x18004e26c]
test r12, 0xffffffffffff0000
jne 0x180018f39
movzx edi, r12w
mov ecx, edi
call fcn.180001110
test rax, rax
je 0x180018f50
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x80]
call fcn.180001a00
jmp 0x180018f50
mov r8d, 1
mov rdx, r12
lea rcx, [rsp + 0x80]
call fcn.180001b40
nop
mov rcx, qword [0x18005fe68]
add rcx, 0xffffffffffffffe8
call fcn.180001790
add rax, 0x18
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x20]
call fcn.180027410
mov rbx, qword [rbp + 0x10]
or rsi, 0xffffffffffffffff
test rbx, rbx
jne 0x180018fa7
mov r9, qword [0x18005fe68]
lea r8, [0x18004e29c]
lea rdx, str.scons
lea rcx, str.para
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
jmp 0x1800190f2
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x78], rax
test rbx, rbx
je 0x180019002
test rbx, 0xffffffffffff0000
jne 0x180018ff0
movzx edi, bx
mov ecx, edi
call fcn.180001110
test rax, rax
je 0x180019015
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.180001a00
jmp 0x180019015
xor eax, eax
mov rcx, rsi
mov rdi, rbx
repne scasb al, byte [rdi]
not rcx
dec rcx
jmp 0x180019004
xor ecx, ecx
mov r8d, ecx
mov rdx, rbx
lea rcx, [rsp + 0x78]
call fcn.180001b40
nop
mov rdx, r12
mov rcx, qword [rsp + 0x78]
call fcn.180030ab0
test eax, eax
sete al
test al, al
je 0x1800190b0
xor ecx, ecx
call fcn.180030ab8
mov rdi, rax
lea rcx, [0x18005d078]
mov rdx, qword [0x18005d078]
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0x88], rax
mov r8d, edi
lea rdx, str.1_u
lea rcx, [rsp + 0x88]
call fcn.180002980
mov r9, qword [0x18005fe68]
mov rdi, qword [rsp + 0x88]
mov r8, rdi
lea rdx, str.scons
lea rcx, str.para
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
nop
lea rdx, [rdi - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1800190d3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
jmp 0x1800190d3
mov r9, qword [0x18005fe68]
lea r8, [0x18004e29c]
lea rdx, str.scons
lea rcx, str.para
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
nop
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1800190f2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rdi, qword [rsp + 0x80]
lea rcx, [rdi - 0x18]
call fcn.180001790
add rax, 0x18
mov qword [rsp + 0x28], rax
mov r8b, 0x29
mov edx, dword [rbp + 4]
lea rcx, [rsp + 0x28]
call fcn.180002d60
nop
lock xadd dword [rdi - 8], esi
dec esi
test esi, esi
jg 0x180019136
mov rcx, qword [rdi - 0x18]
mov rax, qword [rcx]
lea rdx, [rdi - 0x18]
call qword [rax + reloc.WS2_32.dll_htonl]
add rsp, 0x40
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
push rbx
push rbp
push rsi
push rdi
push r12
sub rsp, 0x40
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov r12, rcx
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x80], rax
lea rsi, [0x18004e26c]
mov rbx, rsi
shr rbx, 0x10
test rbx, rbx
jne 0x1800191bb
movzx edi, si
mov ecx, edi
call fcn.180001110
test rax, rax
je 0x1800191d2
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x80]
call fcn.180001a00
jmp 0x1800191d2
mov r8d, 1
mov rdx, rsi
lea rcx, [rsp + 0x80]
call fcn.180001b40
nop
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x78], rdi
test rbx, rbx
jne 0x180019212
movzx ebx, si
mov ecx, ebx
call fcn.180001110
test rax, rax
je 0x18001922a
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.180001a00
jmp 0x180019225
mov r8d, 1
mov rdx, rsi
lea rcx, [rsp + 0x78]
call fcn.180001b40
mov rdi, qword [rsp + 0x78]
mov rdx, qword [r12 + 0x10]
or rbp, 0xffffffffffffffff
test rdx, rdx
je 0x180019258
xor eax, eax
mov rcx, rbp
mov rdi, rdx
repne scasb al, byte [rdi]
not rcx
lea r8d, [rcx - 1]
lea rcx, [rsp + 0x78]
call fcn.180001b40
mov rdi, qword [rsp + 0x78]
mov ebx, dword [rdi - 0x10]
lea ecx, [rbx + 1]
call fcn.18002f604
mov rsi, rax
mov r8d, ebx
mov byte [rbx + rax], 0
mov rdx, rdi
mov rcx, rax
call fcn.18002fb80
xor r11d, r11d
mov qword [rsp + 0x28], r11
mov dword [rsp + 0x20], r11d
mov r9, rsi
lea r8, [0x18002eef0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rbx, qword [rsp + 0x80]
lea rcx, [rbx - 0x18]
call fcn.180001790
add rax, 0x18
mov qword [rsp + 0x88], rax
mov r8b, 0x2f
mov edx, dword [r12 + 4]
lea rcx, [rsp + 0x88]
call fcn.180002d60
nop
lea rdx, [rdi - 0x18]
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1800192f0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
lock xadd dword [rbx - 8], ebp
dec ebp
test ebp, ebp
jg 0x180019309
mov rcx, qword [rbx - 0x18]
mov rax, qword [rcx]
lea rdx, [rbx - 0x18]
call qword [rax + reloc.WS2_32.dll_htonl]
add rsp, 0x40
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
push rbp
push rsi
push rdi
sub rsp, 0x50
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x70], rbx
mov rbp, rcx
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x78], rax
lea rdx, [0x18004e29c]
test rdx, 0xffffffffffff0000
jne 0x180019384
movzx ebx, dx
mov ecx, ebx
call fcn.180001110
test rax, rax
je 0x180019395
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.180001a00
jmp 0x180019395
mov r8d, 1
lea rcx, [rsp + 0x78]
call fcn.180001b40
nop
mov edx, dword [rbp + 8]
or esi, 0xffffffff
test edx, edx
je 0x1800194f5
xor eax, eax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rax
lea r9, [rsp + 0x30]
lea r8, [0x18004e270]
mov rcx, qword [rbp + 0x10]
call fcn.180020050
mov r11, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x30]
sub r11, rdi
and r11, 0xfffffffffffffff8
cmp r11, 0x10
jne 0x1800194a6
mov rcx, qword [rdi]
sub rcx, 0x18
call fcn.180001790
lea rbx, [rax + 0x18]
mov qword [rsp + 0x80], rbx
mov rcx, qword [rdi + 8]
sub rcx, 0x18
call fcn.180001790
lea rdi, [rax + 0x18]
mov qword [rsp + 0x28], rdi
mov r9, qword [0x18005fe68]
mov r8, rbx
lea rdx, [0x18004e7c4]
lea rcx, str.para
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov r9, qword [0x18005fe68]
mov r8, rdi
lea rdx, [0x18004e7f0]
lea rcx, str.para
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
lea r8d, [rsi + 2]
lea rdx, [0x18004e26c]
lea rcx, [rsp + 0x78]
call fcn.180001b40
nop
lea rdx, [rdi - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18001947f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rsp + 0x80]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1800194a1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rdi, qword [rsp + 0x30]
test rdi, rdi
je 0x1800194f5
cmp rdi, qword [rsp + 0x38]
je 0x1800194ed
nop word [rax + rax]
mov rdx, qword [rdi]
sub rdx, 0x18
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1800194dd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
add rdi, 8
cmp rdi, qword [rsp + 0x38]
jne 0x1800194c0
mov rdi, qword [rsp + 0x30]
mov rcx, rdi
call fcn.18002f934
mov rbx, qword [rsp + 0x78]
lea rcx, [rbx - 0x18]
call fcn.180001790
add rax, 0x18
mov qword [rsp + 0x88], rax
mov r8b, 0x21
mov edx, dword [rbp + 4]
lea rcx, [rsp + 0x88]
call fcn.180002d60
nop
lock xadd dword [rbx - 8], esi
dec esi
test esi, esi
jg 0x18001953c
mov rcx, qword [rbx - 0x18]
mov rax, qword [rcx]
lea rdx, [rbx - 0x18]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rbx, qword [rsp + 0x70]
add rsp, 0x50
pop rdi
pop rsi
pop rbp
ret
push rbp
push rbx
push rsi
push rdi
push r12
mov rbp, rsp
sub rsp, 0x60
mov qword [rbp - 0x30], 0xfffffffffffffffe
mov rsi, rcx
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x40], rax
lea rdx, [0x18004e29c]
test rdx, 0xffffffffffff0000
jne 0x1800195b2
movzx ebx, dx
mov ecx, ebx
call fcn.180001110
test rax, rax
je 0x1800195c2
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp + 0x40]
call fcn.180001a00
jmp 0x1800195c2
mov r8d, 1
lea rcx, [rbp + 0x40]
call fcn.180001b40
nop
mov edx, dword [rsi + 8]
or edi, 0xffffffff
test edx, edx
je 0x1800197e3
xor eax, eax
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rax
lea r9, [rbp - 0x20]
lea r8, [0x18004e270]
mov rcx, qword [rsi + 0x10]
call fcn.180020050
mov r11, qword [rbp - 0x18]
mov rbx, qword [rbp - 0x20]
sub r11, rbx
and r11, 0xfffffffffffffff8
cmp r11, 0x18
jne 0x1800197a3
mov rcx, qword [rbx]
sub rcx, r11
call fcn.180001790
add rax, 0x18
mov qword [rbp + 0x48], rax
mov rcx, qword [rbx + 8]
sub rcx, 0x18
call fcn.180001790
lea rbx, [rax + 0x18]
mov qword [rbp + 0x38], rbx
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
lea rcx, [rbp - 0x40]
call fcn.18000da80
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x18001969d
cmp dword [rbx + 0x10], 0
jl 0x18001968f
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x18001968f
call fcn.180001790
mov r12, rax
mov ecx, edi
lock xadd dword [rbx + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x180019684
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [rreloc.WS2_32.dll_htonl + 8]
lea rax, [r12 + 0x18]
mov qword [rbp + 0x38], rax
jmp 0x18001969d
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp + 0x38]
call fcn.180001b40
nop
mov rdx, qword [rbp - 0x40]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1800196bb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rax, qword [rbp - 0x20]
mov rcx, qword [rax + 0x10]
sub rcx, 0x18
call fcn.180001790
lea rbx, [rax + 0x18]
mov qword [rbp - 0x28], rbx
mov r9, qword [0x18005fe68]
mov r8, qword [rbp + 0x48]
lea rdx, str.fipk
lea rcx, str.para
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov r9, qword [0x18005fe68]
mov r8, qword [rbp + 0x38]
lea rdx, [0x18004e7f8]
lea rcx, str.para
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov r9, qword [0x18005fe68]
mov r8, rbx
lea rdx, [0x18004e7fc]
lea rcx, str.para
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov r8d, 1
lea rdx, [0x18004e26c]
lea rcx, [rbp + 0x40]
call fcn.180001b40
nop
lea rdx, [rbx - 0x18]
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180019762
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rbp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180019781
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rbp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18001979f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rbx, qword [rbp - 0x20]
test rbx, rbx
je 0x1800197e3
cmp rbx, qword [rbp - 0x18]
je 0x1800197db
nop
mov rdx, qword [rbx]
sub rdx, 0x18
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1800197cd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
add rbx, 8
cmp rbx, qword [rbp - 0x18]
jne 0x1800197b0
mov rbx, qword [rbp - 0x20]
mov rcx, rbx
call fcn.18002f934
mov rbx, qword [rbp + 0x40]
lea rcx, [rbx - 0x18]
call fcn.180001790
add rax, 0x18
mov qword [rbp - 0x38], rax
mov r8b, 0x22
mov edx, dword [rsi + 4]
lea rcx, [rbp - 0x38]
call fcn.180002d60
nop
lock xadd dword [rbx - 8], edi
dec edi
test edi, edi
jg 0x180019821
mov rcx, qword [rbx - 0x18]
mov rax, qword [rcx]
lea rdx, [rbx - 0x18]
call qword [rax + reloc.WS2_32.dll_htonl]
add rsp, 0x60
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
push rbp
push rsi
push rdi
sub rsp, 0x30
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x50], rbx
mov rbp, rcx
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x60], rax
lea rdx, [0x18004e29c]
test rdx, 0xffffffffffff0000
jne 0x180019894
movzx edi, dx
mov ecx, edi
call fcn.180001110
test rax, rax
je 0x1800198a5
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.180001a00
jmp 0x1800198a5
mov r8d, 1
lea rcx, [rsp + 0x60]
call fcn.180001b40
nop
or rsi, 0xffffffffffffffff
cmp dword [rbp + 8], 0
jbe 0x180019979
mov rbx, qword [rbp + 0x10]
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x58], rdi
test rbx, rbx
je 0x180019912
test rbx, 0xffffffffffff0000
jne 0x180019900
movzx ebx, bx
mov ecx, ebx
call fcn.180001110
test rax, rax
je 0x180019929
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.180001a00
jmp 0x180019924
xor eax, eax
mov rcx, rsi
mov rdi, rbx
repne scasb al, byte [rdi]
not rcx
dec rcx
jmp 0x180019914
xor ecx, ecx
mov r8d, ecx
mov rdx, rbx
lea rcx, [rsp + 0x58]
call fcn.180001b40
mov rdi, qword [rsp + 0x58]
mov r9, qword [0x18005fe68]
mov r8, rdi
lea rdx, [0x18004e800]
lea rcx, str.para
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov r8d, 1
lea rdx, [0x18004e26c]
lea rcx, [rsp + 0x60]
call fcn.180001b40
nop
lea rdx, [rdi - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180019979
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rdi, qword [rsp + 0x60]
lea rcx, [rdi - 0x18]
call fcn.180001790
add rax, 0x18
mov qword [rsp + 0x68], rax
mov r8b, 0x23
mov edx, dword [rbp + 4]
lea rcx, [rsp + 0x68]
call fcn.180002d60
nop
lock xadd dword [rdi - 8], esi
dec esi
test esi, esi
jg 0x1800199ba
mov rcx, qword [rdi - 0x18]
mov rax, qword [rcx]
lea rdx, [rdi - 0x18]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rbx, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
pop rsi
pop rbp
ret
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0x90
mov qword [rbp + 0x17], 0xfffffffffffffffe
mov qword [rsp + 0xd0], rbx
mov r15, rcx
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x7f], rax
lea rdx, [0x18004e29c]
test rdx, 0xffffffffffff0000
jne 0x180019a44
movzx edi, dx
mov ecx, edi
call fcn.180001110
test rax, rax
je 0x180019a54
mov r8d, edi
mov rdx, rax
lea rcx, [rbp + 0x7f]
call fcn.180001a00
jmp 0x180019a54
mov r8d, 1
lea rcx, [rbp + 0x7f]
call fcn.180001b40
nop
or r12, 0xffffffffffffffff
cmp dword [r15 + 8], 0
jbe 0x18001a005
xor r13d, r13d
mov qword [rbp - 0x49], r13
mov esi, r13d
mov qword [rbp - 0x41], r13
mov ebx, r13d
mov qword [rbp - 0x39], rbx
mov r14, qword [r15 + 0x10]
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x29], rax
test r14, r14
je 0x180019ad6
test r14, 0xffffffffffff0000
jne 0x180019ac4
movzx edi, r14w
mov ecx, edi
call fcn.180001110
test rax, rax
je 0x180019ae9
mov r8d, edi
mov rdx, rax
lea rcx, [rbp - 0x29]
call fcn.180001a00
jmp 0x180019ae9
xor eax, eax
mov rcx, r12
mov rdi, r14
repne scasb al, byte [rdi]
not rcx
dec rcx
jmp 0x180019ad9
mov ecx, r13d
mov r8d, ecx
mov rdx, r14
lea rcx, [rbp - 0x29]
call fcn.180001b40
nop
mov edx, dword [r15 + 8]
test edx, edx
je 0x180019b11
lea r9, [rbp - 0x49]
lea r8, [0x18004e270]
mov rcx, qword [r15 + 0x10]
call fcn.180020050
mov rbx, qword [rbp - 0x39]
mov rsi, qword [rbp - 0x41]
mov r13, qword [rbp - 0x49]
mov rax, rsi
sub rax, r13
and rax, 0xfffffffffffffff8
cmp rax, 0x30
jne 0x180019ca4
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rbp + 0x6f], rdi
lea rdx, str.false
test rdx, 0xffffffffffff0000
jne 0x180019b70
movzx r14d, dx
mov ecx, r14d
call fcn.180001110
test rax, rax
je 0x180019b83
mov r8d, r14d
mov rdx, rax
lea rcx, [rbp + 0x6f]
call fcn.180001a00
jmp 0x180019b7f
mov r8d, 5
lea rcx, [rbp + 0x6f]
call fcn.180001b40
mov rdi, qword [rbp + 0x6f]
lea rax, [rbp + 0x6f]
cmp rax, rsi
jae 0x180019c14
lea rax, [rbp + 0x6f]
cmp r13, rax
ja 0x180019c14
lea r14, [rbp + 0x6f]
sub r14, r13
sar r14, 3
cmp rsi, rbx
jne 0x180019bf0
sub rbx, r13
sar rbx, 3
cmp rbx, 7
jae 0x180019bf0
mov rcx, rbx
shr rcx, 1
movabs rax, 0x1fffffffffffffff
sub rax, rcx
cmp rax, rbx
jb 0x180019bd7
add rbx, rcx
cmp rbx, 7
jae 0x180019bdc
mov ebx, 7
mov rdx, rbx
lea rcx, [rbp - 0x49]
call fcn.1800090d0
mov rsi, qword [rbp - 0x41]
mov r13, qword [rbp - 0x49]
mov qword [rbp + 0x77], rsi
mov qword [rbp - 0x21], rsi
test rsi, rsi
je 0x180019c12
mov rcx, qword [r13 + r14*8]
sub rcx, 0x18
call fcn.180001790
add rax, 0x18
mov qword [rsi], rax
jmp 0x180019c79
cmp rsi, rbx
jne 0x180019c5c
sub rbx, r13
sar rbx, 3
cmp rbx, 7
jae 0x180019c5c
mov rcx, rbx
shr rcx, 1
movabs rax, 0x1fffffffffffffff
sub rax, rcx
cmp rax, rbx
jb 0x180019c47
add rbx, rcx
cmp rbx, 7
jae 0x180019c4c
mov ebx, 7
mov rdx, rbx
lea rcx, [rbp - 0x49]
call fcn.1800090d0
mov rsi, qword [rbp - 0x41]
mov qword [rbp + 0x77], rsi
mov qword [rbp - 0x21], rsi
test rsi, rsi
je 0x180019c79
lea rcx, [rdi - 0x18]
call fcn.180001790
add rax, 0x18
mov qword [rsi], rax
add rsi, 8
mov qword [rbp - 0x41], rsi
lea rdx, [rdi - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180019c9c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov r13, qword [rbp - 0x49]
mov rsi, qword [rbp - 0x41]
sub rsi, r13
sar rsi, 3
cmp rsi, 7
jb 0x180019f88
mov rcx, qword [r13]
sub rcx, 0x18
call fcn.180001790
add rax, 0x18
mov qword [rbp - 0x11], rax
mov rcx, qword [r13 + 8]
sub rcx, 0x18
call fcn.180001790
add rax, 0x18
mov qword [rbp - 0x19], rax
mov rcx, qword [r13 + 0x10]
sub rcx, 0x18
call fcn.180001790
add rax, 0x18
mov qword [rbp - 1], rax
mov rcx, qword [r13 + 0x18]
sub rcx, 0x18
call fcn.180001790
add rax, 0x18
mov qword [rbp + 7], rax
mov rcx, qword [r13 + 0x20]
sub rcx, 0x18
call fcn.180001790
lea rdi, [rax + 0x18]
mov qword [rbp + 0x77], rdi
mov rcx, qword [r13 + 0x28]
sub rcx, 0x18
call fcn.180001790
add rax, 0x18
mov qword [rbp - 9], rax
mov rcx, qword [r13 + 0x30]
sub rcx, 0x18
call fcn.180001790
add rax, 0x18
mov qword [rbp - 0x21], rax
mov r8d, dword [rdi - 0x10]
mov rdx, rdi
lea rcx, [rbp + 0xf]
call fcn.18000da80
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
add rdi, 0xffffffffffffffe8
cmp rcx, rdi
je 0x180019db1
cmp dword [rdi + 0x10], 0
jl 0x180019da3
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x180019da3
call fcn.180001790
mov rbx, rax
mov ecx, r12d
lock xadd dword [rdi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x180019d99
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.WS2_32.dll_htonl]
lea rax, [rbx + 0x18]
mov qword [rbp + 0x77], rax
jmp 0x180019db1
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp + 0x77]
call fcn.180001b40
nop
mov rdx, qword [rbp + 0xf]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180019dd0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov r9, qword [0x18005fe68]
mov r8, qword [rbp - 0x11]
lea rdx, [0x18004e7dc]
lea rcx, str.para
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov r9, qword [0x18005fe68]
mov r8, qword [rbp - 0x19]
lea rdx, [0x18004e7c4]
lea rcx, str.para
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov r9, qword [0x18005fe68]
mov r8, qword [rbp - 1]
lea rdx, [0x18004e7f0]
lea rcx, str.para
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov r9, qword [0x18005fe68]
mov r8, qword [rbp + 7]
lea rdx, str.fipk
lea rcx, str.para
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov r9, qword [0x18005fe68]
mov r8, qword [rbp + 0x77]
lea rdx, [0x18004e7f8]
lea rcx, str.para
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov r9, qword [0x18005fe68]
mov r8, qword [rbp - 9]
lea rdx, [0x18004e7fc]
lea rcx, str.para
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov r9, qword [0x18005fe68]
mov rdi, qword [rbp - 0x21]
mov r8, rdi
lea rdx, [0x18004e800]
lea rcx, str.para
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
nop
lea rdx, [rdi - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180019ec9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rbp - 9]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180019ee9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rbp + 0x77]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180019f09
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rbp + 7]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180019f29
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rbp - 1]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180019f49
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rbp - 0x19]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180019f69
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rbp - 0x11]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180019f88
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov r8d, 1
lea rdx, [0x18004e26c]
lea rcx, [rbp + 0x7f]
call fcn.180001b40
nop
mov rdx, qword [rbp - 0x29]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180019fbf
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdi, qword [rbp - 0x49]
test rdi, rdi
je 0x18001a005
cmp rdi, qword [rbp - 0x41]
je 0x180019ffc
nop
mov rdx, qword [rdi]
sub rdx, 0x18
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180019fee
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
add rdi, 8
cmp rdi, qword [rbp - 0x41]
jne 0x180019fd0
mov rdi, qword [rbp - 0x49]
mov rcx, rdi
call fcn.18002f934
nop
mov rdx, qword [rbp + 0x7f]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r12d
dec r12d
test r12d, r12d
jg 0x18001a024
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rbx, qword [rsp + 0xd0]
add rsp, 0x90
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
push rbp
push rsi
push rdi
push r12
push r13
sub rsp, 0x40
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x70], rbx
mov r13, rcx
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x80], rbx
lea rdx, [0x18004e26c]
test rdx, 0xffffffffffff0000
jne 0x18001bbce
movzx edi, dx
mov ecx, edi
call fcn.180001110
test rax, rax
je 0x18001bbe9
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x80]
call fcn.180001a00
jmp 0x18001bbe1
mov r8d, 1
lea rcx, [rsp + 0x80]
call fcn.180001b40
mov rbx, qword [rsp + 0x80]
mov ebp, dword [rbx - 0x10]
mov edi, dword [r13 + 4]
mov rax, qword [0x18005fdf8]
mov esi, dword [rax - 0x10]
lea ecx, [rsi + rbp + 0xd]
call fcn.18002f604
mov r12, rax
mov byte [rax], 0x25
mov dword [rax + 1], edi
mov dword [rax + 5], esi
mov dword [rax + 9], ebp
mov r8d, esi
lea rcx, [rax + 0xd]
mov rdx, qword [0x18005fdf8]
call fcn.18002fb80
lea edi, [rsi + 0xd]
mov r8d, ebp
mov ecx, edi
add rcx, r12
mov rdx, rbx
call fcn.18002fb80
add edi, ebp
lea eax, [rdi*4 + 0x800]
mov dword [rsp + 0x78], eax
inc eax
movsxd rcx, eax
call fcn.18002f604
mov rsi, rax
lea r9, [rax + 5]
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
lea r8, [0x18004e7a0]
mov edx, edi
mov rcx, r12
call fcn.180023f20
mov byte [rsi], 0x30
mov ecx, dword [rsp + 0x78]
mov dword [rsi + 1], ecx
lea edi, [rcx + 5]
mov rcx, r12
call fcn.18002f934
mov edx, edi
mov rcx, rsi
call fcn.18002c4d0
mov rcx, rsi
call fcn.18002f934
movsxd rsi, dword [r13 + 8]
test esi, esi
je 0x18001bcec
lea eax, [rsi + 1]
movsxd rcx, eax
call fcn.18002f604
mov rdi, rax
mov r8, rsi
mov byte [rsi + rax], 0
mov rdx, qword [r13 + 0x10]
mov rcx, rax
call fcn.18002fb80
xor r11d, r11d
mov qword [rsp + 0x28], r11
mov dword [rsp + 0x20], r11d
mov r9, rdi
lea r8, [0x18001b930]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
lea rdx, [rbx - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18001bd07
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rbx, qword [rsp + 0x70]
add rsp, 0x40
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xa8
mov qword [rbp + 7], 0xfffffffffffffffe
mov rbx, rcx
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x7f], rax
lea r14, [0x18004e29c]
test r14, 0xffffffffffff0000
jne 0x18001cfe2
movzx edi, r14w
mov ecx, edi
call fcn.180001110
test rax, rax
je 0x18001cff5
mov r8d, edi
mov rdx, rax
lea rcx, [rbp + 0x7f]
call fcn.180001a00
jmp 0x18001cff5
mov r8d, 1
mov rdx, r14
lea rcx, [rbp + 0x7f]
call fcn.180001b40
nop
mov edx, dword [rbx + 8]
test edx, edx
jne 0x18001d041
mov rdi, qword [rbp + 0x7f]
lea rcx, [rdi - 0x18]
call fcn.180001790
add rax, 0x18
mov qword [rbp - 0x29], rax
mov r8b, 0x1a
mov edx, dword [rbx + 4]
lea rcx, [rbp - 0x29]
call fcn.180002d60
nop
or rsi, 0xffffffffffffffff
lock xadd dword [rdi - 8], esi
dec esi
test esi, esi
jg 0x18001d371
mov rcx, qword [rdi - 0x18]
lea rdx, [rdi - 0x18]
jmp 0x18001d36b
xor r12d, r12d
mov r13d, r12d
mov qword [rbp - 0x61], r12
mov edi, r12d
mov qword [rbp - 0x59], r12
mov qword [rbp - 0x51], r12
test edx, edx
je 0x18001d076
lea r9, [rbp - 0x61]
lea r8, [0x18004e270]
mov rcx, qword [rbx + 0x10]
call fcn.180020050
mov rdi, qword [rbp - 0x59]
mov r13, qword [rbp - 0x61]
mov dword [rbp + 0x6f], r12d
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x69], rbx
sub rdi, r13
sar rdi, 3
or rsi, 0xffffffffffffffff
cmp rdi, 1
jb 0x18001d119
lea r8, [rbp + 0x6f]
lea rdx, [0x18004e268]
mov rcx, qword [r13]
call fcn.1800300e4
cmp rdi, 2
jne 0x18001d119
mov rdx, qword [r13 + 8]
lea rcx, [rdx - 0x18]
lea rdi, [rbx - 0x18]
cmp rcx, rdi
je 0x18001d119
cmp dword [rdi + 0x10], 0
jl 0x18001d108
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x18001d108
call fcn.180001790
mov rbx, rax
mov ecx, esi
lock xadd dword [rdi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x18001d0fe
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.WS2_32.dll_htonl]
add rbx, 0x18
mov qword [rbp - 0x69], rbx
jmp 0x18001d119
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp - 0x69]
call fcn.180001b40
mov rbx, qword [rbp - 0x69]
mov eax, dword [rbp + 0x6f]
test eax, eax
jne 0x18001d146
lea rcx, [rbx - 0x18]
call fcn.180001790
add rax, 0x18
mov qword [rbp - 0x21], rax
lea rcx, [rbp - 0x21]
call fcn.18001cb60
lea rdx, [0x18004e26c]
jmp 0x18001d2b7
cmp eax, 1
jne 0x18001d28a
xor r8d, r8d
lea rdx, [0x18004dd32]
lea rcx, [rbp + 0x7f]
call fcn.180001b40
mov qword [rbp - 0x19], r12
mov qword [rbp - 0x11], r12
mov qword [rbp - 9], r12
lea rcx, [rbx - 0x18]
call fcn.180001790
add rax, 0x18
mov qword [rbp - 0x31], rax
lea rdx, [rbp - 0x19]
lea rcx, [rbp - 0x31]
call fcn.18001c860
mov rdi, qword [rbp - 0x11]
mov rcx, rdi
mov r15, qword [rbp - 0x19]
sub rcx, r15
movabs rax, 0x4924924924924925
imul rcx
mov r14, rdx
sar r14, 4
mov rax, r14
shr rax, 0x3f
add r14, rax
je 0x18001d270
mov r8d, r12d
mov edi, r12d
test r14, r14
je 0x18001d1e9
mov rdx, r15
nop dword [rax]
mov rax, qword [rdx]
mov ecx, dword [rax - 0x10]
add ecx, 0x10
add r8d, ecx
inc edi
add rdx, 0x38
mov eax, edi
cmp rax, r14
jb 0x18001d1d0
lea ecx, [r8 + 0x80]
call fcn.18002f604
mov r13, rax
mov edi, r12d
test r14, r14
je 0x18001d238
mov rax, r12
mov esi, eax
nop word [rax + rax]
imul rax, rax, 0x38
mov ecx, edi
add rcx, r13
mov r8, qword [rax + r15]
lea rdx, str._s_r_n
call fcn.18003069c
add edi, eax
inc esi
mov eax, esi
cmp rax, r14
jb 0x18001d210
or rsi, 0xffffffffffffffff
mov eax, edi
mov byte [rax + r13], 0
test r13, r13
je 0x18001d255
xor eax, eax
mov rcx, rsi
mov rdi, r13
repne scasb al, byte [rdi]
not rcx
lea r12d, [rcx - 1]
mov r8d, r12d
mov rdx, r13
lea rcx, [rbp + 0x7f]
call fcn.180001b40
mov rcx, r13
call fcn.18002f934
mov rdi, qword [rbp - 0x11]
test r15, r15
je 0x18001d2c6
mov rdx, rdi
mov rcx, r15
call fcn.18001df00
mov rcx, r15
call fcn.18002f934
jmp 0x18001d2c6
cmp eax, 2
jne 0x18001d2c6
lea rcx, [rbx - 0x18]
call fcn.180001790
add rax, 0x18
mov qword [rbp - 0x41], rax
lea rcx, [rbp - 0x41]
call fcn.18001cc60
test eax, eax
lea rdx, [0x18004e26c]
jne 0x18001d2b7
mov rdx, r14
mov r8d, 1
lea rcx, [rbp + 0x7f]
call fcn.180001b40
mov r12, qword [rbp + 0x7f]
lea rcx, [r12 - 0x18]
call fcn.180001790
add rax, 0x18
mov qword [rbp - 0x39], rax
mov r8b, 0x1a
mov rax, qword [rbp + 0x67]
mov edx, dword [rax + 4]
lea rcx, [rbp - 0x39]
call fcn.180002d60
nop
lea rdx, [rbx - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18001d30b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdi, qword [rbp - 0x61]
test rdi, rdi
je 0x18001d354
cmp rdi, qword [rbp - 0x59]
je 0x18001d34b
nop word [rax + rax]
mov rdx, qword [rdi]
sub rdx, 0x18
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18001d33d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
add rdi, 8
cmp rdi, qword [rbp - 0x59]
jne 0x18001d320
mov rdi, qword [rbp - 0x61]
mov rcx, rdi
call fcn.18002f934
nop
lock xadd dword [r12 - 8], esi
dec esi
test esi, esi
jg 0x18001d371
mov rcx, qword [r12 - 0x18]
lea rdx, [r12 - 0x18]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
add rsp, 0xa8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
push rdi
sub rsp, 0x30
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x40], rbx
mov rdi, rcx
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x48], rax
lea rdx, [0x18004e84c]
test rdx, 0xffffffffffff0000
jne 0x18001d3f2
movzx ebx, dx
mov ecx, ebx
call fcn.180001110
test rax, rax
je 0x18001d403
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.180001a00
jmp 0x18001d403
mov r8d, 2
lea rcx, [rsp + 0x48]
call fcn.180001b40
nop
mov rbx, qword [rsp + 0x48]
lea rcx, [rbx - 0x18]
call fcn.180001790
add rax, 0x18
mov qword [rsp + 0x50], rax
mov r8b, 0x28
mov edx, dword [rdi + 4]
lea rcx, [rsp + 0x50]
call fcn.180002d60
nop
or eax, 0xffffffff
lock xadd dword [rbx - 8], eax
dec eax
test eax, eax
jg 0x18001d447
mov rcx, qword [rbx - 0x18]
mov rax, qword [rcx]
lea rdx, [rbx - 0x18]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
push rbx
push rbp
push rsi
push rdi
push r12
sub rsp, 0x30
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov r12, rcx
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x68], rax
lea rdx, [0x18004e84c]
test rdx, 0xffffffffffff0000
jne 0x18001fe12
movzx edi, dx
mov ecx, edi
call fcn.180001110
test rax, rax
je 0x18001fe23
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.180001a00
jmp 0x18001fe23
mov r8d, 2
lea rcx, [rsp + 0x68]
call fcn.180001b40
nop
or rsi, 0xffffffffffffffff
cmp dword [r12 + 8], 0
jbe 0x18001fff6
mov rbx, qword [r12 + 0x10]
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x70], rdi
test rbx, rbx
je 0x18001fe93
test rbx, 0xffffffffffff0000
jne 0x18001fe81
movzx ebx, bx
mov ecx, ebx
call fcn.180001110
test rax, rax
je 0x18001feaa
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.180001a00
jmp 0x18001fea5
xor eax, eax
mov rcx, rsi
mov rdi, rbx
repne scasb al, byte [rdi]
not rcx
dec rcx
jmp 0x18001fe95
xor ecx, ecx
mov r8d, ecx
mov rdx, rbx
lea rcx, [rsp + 0x70]
call fcn.180001b40
mov rdi, qword [rsp + 0x70]
lea rdx, [0x18004e29c]
mov rcx, rdi
call fcn.180030ab0
test eax, eax
sete al
test al, al
jne 0x18001ff5a
lea rdx, [0x18004e26c]
mov rcx, rdi
call fcn.180030ab0
test eax, eax
sete al
test al, al
jne 0x18001ff5a
mov r9, qword [0x18005fed0]
mov r8d, 2
lea rdx, str.ptype
lea rcx, str.para
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov r8d, eax
lea rdx, [0x18004e268]
lea rcx, [rsp + 0x68]
call fcn.180002980
lea rdx, [0x18004e340]
mov rcx, qword [rsp + 0x68]
call fcn.180030ab0
test eax, eax
sete al
test al, al
je 0x18001ffdc
call fcn.180028f90
mov r8d, 1
lea rcx, [rsp + 0x68]
test eax, eax
je 0x18001ff51
lea rdx, [0x18004e26c]
jmp 0x18001ffd6
lea rdx, [0x18004e29c]
jmp 0x18001ffd6
lea rbp, [rdi - 0x18]
mov rcx, rbp
call fcn.180001790
add rax, 0x18
mov qword [rsp + 0x78], rax
lea rcx, [rsp + 0x78]
call fcn.18001fc90
mov rbx, qword [rsp + 0x68]
add rbx, 0xffffffffffffffe8
cmp rbp, rbx
je 0x18001ffdc
cmp dword [rbx + 0x10], 0
jl 0x18001ffca
mov rax, qword [rbx]
cmp qword [rbp], rax
jne 0x18001ffca
mov rcx, rbp
call fcn.180001790
mov rdi, rax
mov ecx, esi
lock xadd dword [rbx + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x18001ffba
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
lea rax, [rdi + 0x18]
mov qword [rsp + 0x68], rax
mov rdi, qword [rsp + 0x70]
jmp 0x18001ffdc
mov r8d, dword [rdi - 0x10]
mov rdx, rdi
lea rcx, [rsp + 0x68]
call fcn.180001b40
nop
lea rdx, [rdi - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18001fff6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rdi, qword [rsp + 0x68]
lea rcx, [rdi - 0x18]
call fcn.180001790
add rax, 0x18
mov qword [rsp + 0x20], rax
mov r8b, 0x2c
mov edx, dword [r12 + 4]
lea rcx, [rsp + 0x20]
call fcn.180002d60
nop
lock xadd dword [rdi - 8], esi
dec esi
test esi, esi
jg 0x180020039
mov rcx, qword [rdi - 0x18]
mov rax, qword [rcx]
lea rdx, [rdi - 0x18]
call qword [rax + reloc.WS2_32.dll_htonl]
add rsp, 0x30
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0x98
mov qword [rbp - 0x39], 0xfffffffffffffffe
mov rdi, rcx
xor r14d, r14d
mov dword [rbp + 0x6f], r14d
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp + 0x7f], rbx
mov qword [rbp - 0x11], r14
mov qword [rbp - 9], r14
mov qword [rbp - 1], r14
mov edx, dword [rdi + 8]
or r13d, 0xffffffff
test edx, edx
je 0x180025278
mov qword [rbp - 0x31], r14
mov qword [rbp - 0x29], r14
mov qword [rbp - 0x21], r14
lea r9, [rbp - 0x31]
lea r8, [0x18004e270]
mov rcx, qword [rdi + 0x10]
call fcn.180020050
mov r12, qword [rbp - 0x29]
mov rsi, r12
mov rdi, qword [rbp - 0x31]
sub rsi, rdi
sar rsi, 3
cmp rsi, 1
jb 0x1800251be
lea r8, [rbp + 0x6f]
lea rdx, [0x18004e268]
mov rcx, qword [rdi]
call fcn.1800300e4
cmp rsi, 2
jb 0x180025229
mov rdx, qword [rdi + 8]
lea rcx, [rdx - 0x18]
lea rsi, [rbx - 0x18]
cmp rcx, rsi
je 0x180025229
cmp dword [rsi + 0x10], 0
jl 0x180025218
mov rax, qword [rsi]
cmp qword [rcx], rax
jne 0x180025218
call fcn.180001790
mov rbx, rax
mov ecx, r13d
lock xadd dword [rsi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x180025206
mov rcx, qword [rsi]
mov r8, qword [rcx]
mov rdx, rsi
call qword [rreloc.WS2_32.dll_htonl + 8]
add rbx, 0x18
mov qword [rbp + 0x7f], rbx
mov r12, qword [rbp - 0x29]
mov rdi, qword [rbp - 0x31]
jmp 0x180025229
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp + 0x7f]
call fcn.180001b40
mov rbx, qword [rbp + 0x7f]
test rdi, rdi
je 0x180025278
cmp rdi, r12
je 0x180025270
nop word [rax + rax]
mov rdx, qword [rdi]
sub rdx, 0x18
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18002525e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
add rdi, 8
cmp rdi, qword [rbp - 0x29]
jne 0x180025240
mov rbx, qword [rbp + 0x7f]
mov rdi, qword [rbp - 0x31]
mov rcx, rdi
call fcn.18002f934
lea r15, [rbx - 0x18]
mov qword [rbp - 0x41], r15
mov rcx, r15
call fcn.180001790
add rax, 0x18
mov qword [rbp - 0x49], rax
lea r8, [rbp - 0x11]
lea rdx, [rbp - 0x49]
mov ecx, dword [rbp + 0x6f]
call fcn.180024fa0
mov r11d, r14d
mov r10d, r14d
mov rbx, qword [rbp - 9]
mov r12, qword [rbp - 0x11]
sub rbx, r12
sar rbx, 5
test rbx, rbx
je 0x1800252f2
lea r9, [r12 + 8]
nop
mov rax, qword [r9 - 8]
mov r8d, dword [rax - 0x10]
mov rax, qword [r9 + 0x10]
mov edx, dword [rax - 0x10]
mov rax, qword [r9]
mov ecx, dword [rax - 0x10]
lea eax, [rdx + rcx]
lea ecx, [rax + r8 + 0x10]
mov dword [rbp + 0x6f], ecx
add r11d, ecx
inc r10d
add r9, 0x20
mov eax, r10d
cmp rax, rbx
jb 0x1800252c0
lea ecx, [r11 + 0x80]
call fcn.18002f604
mov qword [rbp + 0x77], rax
mov esi, r14d
test rbx, rbx
je 0x180025366
mov rdx, r14
lea rdi, [r12 + 0x10]
mov r15, rax
nop word [rax + rax]
shl rdx, 5
mov ecx, r14d
add rcx, r15
mov rax, qword [rdx + r12 + 0x18]
mov qword [rsp + 0x28], rax
mov eax, dword [rdi]
mov dword [rsp + 0x20], eax
mov r9, qword [rdx + r12 + 8]
mov r8, qword [rdx + r12]
lea rdx, str._s_t_s_t_u_t_s_t_r_n
call fcn.18003069c
mov dword [rbp + 0x6f], eax
add r14d, eax
inc esi
add rdi, 0x20
mov edx, esi
cmp rdx, rbx
jb 0x180025320
mov r15, qword [rbp - 0x41]
mov rax, qword [rbp + 0x67]
mov ebx, dword [rax + 4]
mov rax, qword [0x18005fdf8]
mov edi, dword [rax - 0x10]
lea ecx, [rdi + r14 + 0xd]
call fcn.18002f604
mov rsi, rax
mov byte [rax], reloc.WS2_32.dll_setsockopt
mov dword [rax + 1], ebx
mov dword [rax + 5], edi
mov dword [rax + 9], r14d
mov r8d, edi
lea rcx, [rax + 0xd]
mov rdx, qword [0x18005fdf8]
call fcn.18002fb80
add edi, 0xd
mov r8d, r14d
mov ecx, edi
add rcx, rsi
mov rbx, qword [rbp + 0x77]
mov rdx, rbx
call fcn.18002fb80
add edi, r14d
lea eax, [rdi*4 + 0x800]
mov dword [rbp + 0x77], eax
inc eax
movsxd rcx, eax
call fcn.18002f604
mov r14, rax
lea r9, [rax + 5]
lea rax, [rbp + 0x77]
mov qword [rsp + 0x20], rax
lea r8, [0x18004e7a0]
mov edx, edi
mov rcx, rsi
call fcn.180023f20
mov byte [r14], 0x30
mov ecx, dword [rbp + 0x77]
mov dword [r14 + 1], ecx
lea edi, [rcx + 5]
mov rcx, rsi
call fcn.18002f934
cmp dword [0x18005ffb8], 0
je 0x180025443
or edx, 0xffffffff
mov rcx, qword [0x18005ffa8]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp dword [0x18005ffb8], 0
je 0x180025443
xor r9d, r9d
mov r8d, edi
mov rdx, r14
mov rcx, qword [0x18005ffb0]
call qword [sym.imp.WS2_32.dll_send]
jmp 0x180025454
mov r8d, edi
mov rdx, r14
mov ecx, dword [0x18005ffb0]
call fcn.180004ae0
cmp dword [0x18005ffb8], 0
je 0x18002546a
mov rcx, qword [0x18005ffa8]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rcx, r14
call fcn.18002f934
mov rcx, rbx
call fcn.18002f934
nop
test r12, r12
je 0x180025506
cmp r12, qword [rbp - 9]
je 0x1800254fd
nop word [rax + rax]
mov rdx, qword [r12 + 0x18]
sub rdx, 0x18
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1800254b0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rdx, qword [r12 + 8]
sub rdx, 0x18
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1800254d0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rdx, qword [r12]
sub rdx, 0x18
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1800254ef
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
add r12, 0x20
cmp r12, qword [rbp - 9]
jne 0x180025490
mov r12, qword [rbp - 0x11]
mov rcx, r12
call fcn.18002f934
nop
lock xadd dword [r15 + 0x10], r13d
dec r13d
test r13d, r13d
jg 0x180025520
mov rcx, qword [r15]
mov rax, qword [rcx]
mov rdx, r15
call qword [rax + reloc.WS2_32.dll_htonl]
add rsp, 0x98
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xc0
mov qword [rbp + 7], 0xfffffffffffffffe
mov qword [rsp + 0x100], rbx
mov r15, rcx
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x7f], rax
lea rdx, [0x18004e29c]
test rdx, 0xffffffffffff0000
jne 0x180025c54
movzx ebx, dx
mov ecx, ebx
call fcn.180001110
test rax, rax
je 0x180025c64
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp + 0x7f]
call fcn.180001a00
jmp 0x180025c64
mov r8d, 1
lea rcx, [rbp + 0x7f]
call fcn.180001b40
nop
mov edx, dword [r15 + 8]
or r14d, 0xffffffff
test edx, edx
je 0x180025ec5
xor ebx, ebx
mov qword [rbp - 0x49], rbx
mov qword [rbp - 0x41], rbx
mov qword [rbp - 0x39], rbx
lea r9, [rbp - 0x49]
lea r8, [0x18004e270]
mov rcx, qword [r15 + 0x10]
call fcn.180020050
mov r11, qword [rbp - 0x41]
mov r13, qword [rbp - 0x49]
sub r11, r13
and r11, 0xfffffffffffffff8
cmp r11, 0x30
jne 0x180025e7f
mov dword [rbp + 0x6f], ebx
lea r8, [rbp + 0x6f]
lea rdx, [0x18004e268]
mov rcx, qword [r13]
call fcn.1800300e4
mov rcx, qword [r13 + 8]
sub rcx, 0x18
call fcn.180001790
lea r12, [rax + 0x18]
mov qword [rbp + 0x1f], r12
mov rcx, qword [r13 + 0x10]
sub rcx, 0x18
call fcn.180001790
lea rsi, [rax + 0x18]
mov qword [rbp - 0x21], rsi
mov rcx, qword [r13 + 0x18]
sub rcx, 0x18
call fcn.180001790
lea rdi, [rax + 0x18]
mov qword [rbp - 9], rdi
mov rcx, qword [r13 + 0x20]
sub rcx, 0x18
call fcn.180001790
lea rbx, [rax + 0x18]
mov qword [rbp + 0x17], rbx
mov rcx, qword [r13 + 0x28]
sub rcx, 0x18
call fcn.180001790
add rax, 0x18
mov qword [rbp - 0x19], rax
lea rcx, [rbp - 0x51]
mov qword [rbp + 0x77], rcx
lea rcx, [rbp - 0x59]
mov qword [rbp - 0x11], rcx
lea rcx, [rbp - 0x69]
mov qword [rbp - 1], rcx
lea rcx, [rbp - 0x61]
mov qword [rbp + 0xf], rcx
lea r13, [rax - 0x18]
mov rcx, r13
call fcn.180001790
add rax, 0x18
mov qword [rbp - 0x51], rax
lea rcx, [rbx - 0x18]
call fcn.180001790
add rax, 0x18
mov qword [rbp - 0x59], rax
lea rcx, [rdi - 0x18]
call fcn.180001790
add rax, 0x18
mov qword [rbp - 0x69], rax
lea rcx, [rsi - 0x18]
call fcn.180001790
add rax, 0x18
mov qword [rbp - 0x61], rax
lea rcx, [r12 - 0x18]
call fcn.180001790
add rax, 0x18
mov qword [rbp - 0x29], rax
lea rax, [rbp - 0x51]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x59]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x69]
lea r8, [rbp - 0x61]
lea rdx, [rbp - 0x29]
mov ecx, dword [rbp + 0x6f]
call fcn.180025710
test eax, eax
je 0x180025de7
lea r8d, [r14 + 2]
lea rdx, [0x18004e26c]
lea rcx, [rbp + 0x7f]
call fcn.180001b40
nop
mov eax, r14d
lock xadd dword [r13 + 0x10], eax
dec eax
test eax, eax
jg 0x180025e04
mov rcx, qword [r13]
mov rax, qword [rcx]
mov rdx, r13
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov eax, r14d
lock xadd dword [rbx - 8], eax
dec eax
test eax, eax
jg 0x180025e21
mov rcx, qword [rbx - 0x18]
mov rax, qword [rcx]
lea rdx, [rbx - 0x18]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov eax, r14d
lock xadd dword [rdi - 8], eax
dec eax
test eax, eax
jg 0x180025e3e
mov rcx, qword [rdi - 0x18]
mov rax, qword [rcx]
lea rdx, [rdi - 0x18]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov eax, r14d
lock xadd dword [rsi - 8], eax
dec eax
test eax, eax
jg 0x180025e5b
mov rcx, qword [rsi - 0x18]
mov rax, qword [rcx]
lea rdx, [rsi - 0x18]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov eax, r14d
lock xadd dword [r12 - 8], eax
dec eax
test eax, eax
jg 0x180025e7b
mov rcx, qword [r12 - 0x18]
mov rax, qword [rcx]
lea rdx, [r12 - 0x18]
call qword [rax + reloc.WS2_32.dll_htonl]
mov r13, qword [rbp - 0x49]
test r13, r13
je 0x180025ec5
cmp r13, qword [rbp - 0x41]
je 0x180025ebd
nop word [rax + rax]
mov rdx, qword [r13]
sub rdx, 0x18
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180025eaf
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
add r13, 8
cmp r13, qword [rbp - 0x41]
jne 0x180025e90
mov r13, qword [rbp - 0x49]
mov rcx, r13
call fcn.18002f934
mov rbx, qword [rbp + 0x7f]
mov r12d, dword [rbx - 0x10]
mov edi, dword [r15 + 4]
mov rax, qword [0x18005fdf8]
mov esi, dword [rax - 0x10]
lea ecx, [rsi + r12 + 0xd]
call fcn.18002f604
mov r13, rax
mov byte [rax], reloc.WS2_32.dll_socket
mov dword [rax + 1], edi
mov dword [rax + 5], esi
mov dword [rax + 9], r12d
mov r8d, esi
lea rcx, [rax + 0xd]
mov rdx, qword [0x18005fdf8]
call fcn.18002fb80
lea edi, [rsi + 0xd]
mov r8d, r12d
mov ecx, edi
add rcx, r13
mov rdx, rbx
call fcn.18002fb80
add edi, r12d
lea eax, [rdi*4 + 0x800]
mov dword [rbp + 0x77], eax
inc eax
movsxd rcx, eax
call fcn.18002f604
mov rsi, rax
lea r9, [rax + 5]
lea rax, [rbp + 0x77]
mov qword [rsp + 0x20], rax
lea r8, [0x18004e7a0]
mov edx, edi
mov rcx, r13
call fcn.180023f20
mov byte [rsi], 0x30
mov ecx, dword [rbp + 0x77]
mov dword [rsi + 1], ecx
lea edi, [rcx + 5]
mov rcx, r13
call fcn.18002f934
mov edx, edi
mov rcx, rsi
call fcn.18002c4d0
mov rcx, rsi
call fcn.18002f934
nop
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], r14d
dec r14d
test r14d, r14d
jg 0x180025f95
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rbx, qword [rsp + 0x100]
add rsp, 0xc0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
lea rbp, [rsp - 0x27]
sub rsp, 0x90
mov qword [rbp + 0x1f], 0xfffffffffffffffe
mov r13, rcx
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x7f], rax
lea rdx, [0x18004e29c]
test rdx, 0xffffffffffff0000
jne 0x18002601b
movzx ebx, dx
mov ecx, ebx
call fcn.180001110
test rax, rax
je 0x18002602b
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp + 0x7f]
call fcn.180001a00
jmp 0x18002602b
mov r8d, 1
lea rcx, [rbp + 0x7f]
call fcn.180001b40
nop
mov edx, dword [r13 + 8]
or r14d, 0xffffffff
test edx, edx
je 0x1800261d5
xor ebx, ebx
mov qword [rbp - 0x29], rbx
mov qword [rbp - 0x21], rbx
mov qword [rbp - 0x19], rbx
lea r9, [rbp - 0x29]
lea r8, [0x18004e270]
mov rcx, qword [r13 + 0x10]
call fcn.180020050
mov r11, qword [rbp - 0x21]
mov rsi, qword [rbp - 0x29]
sub r11, rsi
and r11, 0xfffffffffffffff8
cmp r11, 0x20
jne 0x180026196
mov dword [rbp + 0x6f], ebx
lea r8, [rbp + 0x6f]
lea rdx, [0x18004e268]
mov rcx, qword [rsi]
call fcn.1800300e4
mov rcx, qword [rsi + 8]
sub rcx, 0x18
call fcn.180001790
lea rdi, [rax + 0x18]
mov qword [rbp - 1], rdi
mov rcx, qword [rsi + 0x10]
sub rcx, 0x18
call fcn.180001790
lea rbx, [rax + 0x18]
mov qword [rbp + 0x17], rbx
mov rcx, qword [rsi + 0x18]
sub rcx, 0x18
call fcn.180001790
add rax, 0x18
mov qword [rbp + 7], rax
lea rcx, [rbp - 0x31]
mov qword [rbp + 0x77], rcx
lea rcx, [rbp - 0x39]
mov qword [rbp + 0xf], rcx
lea rsi, [rax - 0x18]
mov rcx, rsi
call fcn.180001790
add rax, 0x18
mov qword [rbp - 0x31], rax
lea rcx, [rbx - 0x18]
call fcn.180001790
add rax, 0x18
mov qword [rbp - 0x39], rax
lea rcx, [rdi - 0x18]
call fcn.180001790
add rax, 0x18
mov qword [rbp - 9], rax
lea r9, [rbp - 0x31]
lea r8, [rbp - 0x39]
lea rdx, [rbp - 9]
mov ecx, dword [rbp + 0x6f]
call fcn.180025540
test eax, eax
je 0x18002613e
lea r8d, [r14 + 2]
lea rdx, [0x18004e26c]
lea rcx, [rbp + 0x7f]
call fcn.180001b40
nop
mov eax, r14d
lock xadd dword [rsi + 0x10], eax
dec eax
test eax, eax
jg 0x180026159
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov eax, r14d
lock xadd dword [rbx - 8], eax
dec eax
test eax, eax
jg 0x180026176
mov rcx, qword [rbx - 0x18]
mov rax, qword [rcx]
lea rdx, [rbx - 0x18]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov eax, r14d
lock xadd dword [rdi - 8], eax
dec eax
test eax, eax
jg 0x180026192
mov rcx, qword [rdi - 0x18]
mov rax, qword [rcx]
lea rdx, [rdi - 0x18]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rsi, qword [rbp - 0x29]
test rsi, rsi
je 0x1800261d5
cmp rsi, qword [rbp - 0x21]
je 0x1800261cd
mov rdx, qword [rsi]
sub rdx, 0x18
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1800261bf
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
add rsi, 8
cmp rsi, qword [rbp - 0x21]
jne 0x1800261a1
mov rsi, qword [rbp - 0x29]
mov rcx, rsi
call fcn.18002f934
mov rbx, qword [rbp + 0x7f]
mov r12d, dword [rbx - 0x10]
mov edi, dword [r13 + 4]
mov rax, qword [0x18005fdf8]
mov esi, dword [rax - 0x10]
lea ecx, [rsi + r12 + 0xd]
call fcn.18002f604
mov r13, rax
mov byte [rax], reloc.WS2_32.dll_shutdown
mov dword [rax + 1], edi
mov dword [rax + 5], esi
mov dword [rax + 9], r12d
mov r8d, esi
lea rcx, [rax + 0xd]
mov rdx, qword [0x18005fdf8]
call fcn.18002fb80
lea edi, [rsi + 0xd]
mov r8d, r12d
mov ecx, edi
add rcx, r13
mov rdx, rbx
call fcn.18002fb80
add edi, r12d
lea eax, [rdi*4 + 0x800]
mov dword [rbp + 0x77], eax
inc eax
movsxd rcx, eax
call fcn.18002f604
mov rsi, rax
lea r9, [rax + 5]
lea rax, [rbp + 0x77]
mov qword [rsp + 0x20], rax
lea r8, [0x18004e7a0]
mov edx, edi
mov rcx, r13
call fcn.180023f20
mov byte [rsi], 0x30
mov ecx, dword [rbp + 0x77]
mov dword [rsi + 1], ecx
lea edi, [rcx + 5]
mov rcx, r13
call fcn.18002f934
mov edx, edi
mov rcx, rsi
call fcn.18002c4d0
mov rcx, rsi
call fcn.18002f934
nop
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], r14d
dec r14d
test r14d, r14d
jg 0x1800262a5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
add rsp, 0x90
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
push rbp
push rsi
push rdi
sub rsp, 0x30
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov qword [rsp + 0x50], rbx
mov rbp, rcx
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x60], rax
lea rdx, [0x18004e918]
test rdx, 0xffffffffffff0000
jne 0x1800276b4
movzx edi, dx
mov ecx, edi
call fcn.180001110
test rax, rax
je 0x1800276c5
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.180001a00
jmp 0x1800276c5
mov r8d, 3
lea rcx, [rsp + 0x60]
call fcn.180001b40
nop
or rbx, 0xffffffffffffffff
cmp dword [rbp + 8], 0
jbe 0x1800277d5
mov rsi, qword [rbp + 0x10]
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x68], rdi
test rsi, rsi
je 0x180027732
test rsi, 0xffffffffffff0000
jne 0x180027720
movzx esi, si
mov ecx, esi
call fcn.180001110
test rax, rax
je 0x180027749
mov r8d, esi
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.180001a00
jmp 0x180027744
xor eax, eax
mov rcx, rbx
mov rdi, rsi
repne scasb al, byte [rdi]
not rcx
dec rcx
jmp 0x180027734
xor ecx, ecx
mov r8d, ecx
mov rdx, rsi
lea rcx, [rsp + 0x68]
call fcn.180001b40
mov rdi, qword [rsp + 0x68]
mov dword [rsp + 0x58], 0
lea r8, [rsp + 0x58]
lea rdx, [0x18004e268]
mov rcx, rdi
call fcn.1800300e4
mov esi, dword [rsp + 0x58]
lea eax, [rsi - 0xa]
cmp eax, 0x316
ja 0x1800277bb
cmp esi, 0x320
jg 0x1800277a3
cmp esi, 0xa
jl 0x1800277a3
or edx, 0xffffffff
mov rcx, qword [0x18005ffe0]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [0x18005ffe8], esi
mov rcx, qword [0x18005ffe0]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov r8d, 2
lea rdx, [0x18004e84c]
lea rcx, [rsp + 0x60]
call fcn.180001b40
nop
lea rdx, [rdi - 0x18]
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1800277d5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
cmp dword [rbp + 4], 0
jbe 0x180027803
mov rcx, qword [rsp + 0x60]
add rcx, 0xffffffffffffffe8
call fcn.180001790
add rax, 0x18
mov qword [rsp + 0x20], rax
mov r8b, 0x31
mov edx, dword [rbp + 4]
lea rcx, [rsp + 0x20]
call fcn.180002d60
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x180027820
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rbx, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
pop rsi
pop rbp
ret
push rbp
push rsi
push rdi
sub rsp, 0x30
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov qword [rsp + 0x50], rbx
mov rbp, rcx
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x58], rax
lea rdx, [0x18004e29c]
test rdx, 0xffffffffffff0000
jne 0x1800286c4
movzx edi, dx
mov ecx, edi
call fcn.180001110
test rax, rax
je 0x1800286d5
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.180001a00
jmp 0x1800286d5
mov r8d, 1
lea rcx, [rsp + 0x58]
call fcn.180001b40
nop
or rsi, 0xffffffffffffffff
cmp dword [rbp + 8], 0
jbe 0x1800287af
mov rbx, qword [rbp + 0x10]
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x60], rax
test rbx, rbx
je 0x180028742
test rbx, 0xffffffffffff0000
jne 0x180028730
movzx edi, bx
mov ecx, edi
call fcn.180001110
test rax, rax
je 0x180028755
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.180001a00
jmp 0x180028755
xor eax, eax
mov rcx, rsi
mov rdi, rbx
repne scasb al, byte [rdi]
not rcx
dec rcx
jmp 0x180028744
xor ecx, ecx
mov r8d, ecx
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.180001b40
nop
mov rdi, qword [rsp + 0x60]
lea rcx, [rdi - 0x18]
call fcn.180001790
add rax, 0x18
mov qword [rsp + 0x68], rax
xor edx, edx
lea rcx, [rsp + 0x68]
call fcn.1800284d0
test eax, eax
je 0x180028794
mov r8d, 1
lea rdx, [0x18004e26c]
lea rcx, [rsp + 0x58]
call fcn.180001b40
nop
mov eax, esi
lock xadd dword [rdi - 8], eax
dec eax
test eax, eax
jg 0x1800287af
mov rcx, qword [rdi - 0x18]
mov rax, qword [rcx]
lea rdx, [rdi - 0x18]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rdi, qword [rsp + 0x58]
lea rcx, [rdi - 0x18]
call fcn.180001790
add rax, 0x18
mov qword [rsp + 0x20], rax
mov r8b, 0x1b
mov edx, dword [rbp + 4]
lea rcx, [rsp + 0x20]
call fcn.180002d60
nop
lock xadd dword [rdi - 8], esi
dec esi
test esi, esi
jg 0x1800287f0
mov rcx, qword [rdi - 0x18]
mov rax, qword [rcx]
lea rdx, [rdi - 0x18]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rbx, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
pop rsi
pop rbp
ret
push rbp
push rsi
push rdi
sub rsp, 0x30
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov qword [rsp + 0x50], rbx
mov rbp, rcx
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x58], rax
lea rdx, [0x18004e29c]
test rdx, 0xffffffffffff0000
jne 0x180028864
movzx edi, dx
mov ecx, edi
call fcn.180001110
test rax, rax
je 0x180028875
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.180001a00
jmp 0x180028875
mov r8d, 1
lea rcx, [rsp + 0x58]
call fcn.180001b40
nop
or rsi, 0xffffffffffffffff
cmp dword [rbp + 8], 0
jbe 0x180028952
mov rbx, qword [rbp + 0x10]
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x60], rax
test rbx, rbx
je 0x1800288e2
test rbx, 0xffffffffffff0000
jne 0x1800288d0
movzx edi, bx
mov ecx, edi
call fcn.180001110
test rax, rax
je 0x1800288f5
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.180001a00
jmp 0x1800288f5
xor eax, eax
mov rcx, rsi
mov rdi, rbx
repne scasb al, byte [rdi]
not rcx
dec rcx
jmp 0x1800288e4
xor ecx, ecx
mov r8d, ecx
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.180001b40
nop
mov rdi, qword [rsp + 0x60]
lea rcx, [rdi - 0x18]
call fcn.180001790
add rax, 0x18
mov qword [rsp + 0x68], rax
mov edx, 1
lea rcx, [rsp + 0x68]
call fcn.1800284d0
test eax, eax
je 0x180028937
mov r8d, 1
lea rdx, [0x18004e26c]
lea rcx, [rsp + 0x58]
call fcn.180001b40
nop
mov eax, esi
lock xadd dword [rdi - 8], eax
dec eax
test eax, eax
jg 0x180028952
mov rcx, qword [rdi - 0x18]
mov rax, qword [rcx]
lea rdx, [rdi - 0x18]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rdi, qword [rsp + 0x58]
lea rcx, [rdi - 0x18]
call fcn.180001790
add rax, 0x18
mov qword [rsp + 0x20], rax
mov r8b, 0x1c
mov edx, dword [rbp + 4]
lea rcx, [rsp + 0x20]
call fcn.180002d60
nop
lock xadd dword [rdi - 8], esi
dec esi
test esi, esi
jg 0x180028993
mov rcx, qword [rdi - 0x18]
mov rax, qword [rcx]
lea rdx, [rdi - 0x18]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rbx, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
pop rsi
pop rbp
ret
push rbp
push rsi
push rdi
sub rsp, 0x30
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov qword [rsp + 0x50], rbx
mov rbp, rcx
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x58], rax
lea rdx, [0x18004e29c]
test rdx, 0xffffffffffff0000
jne 0x180028a04
movzx edi, dx
mov ecx, edi
call fcn.180001110
test rax, rax
je 0x180028a15
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.180001a00
jmp 0x180028a15
mov r8d, 1
lea rcx, [rsp + 0x58]
call fcn.180001b40
nop
or rsi, 0xffffffffffffffff
cmp dword [rbp + 8], 0
jbe 0x180028aed
mov rbx, qword [rbp + 0x10]
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x60], rax
test rbx, rbx
je 0x180028a82
test rbx, 0xffffffffffff0000
jne 0x180028a70
movzx edi, bx
mov ecx, edi
call fcn.180001110
test rax, rax
je 0x180028a95
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.180001a00
jmp 0x180028a95
xor eax, eax
mov rcx, rsi
mov rdi, rbx
repne scasb al, byte [rdi]
not rcx
dec rcx
jmp 0x180028a84
xor ecx, ecx
mov r8d, ecx
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.180001b40
nop
mov rdi, qword [rsp + 0x60]
lea rcx, [rdi - 0x18]
call fcn.180001790
add rax, 0x18
mov qword [rsp + 0x68], rax
lea rcx, [rsp + 0x68]
call fcn.180028420
test eax, eax
je 0x180028ad2
mov r8d, 1
lea rdx, [0x18004e26c]
lea rcx, [rsp + 0x58]
call fcn.180001b40
nop
mov eax, esi
lock xadd dword [rdi - 8], eax
dec eax
test eax, eax
jg 0x180028aed
mov rcx, qword [rdi - 0x18]
mov rax, qword [rcx]
lea rdx, [rdi - 0x18]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rdi, qword [rsp + 0x58]
lea rcx, [rdi - 0x18]
call fcn.180001790
add rax, 0x18
mov qword [rsp + 0x20], rax
mov r8b, 0x1d
mov edx, dword [rbp + 4]
lea rcx, [rsp + 0x20]
call fcn.180002d60
nop
lock xadd dword [rdi - 8], esi
dec esi
test esi, esi
jg 0x180028b2e
mov rcx, qword [rdi - 0x18]
mov rax, qword [rcx]
lea rdx, [rdi - 0x18]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rbx, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
pop rsi
pop rbp
ret
push rbx
push rsi
push rdi
sub rsp, 0x50
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov rsi, rcx
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x78], rax
lea rdx, [0x18004e29c]
test rdx, 0xffffffffffff0000
jne 0x180028b9f
movzx ebx, dx
mov ecx, ebx
call fcn.180001110
test rax, rax
je 0x180028bb0
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.180001a00
jmp 0x180028bb0
mov r8d, 1
lea rcx, [rsp + 0x78]
call fcn.180001b40
nop
mov edx, dword [rsi + 8]
or edi, 0xffffffff
test edx, edx
je 0x180028ce5
xor eax, eax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rax
lea r9, [rsp + 0x30]
lea r8, [0x18004e954]
mov rcx, qword [rsi + 0x10]
call fcn.180020050
mov r11, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
sub r11, rbx
and r11, 0xfffffffffffffff8
cmp r11, 0x10
jne 0x180028ca1
mov rcx, qword [rbx]
sub rcx, 0x18
call fcn.180001790
add rax, 0x18
mov qword [rsp + 0x80], rax
mov rcx, qword [rbx + 8]
sub rcx, 0x18
call fcn.180001790
lea rbx, [rax + 0x18]
mov qword [rsp + 0x88], rbx
lea rdx, [rsp + 0x88]
lea rcx, [rsp + 0x80]
call fcn.180028290
test eax, eax
je 0x180028c5f
lea r8d, [rdi + 2]
lea rdx, [0x18004e26c]
lea rcx, [rsp + 0x78]
call fcn.180001b40
nop
lea rdx, [rbx - 0x18]
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180028c7a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rsp + 0x80]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180028c9c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rbx, qword [rsp + 0x30]
test rbx, rbx
je 0x180028ce5
cmp rbx, qword [rsp + 0x38]
je 0x180028cdd
nop dword [rax]
mov rdx, qword [rbx]
sub rdx, 0x18
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180028ccd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
add rbx, 8
cmp rbx, qword [rsp + 0x38]
jne 0x180028cb0
mov rbx, qword [rsp + 0x30]
mov rcx, rbx
call fcn.18002f934
mov rbx, qword [rsp + 0x78]
lea rcx, [rbx - 0x18]
call fcn.180001790
add rax, 0x18
mov qword [rsp + 0x20], rax
mov r8b, 0x1e
mov edx, dword [rsi + 4]
lea rcx, [rsp + 0x20]
call fcn.180002d60
nop
lock xadd dword [rbx - 8], edi
dec edi
test edi, edi
jg 0x180028d26
mov rcx, qword [rbx - 0x18]
mov rax, qword [rcx]
lea rdx, [rbx - 0x18]
call qword [rax + reloc.WS2_32.dll_htonl]
add rsp, 0x50
pop rdi
pop rsi
pop rbx
ret
push rbp
push rsi
push rdi
push r12
push r13
sub rsp, 0x40
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov qword [rsp + 0x70], rbx
mov r12, rcx
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x78], rbx
lea rdx, [0x18004e84c]
test rdx, 0xffffffffffff0000
jne 0x1800292f8
movzx edi, dx
mov ecx, edi
call fcn.180001110
test rax, rax
je 0x18002930d
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.180001a00
jmp 0x180029308
mov r8d, 2
lea rcx, [rsp + 0x78]
call fcn.180001b40
mov rbx, qword [rsp + 0x78]
or rbp, 0xffffffffffffffff
cmp dword [r12 + 8], 0
jbe 0x180029505
mov rsi, qword [r12 + 0x10]
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x80], rdi
xor r13d, r13d
test rsi, rsi
je 0x180029386
test rsi, 0xffffffffffff0000
jne 0x180029374
movzx esi, si
mov ecx, esi
call fcn.180001110
test rax, rax
je 0x1800293a4
mov r8d, esi
mov rdx, rax
lea rcx, [rsp + 0x80]
call fcn.180001a00
jmp 0x18002939c
xor eax, eax
mov rcx, rbp
mov rdi, rsi
repne scasb al, byte [rdi]
not rcx
dec rcx
jmp 0x180029389
mov ecx, r13d
mov r8d, ecx
mov rdx, rsi
lea rcx, [rsp + 0x80]
call fcn.180001b40
mov rdi, qword [rsp + 0x80]
lea rdx, [0x18004e29c]
mov rcx, rdi
call fcn.180030ab0
test eax, eax
sete al
test al, al
jne 0x18002949b
lea rdx, [0x18004e26c]
mov rcx, rdi
call fcn.180030ab0
test eax, eax
sete al
test al, al
jne 0x18002949b
lea rcx, [rsp + 0x88]
call fcn.180029150
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x180029443
cmp dword [rbx + 0x10], 0
jl 0x180029434
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x180029434
call fcn.180001790
mov rdi, rax
mov ecx, ebp
lock xadd dword [rbx + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x180029429
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
lea rax, [rdi + 0x18]
mov qword [rsp + 0x78], rax
jmp 0x180029443
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x78]
call fcn.180001b40
nop
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180029465
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rbx, qword [rsp + 0x78]
add rbx, 0xffffffffffffffe8
mov rcx, rbx
call fcn.180001790
add rax, 0x18
mov qword [rsp + 0x20], rax
mov r8b, 0x2b
mov edx, dword [r12 + 4]
lea rcx, [rsp + 0x20]
call fcn.180002d60
mov rdi, qword [rsp + 0x80]
jmp 0x1800294e9
mov esi, 1
lea rdx, [0x18004e29c]
mov rcx, rdi
call fcn.180030ab0
test eax, eax
sete al
test al, al
cmovne esi, r13d
add rbx, 0xffffffffffffffe8
mov rcx, rbx
call fcn.180001790
add rax, 0x18
mov qword [rsp + 0x28], rax
mov r8b, 0x2b
mov edx, dword [r12 + 4]
lea rcx, [rsp + 0x28]
call fcn.180002d60
mov ecx, esi
call fcn.180028fd0
nop
lea rdx, [rdi - 0x18]
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18002952d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
jmp 0x18002952d
add rbx, 0xffffffffffffffe8
mov rcx, rbx
call fcn.180001790
add rax, 0x18
mov qword [rsp + 0x30], rax
mov r8b, 0x2b
mov edx, dword [r12 + 4]
lea rcx, [rsp + 0x30]
call fcn.180002d60
nop
lock xadd dword [rbx + 0x10], ebp
dec ebp
test ebp, ebp
jg 0x180029544
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
mov rbx, qword [rsp + 0x70]
add rsp, 0x40
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
push rbp
push rsi
push rdi
push r12
push r13
sub rsp, 0x60
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x90], rbx
mov r13, rcx
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0xa0], rbx
lea rdx, [0x18004e26c]
test rdx, 0xffffffffffff0000
jne 0x18002af11
movzx edi, dx
mov ecx, edi
call fcn.180001110
test rax, rax
je 0x18002af2c
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0xa0]
call fcn.180001a00
jmp 0x18002af24
mov r8d, 1
lea rcx, [rsp + 0xa0]
call fcn.180001b40
mov rbx, qword [rsp + 0xa0]
mov edi, dword [r13 + 4]
mov rax, qword [0x18005fdf8]
mov esi, dword [rax - 0x10]
lea ecx, [rsi + 0xe]
call fcn.18002f604
mov r12, rax
mov byte [rax], 6
mov dword [rax + 1], edi
mov dword [rax + 5], esi
mov dword [rax + 9], 1
mov r8d, esi
lea rcx, [rax + 0xd]
mov rdx, qword [0x18005fdf8]
call fcn.18002fb80
add esi, 0xd
movzx ecx, byte [rbx]
mov byte [rsi + r12], cl
lea eax, [rsi*4 + 0x804]
mov dword [rsp + 0x98], eax
inc eax
movsxd rcx, eax
call fcn.18002f604
mov rbp, rax
lea r9, [rax + 5]
lea rax, [rsp + 0x98]
mov qword [rsp + 0x20], rax
lea r8, [0x18004e7a0]
lea edx, [rsi + 1]
mov rcx, r12
call fcn.180023f20
mov byte [rbp], 0x30
mov ecx, dword [rsp + 0x98]
mov dword [rbp + 1], ecx
lea edi, [rcx + 5]
mov rcx, r12
call fcn.18002f934
mov edx, edi
mov rcx, rbp
call fcn.18002c4d0
mov rcx, rbp
call fcn.18002f934
mov edx, dword [r13 + 8]
test edx, edx
jne 0x18002aff5
mov dword [0x18005fda0], 1
or esi, 0xffffffff
jmp 0x18002b08e
xor edi, edi
mov qword [rsp + 0x38], rdi
mov ebp, edi
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x48], rdi
test edx, edx
je 0x18002b02b
lea r9, [rsp + 0x38]
lea r8, [0x18004ea18]
mov rcx, qword [r13 + 0x10]
call fcn.180020050
mov rbp, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x38]
lea rcx, [rsp + 0x38]
call fcn.18002aab0
nop
or esi, 0xffffffff
test rdi, rdi
je 0x18002b08e
cmp rdi, rbp
je 0x18002b085
nop word [rax + rax]
mov rdx, qword [rdi]
sub rdx, 0x18
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18002b06d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
add rdi, 8
cmp rdi, qword [rsp + 0x40]
jne 0x18002b050
mov rbx, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0x38]
mov rcx, rdi
call fcn.18002f934
nop
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], esi
dec esi
test esi, esi
jg 0x18002b0a6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rbx, qword [rsp + 0x90]
add rsp, 0x60
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
push rbx
push rbp
push rsi
push rdi
push r12
sub rsp, 0x40
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov r12, rcx
mov edi, dword [rcx + 4]
mov rax, qword [0x18005fdf8]
mov ebx, dword [rax - 0x10]
lea ecx, [rbx + 0xe]
call fcn.18002f604
mov rbp, rax
mov byte [rax], 9
mov dword [rax + 1], edi
mov dword [rax + 5], ebx
mov dword [rax + 9], 1
mov r8d, ebx
lea rcx, [rax + 0xd]
mov rdx, qword [0x18005fdf8]
call fcn.18002fb80
add ebx, 0xd
movzx ecx, byte [0x18004e26c]
mov byte [rbx + rbp], cl
lea eax, [rbx*4 + 0x804]
mov dword [rsp + 0x70], eax
inc eax
movsxd rcx, eax
call fcn.18002f604
mov rsi, rax
lea r9, [rax + 5]
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea r8, [0x18004e7a0]
lea edx, [rbx + 1]
mov rcx, rbp
call fcn.180023f20
mov byte [rsi], 0x30
mov ecx, dword [rsp + 0x70]
mov dword [rsi + 1], ecx
lea edi, [rcx + 5]
mov rcx, rbp
call fcn.18002f934
mov edx, edi
mov rcx, rsi
call fcn.18002c4d0
mov rcx, rsi
call fcn.18002f934
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x78], rax
or rbx, 0xffffffffffffffff
cmp dword [r12 + 8], 0
jbe 0x18002b264
mov rdx, qword [r12 + 0x10]
test rdx, rdx
jne 0x18002b242
xor ecx, ecx
jmp 0x18002b252
xor eax, eax
mov rcx, rbx
mov rdi, rdx
repne scasb al, byte [rdi]
not rcx
dec rcx
mov r8d, ecx
lea rcx, [rsp + 0x78]
call fcn.180001b40
mov rax, qword [rsp + 0x78]
lea rdi, [rax - 0x18]
mov rcx, rdi
call fcn.180001790
add rax, 0x18
mov qword [rsp + 0x80], rax
lea rcx, [rsp + 0x80]
call fcn.18002b0c0
nop
lock xadd dword [rdi + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x18002b2a1
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.WS2_32.dll_htonl]
mov eax, 1
add rsp, 0x40
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
push rbp
push rsi
push rdi
push r12
push r13
mov rbp, rsp
sub rsp, 0x70
mov qword [rbp - 0x30], 0xfffffffffffffffe
mov qword [rsp + 0xa0], rbx
mov r13, rcx
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x38], rax
lea rdx, [0x18004e84c]
test rdx, 0xffffffffffff0000
jne 0x18002caab
movzx edi, dx
mov ecx, edi
call fcn.180001110
test rax, rax
je 0x18002cabb
mov r8d, edi
mov rdx, rax
lea rcx, [rbp + 0x38]
call fcn.180001a00
jmp 0x18002cabb
mov r8d, 2
lea rcx, [rbp + 0x38]
call fcn.180001b40
nop
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x50], rbx
xor esi, esi
or r12, 0xffffffffffffffff
cmp dword [r13 + 8], esi
jbe 0x18002cb0d
mov rdx, qword [r13 + 0x10]
test rdx, rdx
jne 0x18002caed
mov ecx, esi
jmp 0x18002cafd
xor eax, eax
mov rcx, r12
mov rdi, rdx
repne scasb al, byte [rdi]
not rcx
dec rcx
mov r8d, ecx
lea rcx, [rbp - 0x50]
call fcn.180001b40
mov rbx, qword [rbp - 0x50]
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rbp + 0x48], rdi
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x40], rax
mov qword [rbp - 0x28], rsi
mov qword [rbp - 0x20], rsi
mov qword [rbp - 0x18], rsi
mov edx, dword [rbx - 0x10]
test edx, edx
je 0x18002cb69
lea r9, [rbp - 0x28]
lea r8, [0x18004e270]
mov rcx, rbx
call fcn.180020050
mov rsi, qword [rbp - 0x28]
mov rax, qword [rbp - 0x20]
sub rax, rsi
and rax, 0xfffffffffffffff8
cmp rax, 0x10
jne 0x18002cc41
mov rdx, qword [rsi]
lea rcx, [rdx - 0x18]
lea rbx, [rdi - 0x18]
cmp rcx, rbx
je 0x18002cbdd
cmp dword [rbx + 0x10], 0
jl 0x18002cbcc
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x18002cbcc
call fcn.180001790
mov rdi, rax
mov ecx, r12d
lock xadd dword [rbx + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x18002cbbe
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
add rdi, 0x18
mov qword [rbp + 0x48], rdi
mov rsi, qword [rbp - 0x28]
jmp 0x18002cbdd
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp + 0x48]
call fcn.180001b40
mov rdi, qword [rbp + 0x48]
mov rdx, qword [rsi + 8]
lea rcx, [rdx - 0x18]
mov rbx, qword [rbp + 0x40]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x18002cc41
cmp dword [rbx + 0x10], 0
jl 0x18002cc34
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x18002cc34
call fcn.180001790
mov rdi, rax
mov ecx, r12d
lock xadd dword [rbx + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x18002cc22
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
lea rax, [rdi + 0x18]
mov qword [rbp + 0x40], rax
mov rdi, qword [rbp + 0x48]
mov rsi, qword [rbp - 0x28]
jmp 0x18002cc41
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp + 0x40]
call fcn.180001b40
lea rdx, [0x18004e29c]
mov rcx, rdi
call fcn.180030ab0
test eax, eax
sete al
test al, al
je 0x18002ccff
mov rcx, qword [rbp + 0x40]
add rcx, 0xffffffffffffffe8
call fcn.180001790
add rax, 0x18
mov qword [rbp - 0x48], rax
lea rdx, [rbp - 0x48]
lea rcx, [rbp - 0x40]
call fcn.18002c870
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rdi, qword [rbp + 0x38]
add rdi, 0xffffffffffffffe8
cmp rcx, rdi
je 0x18002ccdc
cmp dword [rdi + 0x10], 0
jl 0x18002ccce
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x18002ccce
call fcn.180001790
mov rbx, rax
mov ecx, r12d
lock xadd dword [rdi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x18002ccc4
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.WS2_32.dll_htonl]
lea rax, [rbx + 0x18]
mov qword [rbp + 0x38], rax
jmp 0x18002ccdc
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp + 0x38]
call fcn.180001b40
nop
mov rdx, qword [rbp - 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18002ccfb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rsi, qword [rbp - 0x28]
mov rdi, qword [rbp + 0x38]
lea rcx, [rdi - 0x18]
call fcn.180001790
add rax, 0x18
mov qword [rbp - 0x38], rax
mov r8b, 0x2d
mov edx, dword [r13 + 4]
lea rcx, [rbp - 0x38]
call fcn.180002d60
nop
test rsi, rsi
je 0x18002cd65
cmp rsi, qword [rbp - 0x20]
je 0x18002cd5c
mov rdx, qword [rsi]
sub rdx, 0x18
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18002cd4e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
add rsi, 8
cmp rsi, qword [rbp - 0x20]
jne 0x18002cd30
mov rsi, qword [rbp - 0x28]
mov rcx, rsi
call fcn.18002f934
nop
mov rdx, qword [rbp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18002cd85
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rbp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18002cda5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rbp - 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18002cdc5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
lock xadd dword [rdi - 8], r12d
dec r12d
test r12d, r12d
jg 0x18002cde1
mov rcx, qword [rdi - 0x18]
mov rax, qword [rcx]
lea rdx, [rdi - 0x18]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rbx, qword [rsp + 0xa0]
add rsp, 0x70
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
mov qword [rbp - 0x28], 0xfffffffffffffffe
mov qword [rsp + 0xa0], rbx
mov r13, rcx
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x30], rax
lea rdx, [0x18004e26c]
test rdx, 0xffffffffffff0000
jne 0x18002e60f
movzx ebx, dx
mov ecx, ebx
call fcn.180001110
test rax, rax
je 0x18002e61f
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp - 0x30]
call fcn.180001a00
jmp 0x18002e61f
mov r8d, 1
lea rcx, [rbp - 0x30]
call fcn.180001b40
nop
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
lea rsi, [rax + 0x18]
mov qword [rbp + 0x58], rsi
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rbp + 0x50], rdi
xor r15d, r15d
mov qword [rbp - 0x20], r15
xor eax, eax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rax
mov edx, dword [r13 + 8]
test edx, edx
je 0x18002e686
lea r9, [rbp - 0x20]
lea r8, [0x18004e270]
mov rcx, qword [r13 + 0x10]
call fcn.180020050
mov r15, qword [rbp - 0x20]
mov rax, qword [rbp - 0x18]
sub rax, r15
and rax, 0xfffffffffffffff8
or ebx, 0xffffffff
cmp rax, 0x10
jne 0x18002e76f
mov rdx, qword [r15]
lea rcx, [rdx - 0x18]
lea r12, [rsi - 0x18]
cmp rcx, r12
je 0x18002e703
cmp dword [r12 + 0x10], 0
jl 0x18002e6f2
mov rax, qword [r12]
cmp qword [rcx], rax
jne 0x18002e6f2
call fcn.180001790
mov rsi, rax
mov ecx, ebx
lock xadd dword [r12 + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x18002e6e0
mov rcx, qword [r12]
mov r8, qword [rcx]
mov rdx, r12
call qword [rreloc.WS2_32.dll_htonl + 8]
add rsi, 0x18
mov qword [rbp + 0x58], rsi
mov rdi, qword [rbp + 0x50]
mov r15, qword [rbp - 0x20]
jmp 0x18002e703
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp + 0x58]
call fcn.180001b40
mov rsi, qword [rbp + 0x58]
mov rdx, qword [r15 + 8]
lea rcx, [rdx - 0x18]
lea r12, [rdi - 0x18]
cmp rcx, r12
je 0x18002e785
cmp dword [r12 + 0x10], 0
jl 0x18002e75c
mov rax, qword [r12]
cmp qword [rcx], rax
jne 0x18002e75c
call fcn.180001790
mov rdi, rax
mov ecx, ebx
lock xadd dword [r12 + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x18002e74a
mov rcx, qword [r12]
mov r8, qword [rcx]
mov rdx, r12
call qword [rreloc.WS2_32.dll_htonl + 8]
add rdi, 0x18
mov qword [rbp + 0x50], rdi
mov rsi, qword [rbp + 0x58]
mov r15, qword [rbp - 0x20]
jmp 0x18002e785
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp + 0x50]
call fcn.180001b40
mov rdi, qword [rbp + 0x50]
jmp 0x18002e785
mov r8d, 1
lea rdx, [0x18004e29c]
lea rcx, [rbp - 0x30]
call fcn.180001b40
mov ebx, dword [r13 + 4]
mov rax, qword [0x18005fdf8]
mov r12d, dword [rax - 0x10]
lea ecx, [r12 + 0xe]
call fcn.18002f604
mov r14, rax
mov byte [rax], 5
mov dword [rax + 1], ebx
mov dword [rax + 5], r12d
mov dword [rax + 9], 1
mov r8d, r12d
lea rcx, [rax + 0xd]
mov rdx, qword [0x18005fdf8]
call fcn.18002fb80
add r12d, 0xd
mov rbx, qword [rbp - 0x30]
movzx ecx, byte [rbx]
mov byte [r12 + r14], cl
lea eax, [r12*4 + 0x804]
mov dword [rbp + 0x48], eax
inc eax
movsxd rcx, eax
call fcn.18002f604
mov r13, rax
lea r9, [rax + 5]
lea rax, [rbp + 0x48]
mov qword [rsp + 0x20], rax
lea r8, [0x18004e7a0]
lea edx, [r12 + 1]
mov rcx, r14
call fcn.180023f20
mov byte [r13], gethostbyname
mov ecx, dword [rbp + 0x48]
mov dword [r13 + 1], ecx
lea r12d, [rcx + 5]
mov rcx, r14
call fcn.18002f934
mov edx, r12d
mov rcx, r13
call fcn.18002c4d0
mov rcx, r13
call fcn.18002f934
lea rdx, [0x18004e29c]
mov rcx, rbx
call fcn.180030ab0
test eax, eax
sete al
test al, al
je 0x18002e8ea
test r15, r15
je 0x18002e8a8
cmp r15, qword [rbp - 0x18]
je 0x18002e89f
or ebx, 0xffffffff
nop word [rax + rax]
mov rdx, qword [r15]
sub rdx, 0x18
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18002e88d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
add r15, 8
cmp r15, qword [rbp - 0x18]
jne 0x18002e870
mov rdi, qword [rbp + 0x50]
mov r15, qword [rbp - 0x20]
mov rcx, r15
call fcn.18002f934
nop
lea rdx, [rdi - 0x18]
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18002e8c6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rbp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18002e8e5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
jmp 0x18002e9d5
mov ecx, dword [rsi - 0x10]
mov eax, dword [rdi - 0x10]
lea ecx, [rax + rcx + 0x40]
movsxd rcx, ecx
call fcn.18002f604
mov rbx, rax
mov r9, rdi
mov r8, rsi
lea rdx, str._s_t_s
mov rcx, rax
call fcn.18003069c
movsxd rcx, eax
mov byte [rcx + rbx], 0
xor eax, eax
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], eax
mov r9, rbx
lea r8, [0x18002e050]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
test r15, r15
je 0x18002e998
cmp r15, qword [rbp - 0x18]
je 0x18002e98f
or ebx, 0xffffffff
nop word [rax + rax]
mov rdx, qword [r15]
sub rdx, 0x18
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18002e97d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
add r15, 8
cmp r15, qword [rbp - 0x18]
jne 0x18002e960
mov rdi, qword [rbp + 0x50]
mov r15, qword [rbp - 0x20]
mov rcx, r15
call fcn.18002f934
nop
lea rdx, [rdi - 0x18]
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18002e9b6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rbp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18002e9d5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rbp - 0x30]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x18002e9f1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rbx, qword [rsp + 0xa0]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
push rbp
push rsi
push rdi
sub rsp, 0x40
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x60], rbx
mov rbp, rcx
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x70], rax
lea rdx, [0x18004dd32]
test rdx, 0xffffffffffff0000
jne 0x18002f304
movzx edi, dx
mov ecx, edi
call fcn.180001110
test rax, rax
je 0x18002f312
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.180001a00
jmp 0x18002f312
xor r8d, r8d
lea rcx, [rsp + 0x70]
call fcn.180001b40
nop
or rsi, 0xffffffffffffffff
cmp dword [rbp + 8], 0
jbe 0x18002f4a2
mov rbx, qword [rbp + 0x10]
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x68], rdi
test rbx, rbx
je 0x18002f37f
test rbx, 0xffffffffffff0000
jne 0x18002f36d
movzx ebx, bx
mov ecx, ebx
call fcn.180001110
test rax, rax
je 0x18002f396
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.180001a00
jmp 0x18002f391
xor eax, eax
mov rcx, rsi
mov rdi, rbx
repne scasb al, byte [rdi]
not rcx
dec rcx
jmp 0x18002f381
xor ecx, ecx
mov r8d, ecx
mov rdx, rbx
lea rcx, [rsp + 0x68]
call fcn.180001b40
mov rdi, qword [rsp + 0x68]
lea rdx, [0x18004e26c]
mov rcx, rdi
call fcn.180030ab0
test eax, eax
sete al
test al, al
je 0x18002f3b5
mov ecx, 1
jmp 0x18002f3cf
lea rdx, [0x18004e340]
mov rcx, rdi
call fcn.180030ab0
test eax, eax
sete al
test al, al
je 0x18002f3d4
xor ecx, ecx
call fcn.18002f190
lea rcx, [rsp + 0x20]
call fcn.18002ef00
nop
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x78], rax
call fcn.180018030
test eax, eax
je 0x18002f412
call fcn.180017f80
test al, al
lea rdx, [0x18004e26c]
jne 0x18002f419
lea rdx, [0x18004e29c]
mov r8d, 1
lea rcx, [rsp + 0x78]
call fcn.180001b40
mov r9, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x78]
mov r8, rdi
lea rdx, str._s_s
lea rcx, [rsp + 0x70]
call fcn.180002980
nop
lea rdx, [rdi - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18002f463
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rsp + 0x20]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18002f483
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18002f4a2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rdi, qword [rsp + 0x70]
lea rcx, [rdi - 0x18]
call fcn.180001790
add rax, 0x18
mov qword [rsp + 0x28], rax
mov r8b, 0x2a
mov edx, dword [rbp + 4]
lea rcx, [rsp + 0x28]
call fcn.180002d60
nop
lock xadd dword [rdi - 8], esi
dec esi
test esi, esi
jg 0x18002f4e3
mov rcx, qword [rdi - 0x18]
mov rax, qword [rcx]
lea rdx, [rdi - 0x18]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rbx, qword [rsp + 0x60]
add rsp, 0x40
pop rdi
pop rsi
pop rbp
ret