Function at 0x6501a8a0
Capabilities:
Get system information on windows

Disassembly:
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0x300
lea rbp, [rsp + 0x40]
mov qword [rbp + 0x120], 0xfffffffffffffffe
mov qword [rbp + 0x2f8], rbx
mov qword [rbp + 0x300], rsi
mov qword [rbp + 0x308], rdi
mov rax, qword [0x65043120]
xor rax, rbp
mov qword [rbp + 0x2b0], rax
mov rsi, rcx
mov qword [rbp + 0x138], rcx
xor r15d, r15d
mov dword [rbp + 0x70], r15d
call qword [0x65043098]
lea rcx, [0x650430a0]
mov rax, qword [0x650430a0]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsi], rax
mov dword [rbp + 0x70], 1
lea r8, [0x65034e68]
lea edx, [r15 + 0xd]
lea rcx, [0x65034e58]
call fcn.6500bcb0
mov rdx, rax
mov rcx, rsi
call fcn.65003ab0
lea r8, str.R___Hh_vV
lea edx, [r15 + 3]
lea rcx, [0x65034e1c]
call fcn.6500bcb0
mov rdx, rax
mov rcx, rsi
call fcn.65003ab0
lea rdx, str.1.493220
mov rcx, rsi
call fcn.65003ab0
lea r8, [0x65034de0]
lea edx, [r15 + 3]
lea rcx, [0x65034ddc]
call fcn.6500bcb0
mov rdx, rax
mov rcx, rsi
call fcn.65003ab0
lea rdx, [0x65034dd4]
mov rcx, rsi
call fcn.65003ab0
lea rcx, [0x650430a0]
mov rax, qword [0x650430a0]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0xd0], rax
lea rcx, [0x650430a0]
mov rax, qword [0x650430a0]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0xc0], rax
lea rcx, [rbp + 0x180]
call fcn.6500b5f0
or r12, 0xffffffffffffffff
test al, al
je 0x6501abca
lea r8, [0x65034d98]
lea edx, [r15 + 4]
lea rcx, str.O_rY
call fcn.6500bcb0
mov rbx, rax
lea rcx, [0x650430a0]
mov rdx, qword [0x650430a0]
call qword [rdx + 0x18]
lea rdi, [rax + 0x18]
mov qword [rbp + 0x40], rdi
test rbx, rbx
je 0x6501aa58
test rbx, 0xffffffffffff0000
jne 0x6501aa58
movzx ebx, bx
xor edx, edx
mov ecx, ebx
call fcn.650026f0
test rax, rax
je 0x6501aa68
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp + 0x40]
call fcn.65003e00
mov rdi, qword [rbp + 0x40]
jmp 0x6501aa68
mov rdx, rbx
lea rcx, [rbp + 0x40]
call fcn.65003cc0
mov rdi, qword [rbp + 0x40]
mov edx, dword [rdi - 0x10]
mov dword [rbp + 4], edx
mov r14, rdi
mov rax, qword [rsi]
mov r13, rdi
sub r13, rax
sar r13, 1
mov r15d, dword [rax - 0x10]
lea ebx, [r15 + rdx]
mov ecx, 1
sub ecx, dword [rax - 8]
mov eax, dword [rax - 0xc]
sub eax, ebx
or eax, ecx
jge 0x6501aaa3
mov edx, ebx
mov rcx, rsi
call fcn.65002640
mov edx, dword [rbp + 4]
mov rax, qword [rsi]
cmp r13, r15
ja 0x6501aaaf
lea r14, [rax + r13*2]
movsxd rdx, edx
add rdx, rdx
lea rcx, [rax + r15*2]
mov r9, rdx
mov r8, r14
call fcn.6501d7b0
test ebx, ebx
js 0x6501abbc
mov rax, qword [rsi]
cmp ebx, dword [rax - 0xc]
jg 0x6501abbc
mov dword [rax - 0x10], ebx
movsxd rcx, ebx
mov rax, qword [rsi]
mov word [rax + rcx*2], 0
lea rdx, [rdi - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x6501ab03
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
lea rdx, [rbp + 0x180]
lea rcx, [rbp + 0xb8]
call fcn.650044b0
nop
mov r13, qword [rax]
movsxd r15, dword [r13 - 0x10]
mov rax, qword [rsi]
mov rbx, r13
sub rbx, rax
sar rbx, 1
mov r14d, dword [rax - 0x10]
lea edi, [r14 + r15]
mov ecx, 1
sub ecx, dword [rax - 8]
mov eax, dword [rax - 0xc]
sub eax, edi
or eax, ecx
jge 0x6501ab4d
mov edx, edi
mov rcx, rsi
call fcn.65002640
mov rax, qword [rsi]
cmp rbx, r14
ja 0x6501ab59
lea r13, [rax + rbx*2]
mov rdx, r15
add rdx, rdx
lea rcx, [rax + r14*2]
mov r9, rdx
mov r8, r13
call fcn.6501d7b0
test edi, edi
js 0x6501abb1
mov rax, qword [rsi]
cmp edi, dword [rax - 0xc]
jg 0x6501abb1
mov dword [rax - 0x10], edi
movsxd rcx, edi
mov rax, qword [rsi]
mov word [rax + rcx*2], 0
mov rdx, qword [rbp + 0xb8]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x6501abc7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
xor r15d, r15d
jmp 0x6501abca
mov ecx, 0x80070057
call fcn.65001050
nop
mov ecx, 0x80070057
call fcn.65001050
nop
xor r15d, r15d
lea r8, [0x65034d68]
mov edx, 7
lea rcx, [0x65034d60]
call fcn.6500bcb0
mov rdx, rax
mov rcx, rsi
call fcn.65003ab0
call fcn.6501a6c0
test al, al
je 0x6501ac19
lea r8, [0x65034d20]
mov edx, 6
lea rcx, [0x65034d14]
call fcn.6500bcb0
mov rdx, rax
mov rcx, rsi
call fcn.65003ab0
lea rcx, [0x650430a0]
mov rax, qword [0x650430a0]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x68], rax
lea rcx, [0x650430a0]
mov rax, qword [0x650430a0]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0xb0], rax
lea rcx, [0x650430a0]
mov rax, qword [0x650430a0]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x78], rax
mov qword [rbp + 0xa0], r15
lea r8, [rbp + 0xa0]
lea rdx, [rbp + 0x78]
lea rcx, [rbp + 0x68]
call fcn.65013090
test al, al
je 0x6501b0c1
lea rdx, [rbp + 0x78]
lea rcx, [rbp + 0xa8]
call fcn.65004ac0
mov rbx, rax
lea r8, [0x65034cd8]
mov edx, 5
lea rcx, [0x65034cd0]
call fcn.6500bcb0
mov rdi, rax
lea rcx, [0x650430a0]
mov rdx, qword [0x650430a0]
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rbp + 0x30], rax
test rdi, rdi
je 0x6501ad01
test rdi, 0xffffffffffff0000
jne 0x6501ad01
movzx edi, di
xor edx, edx
mov ecx, edi
call fcn.650026f0
test rax, rax
je 0x6501ad0e
mov r8d, edi
mov rdx, rax
lea rcx, [rbp + 0x30]
call fcn.65003e00
jmp 0x6501ad0e
mov rdx, rdi
lea rcx, [rbp + 0x30]
call fcn.65003cc0
nop
mov r8, rbx
lea rdx, [rbp + 0x30]
lea rcx, [rbp + 0x100]
call fcn.65018720
nop
mov r13, qword [rax]
movsxd r15, dword [r13 - 0x10]
mov rax, qword [rsi]
mov rbx, r13
sub rbx, rax
sar rbx, 1
mov r14d, dword [rax - 0x10]
lea edi, [r14 + r15]
mov ecx, 1
sub ecx, dword [rax - 8]
mov eax, dword [rax - 0xc]
sub eax, edi
or eax, ecx
jge 0x6501ad58
mov edx, edi
mov rcx, rsi
call fcn.65002640
mov rax, qword [rsi]
cmp rbx, r14
ja 0x6501ad64
lea r13, [rax + rbx*2]
mov rdx, r15
add rdx, rdx
lea rcx, [rax + r14*2]
mov r9, rdx
mov r8, r13
call fcn.6501d7b0
test edi, edi
js 0x6501b0b6
mov rax, qword [rsi]
cmp edi, dword [rax - 0xc]
jg 0x6501b0b6
mov dword [rax - 0x10], edi
movsxd rcx, edi
mov rax, qword [rsi]
mov word [rax + rcx*2], 0
mov rdx, qword [rbp + 0x100]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x6501adc0
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
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x6501ade1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rbp + 0xa8]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x6501ae04
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
lea rdx, [rbp + 0x68]
lea rcx, [rbp + 0xc8]
call fcn.65004ac0
mov rbx, rax
lea r8, [0x65034ca8]
mov edx, 7
lea rcx, [0x65034ca0]
call fcn.6500bcb0
mov rdi, rax
lea rcx, [0x650430a0]
mov rdx, qword [0x650430a0]
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rbp + 0x50], rax
test rdi, rdi
je 0x6501ae7b
test rdi, 0xffffffffffff0000
jne 0x6501ae7b
movzx edi, di
xor edx, edx
mov ecx, edi
call fcn.650026f0
test rax, rax
je 0x6501ae88
mov r8d, edi
mov rdx, rax
lea rcx, [rbp + 0x50]
call fcn.65003e00
jmp 0x6501ae88
mov rdx, rdi
lea rcx, [rbp + 0x50]
call fcn.65003cc0
nop
mov r8, rbx
lea rdx, [rbp + 0x50]
lea rcx, [rbp + 0xe8]
call fcn.65018720
nop
mov r13, qword [rax]
movsxd r15, dword [r13 - 0x10]
mov rax, qword [rsi]
mov rbx, r13
sub rbx, rax
sar rbx, 1
mov r14d, dword [rax - 0x10]
lea edi, [r14 + r15]
mov ecx, 1
sub ecx, dword [rax - 8]
mov eax, dword [rax - 0xc]
sub eax, edi
or eax, ecx
jge 0x6501aed2
mov edx, edi
mov rcx, rsi
call fcn.65002640
mov rax, qword [rsi]
cmp rbx, r14
ja 0x6501aede
lea r13, [rax + rbx*2]
mov rdx, r15
add rdx, rdx
lea rcx, [rax + r14*2]
mov r9, rdx
mov r8, r13
call fcn.6501d7b0
test edi, edi
js 0x6501b0ab
mov rax, qword [rsi]
cmp edi, dword [rax - 0xc]
jg 0x6501b0ab
mov dword [rax - 0x10], edi
movsxd rcx, edi
mov rax, qword [rsi]
mov word [rax + rcx*2], 0
mov rdx, qword [rbp + 0xe8]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x6501af3a
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
add eax, 0xffffffff
test eax, eax
jg 0x6501af5b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rbp + 0xc8]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x6501af7e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
lea rcx, [0x650430a0]
mov rax, qword [0x650430a0]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x48], rax
lea r8, [0x65034c60]
mov edx, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
lea rcx, [0x65034c40]
call fcn.6500c660
mov rdx, rax
mov r8, qword [rbp + 0xa0]
lea rcx, [rbp + 0x48]
call fcn.65002560
call qword [0x65043098]
mov r13d, eax
mov rdi, qword [rbp + 0x48]
cmp dword [rdi - 8], 1
jle 0x6501afe5
mov edx, dword [rdi - 0x10]
lea rcx, [rbp + 0x48]
call fcn.65002130
mov rdi, qword [rbp + 0x48]
test rdi, rdi
jne 0x6501aff5
xor r15d, r15d
mov rbx, r15
jmp 0x6501b081
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea r9d, [rax + 1]
cmp r9d, 0x3fffffff
jle 0x6501b013
xor r15d, r15d
mov rbx, r15
jmp 0x6501b081
movsxd rax, r9d
add rax, rax
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x6501b02c
movabs rcx, 0xffffffffffffff0
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.65033230
sub rsp, rcx
lea rbx, [rsp + 0x40]
test rbx, rbx
je 0x6501b07b
mov byte [rbx], 0
lea eax, [r9 + r9]
xor r15d, r15d
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
mov r9d, r12d
mov r8, rdi
xor edx, edx
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
cmove rbx, r15
jmp 0x6501b081
xor r15d, r15d
mov rbx, r15
mov rdx, rbx
mov rcx, rsi
call fcn.65003ab0
nop
lea rdx, [rdi - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x6501b0c1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
jmp 0x6501b0c1
mov ecx, 0x80070057
call fcn.65001050
nop
mov ecx, 0x80070057
call fcn.65001050
nop
mov qword [rbp + 0x88], r15
mov qword [rbp + 0x90], r15
mov qword [rbp + 0x98], r15
lea rcx, [rbp + 0x80]
call fcn.65013610
mov rbx, r15
mov qword [rbp + 0x60], rbx
mov r14, r15
movabs rdx, 0x6666666666666667
nop
nop
nop
mov rax, qword [rbp + 0x88]
test rax, rax
jne 0x6501b111
mov rdx, r15
jmp 0x6501b12f
mov rcx, qword [rbp + 0x90]
sub rcx, rax
mov rax, rdx
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rbx, rdx
je 0x6501b3c0
lea r8, [0x65034c10]
mov edx, 5
lea rcx, [0x65034c04]
call fcn.6500bcb0
mov r13, rax
lea rcx, [0x650430a0]
mov rdx, qword [0x650430a0]
call qword [rdx + 0x18]
lea rdi, [rax + 0x18]
mov qword [rbp + 0x28], rdi
test r13, r13
je 0x6501b229
test r13, 0xffffffffffff0000
jne 0x6501b1ac
movzx ebx, r13w
xor edx, edx
mov ecx, ebx
call fcn.650026f0
test rax, rax
je 0x6501b27a
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp + 0x28]
call fcn.65003e00
mov rdi, qword [rbp + 0x28]
jmp 0x6501b27a
call qword [0x65043098]
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, r12d
mov r8, r13
xor edx, edx
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea ebx, [rax - 1]
test ebx, ebx
jle 0x6501b229
mov edx, 1
sub edx, dword [rdi - 8]
mov ecx, dword [rdi - 0xc]
sub ecx, ebx
or ecx, edx
jge 0x6501b1f3
mov edx, ebx
lea rcx, [rbp + 0x28]
call fcn.65002640
mov rdi, qword [rbp + 0x28]
call qword [0x65043098]
mov ecx, eax
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rdi
mov r9d, r12d
mov r8, r13
xor edx, edx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp ebx, dword [rdi - 0xc]
jg 0x6501b39f
mov dword [rdi - 0x10], ebx
movsxd rax, ebx
mov word [rdi + rax*2], 0
jmp 0x6501b27a
lea rdx, [rdi - 0x18]
mov rbx, qword [rdx]
cmp dword [rdx + 8], 0
je 0x6501b27a
cmp dword [rdx + 0x10], 0
jge 0x6501b251
cmp dword [rdi - 0xc], 0
jl 0x6501b3aa
mov dword [rdi - 0x10], r15d
mov word [rdi], 0
jmp 0x6501b27a
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x6501b269
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rbp + 0x28], rdi
mov edx, dword [rdi - 0x10]
mov dword [rbp + 4], edx
mov r15, rdi
mov rax, qword [rsi]
mov r13, rdi
sub r13, rax
sar r13, 1
mov ecx, dword [rax - 0x10]
mov dword [rbp], ecx
lea ebx, [rcx + rdx]
mov ecx, 1
sub ecx, dword [rax - 8]
mov eax, dword [rax - 0xc]
sub eax, ebx
or eax, ecx
jge 0x6501b2b6
mov edx, ebx
mov rcx, rsi
call fcn.65002640
mov edx, dword [rbp + 4]
mov rax, qword [rsi]
mov ecx, dword [rbp]
cmp r13, rcx
ja 0x6501b2c5
lea r15, [rax + r13*2]
movsxd rdx, edx
add rdx, rdx
lea rcx, [rax + rcx*2]
mov r9, rdx
mov r8, r15
call fcn.6501d7b0
test ebx, ebx
js 0x6501b3b5
mov rax, qword [rsi]
cmp ebx, dword [rax - 0xc]
jg 0x6501b3b5
mov dword [rax - 0x10], ebx
movsxd rcx, ebx
mov rax, qword [rsi]
mov word [rax + rcx*2], 0
lea rdx, [rdi - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x6501b319
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rdi, qword [rbp + 0x88]
test rdi, rdi
je 0x6501b355
mov rcx, qword [rbp + 0x90]
sub rcx, rdi
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rbx, qword [rbp + 0x60]
cmp rbx, rdx
jb 0x6501b365
jmp 0x6501b359
mov rbx, qword [rbp + 0x60]
call fcn.6501dad0
mov rdi, qword [rbp + 0x88]
cmp qword [r14 + rdi + 0x20], 0x10
jb 0x6501b374
mov rdx, qword [r14 + rdi + 8]
jmp 0x6501b379
lea rdx, [r14 + rdi + 8]
mov rcx, rsi
call fcn.65003ab0
add rbx, 1
mov qword [rbp + 0x60], rbx
add r14, 0x28
xor r15d, r15d
movabs rdx, 0x6666666666666667
jmp 0x6501b100
mov ecx, 0x80070057
call fcn.65001050
int3
mov ecx, 0x80070057
call fcn.65001050
nop
mov ecx, 0x80070057
call fcn.65001050
nop
call qword [0x65043098]
mov dword [rbp + 4], eax
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp + 0x194]
call fcn.6501efa0
mov dword [rbp + 0x190], 0x114
lea rcx, [0x650430a0]
mov rdx, qword [0x650430a0]
call qword [rdx + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp + 8], rbx
lea rcx, [rbp + 0x190]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x6501b44c
lea r8, [0x65034bd0]
mov edx, 0x12
lea rcx, [0x65034ba8]
call fcn.6500c660
mov rdx, rax
mov r9d, dword [rbp + 0x198]
mov r8d, dword [rbp + 0x194]
lea rcx, [rbp + 8]
call fcn.65002560
mov rbx, qword [rbp + 8]
jmp 0x6501b578
lea r8, [0x65034b70]
mov edx, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
lea rcx, str.U_n_nNHe
call fcn.6500c660
mov r15, rax
test rax, rax
je 0x6501b516
xor eax, eax
mov rcx, r12
mov rdi, r15
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov rdi, rcx
test ecx, ecx
je 0x6501b516
mov r13d, dword [rbx - 0x10]
mov r14, r15
sub r14, rbx
sar r14, 1
mov edx, 1
sub edx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, ecx
or eax, edx
jge 0x6501b4ba
mov edx, ecx
lea rcx, [rbp + 8]
call fcn.65002640
mov rbx, qword [rbp + 8]
cmp r14, r13
ja 0x6501b4da
movsxd rax, edi
lea r13, [rax + rax]
lea r8, [rbx + r14*2]
mov r9, r13
mov rdx, r13
mov rcx, rbx
call fcn.6501d880
jmp 0x6501b4f2
movsxd rax, edi
lea r13, [rax + rax]
mov r9, r13
mov r8, r15
mov rdx, r13
mov rcx, rbx
call fcn.6501d7b0
test edi, edi
js 0x6501b50b
cmp edi, dword [rbx - 0xc]
jg 0x6501b50b
mov dword [rbx - 0x10], edi
mov word [r13 + rbx], 0
xor r15d, r15d
jmp 0x6501b578
mov ecx, 0x80070057
call fcn.65001050
int3
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], 0
je 0x6501b575
cmp dword [rdx + 0x10], 0
jge 0x6501b547
cmp dword [rbx - 0xc], 0
jge 0x6501b53a
mov ecx, 0x80070057
call fcn.65001050
int3
xor r15d, r15d
mov dword [rbx - 0x10], r15d
mov word [rbx], r15w
jmp 0x6501b578
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x6501b55f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp + 8], rbx
xor r15d, r15d
jmp 0x6501b578
xor r15d, r15d
mov dword [rbp + 0x140], r15d
xor edx, edx
lea r8d, [rdx + 0x2c]
lea rcx, [rbp + 0x144]
call fcn.6501efa0
lea rcx, [rbp + 0x140]
call qword [sym.imp.KERNEL32.dll_GetNativeSystemInfo]
movzx edx, word [rbp + 0x140]
test edx, edx
je 0x6501b664
cmp edx, 9
jne 0x6501b70a
lea r8, [0x65034b10]
mov edx, 4
lea rcx, [0x65034b00]
call fcn.6500c660
mov r14, rax
test rax, rax
je 0x6501b5e8
xor eax, eax
mov rcx, r12
mov rdi, r14
repne scasw ax, word [rdi]
not rcx
lea r15, [rcx - 1]
mov r13, r14
sub r13, rbx
sar r13, 1
mov eax, dword [rbx - 0x10]
mov dword [rbp], eax
lea edi, [rax + r15]
mov edx, 1
sub edx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, edx
jge 0x6501b61b
mov edx, edi
lea rcx, [rbp + 8]
call fcn.65002640
mov rbx, qword [rbp + 8]
mov eax, dword [rbp]
cmp r13, rax
ja 0x6501b627
lea r14, [rbx + r13*2]
movsxd rdx, r15d
add rdx, rdx
lea rcx, [rbx + rax*2]
mov r9, rdx
mov r8, r14
call fcn.6501d7b0
test edi, edi
js 0x6501b659
cmp edi, dword [rbx - 0xc]
jg 0x6501b659
mov dword [rbx - 0x10], edi
movsxd rax, edi
mov word [rbx + rax*2], 0
xor r15d, r15d
jmp 0x6501b70a
mov ecx, 0x80070057
call fcn.65001050
int3
lea r8, [0x65034ac0]
mov edx, 4
lea rcx, [0x65034ab0]
call fcn.6500c660
mov r14, rax
test rax, rax
je 0x6501b696
xor eax, eax
mov rcx, r12
mov rdi, r14
repne scasw ax, word [rdi]
not rcx
lea r15, [rcx - 1]
mov r13, r14
sub r13, rbx
sar r13, 1
mov eax, dword [rbx - 0x10]
mov dword [rbp], eax
lea edi, [rax + r15]
mov edx, 1
sub edx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, edx
jge 0x6501b6c9
mov edx, edi
lea rcx, [rbp + 8]
call fcn.65002640
mov rbx, qword [rbp + 8]
mov eax, dword [rbp]
cmp r13, rax
ja 0x6501b6d5
lea r14, [rbx + r13*2]
movsxd rdx, r15d
add rdx, rdx
lea rcx, [rbx + rax*2]
mov r9, rdx
mov r8, r14
call fcn.6501d7b0
test edi, edi
js 0x6501c1c4
cmp edi, dword [rbx - 0xc]
jg 0x6501c1c4
mov dword [rbx - 0x10], edi
movsxd rax, edi
mov word [rbx + rax*2], 0
xor r15d, r15d
test rbx, rbx
jne 0x6501b717
mov rdi, r15
jmp 0x6501b79a
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea r9d, [rax + 1]
cmp r9d, 0x3fffffff
jle 0x6501b732
mov rdi, r15
jmp 0x6501b79a
movsxd rax, r9d
add rax, rax
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x6501b74b
movabs rcx, 0xffffffffffffff0
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.65033230
sub rsp, rcx
lea rdi, [rsp + 0x40]
test rdi, rdi
je 0x6501b797
mov byte [rdi], 0
lea eax, [r9 + r9]
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rdi
mov r9d, r12d
mov r8, rbx
xor edx, edx
mov ecx, dword [rbp + 4]
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
cmove rdi, r15
jmp 0x6501b79a
mov rdi, r15
mov rdx, rdi
mov rcx, rsi
call fcn.65003ab0
nop
lea rdx, [rbx - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x6501b7c2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
lea rcx, [rbp + 0x108]
call fcn.65014880
nop
mov rdx, rax
lea rcx, [rbp + 0xd8]
call fcn.65004ac0
mov r14, rax
lea r8, [0x65034a88]
mov edx, 7
lea rcx, [0x65034a80]
call fcn.6500bcb0
mov r13, rax
lea rcx, [0x650430a0]
mov rdx, qword [0x650430a0]
call qword [rdx + 0x18]
lea rdi, [rax + 0x18]
mov qword [rbp + 0x10], rdi
test r13, r13
je 0x6501b8d5
test r13, 0xffffffffffff0000
jne 0x6501b851
movzx edi, r13w
xor edx, edx
mov ecx, edi
call fcn.650026f0
test rax, rax
je 0x6501b92d
mov r8d, edi
mov rdx, rax
lea rcx, [rbp + 0x10]
call fcn.65003e00
jmp 0x6501b92d
call qword [0x65043098]
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, r12d
mov r8, r13
xor edx, edx
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea ebx, [rax - 1]
test ebx, ebx
jle 0x6501b8d5
mov edx, 1
sub edx, dword [rdi - 8]
mov ecx, dword [rdi - 0xc]
sub ecx, ebx
or ecx, edx
jge 0x6501b898
mov edx, ebx
lea rcx, [rbp + 0x10]
call fcn.65002640
mov rdi, qword [rbp + 0x10]
call qword [0x65043098]
mov ecx, eax
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rdi
mov r9d, r12d
mov r8, r13
xor edx, edx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp ebx, dword [rdi - 0xc]
jg 0x6501b8ca
mov dword [rdi - 0x10], ebx
movsxd rax, ebx
mov word [rdi + rax*2], 0
jmp 0x6501b92d
mov ecx, 0x80070057
call fcn.65001050
int3
lea rdx, [rdi - 0x18]
mov rbx, qword [rdx]
cmp dword [rdx + 8], 0
je 0x6501b92d
cmp dword [rdx + 0x10], 0
jge 0x6501b904
cmp dword [rdi - 0xc], 0
jge 0x6501b8f9
mov ecx, 0x80070057
call fcn.65001050
int3
mov dword [rdi - 0x10], r15d
mov word [rdi], 0
jmp 0x6501b92d
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x6501b91c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x10], rax
mov r8, r14
lea rdx, [rbp + 0x10]
lea rcx, [rbp + 0xf8]
call fcn.65018720
nop
mov r13, qword [rax]
movsxd r15, dword [r13 - 0x10]
mov rax, qword [rsi]
mov rbx, r13
sub rbx, rax
sar rbx, 1
mov r14d, dword [rax - 0x10]
lea edi, [r14 + r15]
mov ecx, 1
sub ecx, dword [rax - 8]
mov eax, dword [rax - 0xc]
sub eax, edi
or eax, ecx
jge 0x6501b977
mov edx, edi
mov rcx, rsi
call fcn.65002640
mov rax, qword [rsi]
cmp rbx, r14
ja 0x6501b983
lea r13, [rax + rbx*2]
mov rdx, r15
add rdx, rdx
lea rcx, [rax + r14*2]
mov r9, rdx
mov r8, r13
call fcn.6501d7b0
test edi, edi
js 0x6501c1b9
mov rax, qword [rsi]
cmp edi, dword [rax - 0xc]
jg 0x6501c1b9
mov dword [rax - 0x10], edi
movsxd rcx, edi
mov rax, qword [rsi]
mov word [rax + rcx*2], 0
mov rdx, qword [rbp + 0xf8]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x6501b9df
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rbp + 0x10]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x6501ba00
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rbp + 0xd8]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x6501ba24
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rbp + 0x108]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x6501ba47
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
call qword [0x65043098]
mov r13d, eax
lea rcx, [0x650430a0]
mov rax, qword [0x650430a0]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x20], rax
call fcn.650058c0
mov edi, eax
lea r8, [0x65034a50]
mov edx, 4
lea rcx, [0x65034a40]
call fcn.6500c660
mov rdx, rax
mov r8d, edi
lea rcx, [rbp + 0x20]
call fcn.65002560
mov rdi, qword [rbp + 0x20]
mov r14d, 1
mov ecx, r14d
sub ecx, dword [rdi - 8]
mov eax, dword [rdi - 0xc]
add eax, r14d
or eax, ecx
jge 0x6501bac1
mov edx, r12d
lea rcx, [rbp + 0x20]
call fcn.65002640
mov rdi, qword [rbp + 0x20]
test rdi, rdi
jne 0x6501bad1
xor r15d, r15d
mov rbx, r15
jmp 0x6501bb5d
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea r9d, [rax + 1]
cmp r9d, 0x3fffffff
jle 0x6501baef
xor r15d, r15d
mov rbx, r15
jmp 0x6501bb5d
movsxd rax, r9d
add rax, rax
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x6501bb08
movabs rcx, 0xffffffffffffff0
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.65033230
sub rsp, rcx
lea rbx, [rsp + 0x40]
test rbx, rbx
je 0x6501bb57
mov byte [rbx], 0
lea eax, [r9 + r9]
xor r15d, r15d
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
mov r9d, r12d
mov r8, rdi
xor edx, edx
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
cmove rbx, r15
jmp 0x6501bb5d
xor r15d, r15d
mov rbx, r15
lea rcx, [0x650430a0]
mov rax, qword [0x650430a0]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rbp + 0x18], rdi
test rbx, rbx
je 0x6501bc3a
test rbx, 0xffffffffffff0000
jne 0x6501bbb1
movzx edi, bx
xor edx, edx
mov ecx, edi
call fcn.650026f0
test rax, rax
je 0x6501bc92
mov r8d, edi
mov rdx, rax
lea rcx, [rbp + 0x18]
call fcn.65003e00
jmp 0x6501bc92
call qword [0x65043098]
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, r12d
mov r8, rbx
xor edx, edx
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea r13d, [rax - 1]
test r13d, r13d
jle 0x6501bc3a
mov edx, r14d
sub edx, dword [rdi - 8]
mov ecx, dword [rdi - 0xc]
sub ecx, r13d
or ecx, edx
jge 0x6501bbfa
mov edx, r13d
lea rcx, [rbp + 0x18]
call fcn.65002640
mov rdi, qword [rbp + 0x18]
call qword [0x65043098]
mov ecx, eax
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], rdi
mov r9d, r12d
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp r13d, dword [rdi - 0xc]
jg 0x6501bc2f
mov dword [rdi - 0x10], r13d
movsxd rax, r13d
mov word [rdi + rax*2], 0
jmp 0x6501bc92
mov ecx, 0x80070057
call fcn.65001050
int3
lea rdx, [rdi - 0x18]
mov rbx, qword [rdx]
cmp dword [rdx + 8], 0
je 0x6501bc92
cmp dword [rdx + 0x10], 0
jge 0x6501bc69
cmp dword [rdi - 0xc], 0
jge 0x6501bc5e
mov ecx, 0x80070057
call fcn.65001050
int3
mov dword [rdi - 0x10], r15d
mov word [rdi], 0
jmp 0x6501bc92
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x6501bc81
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x18], rax
lea r8, [0x65034a00]
mov edx, 5
lea rcx, [0x650349f8]
call fcn.6500bcb0
mov rdi, rax
lea rcx, [0x650430a0]
mov rdx, qword [0x650430a0]
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rbp + 0x58], rax
test rdi, rdi
je 0x6501bcf6
test rdi, 0xffffffffffff0000
jne 0x6501bcf6
movzx edi, di
xor edx, edx
mov ecx, edi
call fcn.650026f0
test rax, rax
je 0x6501bd03
mov r8d, edi
mov rdx, rax
lea rcx, [rbp + 0x58]
call fcn.65003e00
jmp 0x6501bd03
mov rdx, rdi
lea rcx, [rbp + 0x58]
call fcn.65003cc0
nop
lea r8, [rbp + 0x18]
lea rdx, [rbp + 0x58]
lea rcx, [rbp + 0x118]
call fcn.65018720
nop
mov r13, qword [rax]
movsxd r15, dword [r13 - 0x10]
mov rax, qword [rsi]
mov rbx, r13
sub rbx, rax
sar rbx, 1
mov r14d, dword [rax - 0x10]
lea edi, [r14 + r15]
mov ecx, 1
sub ecx, dword [rax - 8]
mov eax, dword [rax - 0xc]
sub eax, edi
or eax, ecx
jge 0x6501bd4e
mov edx, edi
mov rcx, rsi
call fcn.65002640
mov rax, qword [rsi]
cmp rbx, r14
ja 0x6501bd5a
lea r13, [rax + rbx*2]
mov rdx, r15
add rdx, rdx
lea rcx, [rax + r14*2]
mov r9, rdx
mov r8, r13
call fcn.6501d7b0
test edi, edi
js 0x6501c1ae
mov rax, qword [rsi]
cmp edi, dword [rax - 0xc]
jg 0x6501c1ae
mov dword [rax - 0x10], edi
movsxd rcx, edi
mov rax, qword [rsi]
mov word [rax + rcx*2], 0
mov rdx, qword [rbp + 0x118]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x6501bdb6
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x6501bdd7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rbp + 0x18]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x6501bdf8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rbp + 0x20]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x6501be18
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
lea rcx, [rbp + 0x170]
call fcn.65005d30
mov rcx, rax
lea rdx, [rbp + 0x128]
mov eax, dword [rax]
mov dword [rdx], eax
mov eax, dword [rcx + 4]
mov dword [rdx + 4], eax
mov eax, dword [rcx + 8]
mov dword [rdx + 8], eax
mov eax, dword [rcx + 0xc]
mov dword [rdx + 0xc], eax
lea r8, [0x650349b8]
mov edx, 5
lea rcx, [0x650349b0]
call fcn.6500bcb0
mov rdi, rax
lea rcx, [0x650430a0]
mov rdx, qword [0x650430a0]
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rbp + 0x38], rax
test rdi, rdi
je 0x6501bea8
test rdi, 0xffffffffffff0000
jne 0x6501bea8
movzx edi, di
xor edx, edx
mov ecx, edi
call fcn.650026f0
test rax, rax
je 0x6501beb5
mov r8d, edi
mov rdx, rax
lea rcx, [rbp + 0x38]
call fcn.65003e00
jmp 0x6501beb5
mov rdx, rdi
lea rcx, [rbp + 0x38]
call fcn.65003cc0
nop
lea rdx, [rbp + 0x128]
lea rcx, [rbp + 0x110]
call fcn.650044b0
nop
mov r8, rax
lea rdx, [rbp + 0x38]
lea rcx, [rbp + 0xf0]
call fcn.65018720
nop
mov r13, qword [rax]
movsxd r15, dword [r13 - 0x10]
mov rax, qword [rsi]
mov rbx, r13
sub rbx, rax
sar rbx, 1
mov r14d, dword [rax - 0x10]
lea edi, [r14 + r15]
mov ecx, 1
sub ecx, dword [rax - 8]
mov eax, dword [rax - 0xc]
sub eax, edi
or eax, ecx
jge 0x6501bf13
mov edx, edi
mov rcx, rsi
call fcn.65002640
mov rax, qword [rsi]
cmp rbx, r14
ja 0x6501bf1f
lea r13, [rax + rbx*2]
mov rdx, r15
add rdx, rdx
lea rcx, [rax + r14*2]
mov r9, rdx
mov r8, r13
call fcn.6501d7b0
test edi, edi
js 0x6501c1a3
mov rax, qword [rsi]
cmp edi, dword [rax - 0xc]
jg 0x6501c1a3
mov dword [rax - 0x10], edi
movsxd rcx, edi
mov rax, qword [rsi]
mov word [rax + rcx*2], 0
mov rdx, qword [rbp + 0xf0]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x6501bf7b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rbp + 0x110]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x6501bf9f
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, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x6501bfbf
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov dl, 1
lea rcx, [rbp + 0xe0]
call fcn.6500b010
nop
mov r13, qword [rax]
movsxd r15, dword [r13 - 0x10]
mov rax, qword [rsi]
mov rbx, r13
sub rbx, rax
sar rbx, 1
mov r14d, dword [rax - 0x10]
lea edi, [r14 + r15]
mov ecx, 1
sub ecx, dword [rax - 8]
mov eax, dword [rax - 0xc]
sub eax, edi
or eax, ecx
jge 0x6501c004
mov edx, edi
mov rcx, rsi
call fcn.65002640
mov rax, qword [rsi]
cmp rbx, r14
ja 0x6501c010
lea r13, [rax + rbx*2]
mov rdx, r15
add rdx, rdx
lea rcx, [rax + r14*2]
mov r9, rdx
mov r8, r13
call fcn.6501d7b0
test edi, edi
js 0x6501c198
mov rax, qword [rsi]
cmp edi, dword [rax - 0xc]
jg 0x6501c198
mov dword [rax - 0x10], edi
movsxd rcx, edi
mov rax, qword [rsi]
mov word [rax + rcx*2], 0
mov rdx, qword [rbp + 0xe0]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x6501c06c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rcx, qword [rbp + 0x88]
test rcx, rcx
je 0x6501c0ce
mov rbx, qword [rbp + 0x90]
cmp rcx, rbx
je 0x6501c0c4
lea rdi, [rcx + 0x20]
xor r13d, r13d
nop
nop
cmp qword [rdi], 0x10
jb 0x6501c09f
mov rcx, qword [rdi - 0x18]
call fcn.6501d300
mov qword [rdi], 0xf
mov qword [rdi - 8], r13
mov byte [rdi - 0x18], r13b
add rdi, 0x28
lea rax, [rdi - 0x20]
cmp rax, rbx
jne 0x6501c090
mov rcx, qword [rbp + 0x88]
jmp 0x6501c0c7
xor r13d, r13d
call fcn.6501d300
jmp 0x6501c0d1
xor r13d, r13d
mov qword [rbp + 0x88], r13
mov qword [rbp + 0x90], r13
mov qword [rbp + 0x98], r13
mov rdx, qword [rbp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x6501c107
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rbp + 0xb0]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x6501c12b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rbp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x6501c14c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rbp + 0xc0]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x6501c170
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rbp + 0xd0]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r12d
add r12d, 0xffffffff
test r12d, r12d
jg 0x6501c193
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rax, rsi
jmp 0x6501c1cf
mov ecx, 0x80070057
call fcn.65001050
nop
mov ecx, 0x80070057
call fcn.65001050
nop
mov ecx, 0x80070057
call fcn.65001050
nop
mov ecx, 0x80070057
call fcn.65001050
nop
mov ecx, 0x80070057
call fcn.65001050
nop
mov rcx, qword [rbp + 0x2b0]
xor rcx, rbp
call fcn.6501e650
mov rbx, qword [rbp + 0x2f8]
mov rsi, qword [rbp + 0x300]
mov rdi, qword [rbp + 0x308]
lea rsp, [rbp + 0x2c0]
pop r15
pop r14
pop r13
pop r12
pop rbp
ret