Function at 0x1800f9b60
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
mov qword [rsp + 8], rcx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov rsi, qword [rcx]
mov r11, rcx
xor ecx, ecx
mov qword [rsp + 0x50], rsi
mov r13d, r9d
mov dword [rsp + 0x40], ecx
mov r14, rdx
mov dword [rsp + 0x3c], ecx
mov r12d, ecx
cmp qword [r11 + 0x198], rcx
jne 0x1800f9ff9
cmp qword [r8 + 0x68], rcx
jne 0x1800f9ff9
cmp byte [rdx + 0x3f], 1
je 0x1800f9ff9
cmp r9d, 0xb
jne 0x1800f9bdc
cmp word [rdx + 0x34], cx
jl 0x1800f9bd6
movzx r13d, byte [rdx + 0x3e]
cmp r13d, r9d
jne 0x1800f9bdc
mov r13d, 2
mov r10, qword [r8 + 0x28]
cmp dword [r10], 1
jne 0x1800f9ff9
cmp qword [r10 + 0x30], rcx
jne 0x1800f9ff9
cmp qword [r8 + 0x30], rcx
jne 0x1800f9ff9
cmp qword [r8 + 0x48], rcx
jne 0x1800f9ff9
cmp qword [r8 + 0x38], rcx
jne 0x1800f9ff9
cmp qword [r8 + 0x60], rcx
jne 0x1800f9ff9
cmp qword [r8 + 0x50], rcx
jne 0x1800f9ff9
test byte [r8 + 4], 1
jne 0x1800f9ff9
mov rax, qword [r8 + 0x20]
cmp dword [rax], 1
jne 0x1800f9ff9
mov rax, qword [rax + 8]
cmp byte [rax], 0xb4
jne 0x1800f9ff9
mov rdx, qword [r10 + 8]
test rdx, rdx
je 0x1800f9c7a
mov r9, qword [rsi + 0x20]
cmp qword [r9 + 0x18], rdx
lea rax, [r9 + 0x18]
je 0x1800f9c6d
inc ecx
lea rax, [rax + 0x20]
cmp qword [rax], rdx
jne 0x1800f9c62
movsxd rax, ecx
shl rax, 5
mov r9, qword [rax + r9]
jmp 0x1800f9c7e
mov r9, qword [r10 + 0x10]
mov r8, qword [r10 + 0x18]
xor edx, edx
mov rcx, r11
call fcn.1800dc6d0
mov qword [rsp + 0x48], rax
mov r10, rax
test rax, rax
je 0x1800f9ff9
mov eax, dword [r14 + 0x28]
cmp dword [r10 + 0x28], eax
jne 0x1800f9cb5
mov rax, qword [r14 + 0x60]
cmp qword [r10 + 0x60], rax
je 0x1800f9ff9
mov r8d, dword [r10 + 0x30]
mov ecx, r8d
mov edx, dword [r14 + 0x30]
mov eax, edx
shr ecx, 7
shr eax, 7
not ecx
not eax
xor ecx, eax
test cl, 1
jne 0x1800f9ff9
cmp byte [r10 + 0x3f], r12b
jne 0x1800f9ff9
movzx ecx, word [r14 + 0x36]
cmp cx, word [r10 + 0x36]
jne 0x1800f9ff9
movzx eax, word [r10 + 0x34]
cmp word [r14 + 0x34], ax
jne 0x1800f9ff9
bt edx, 0x10
jae 0x1800f9d12
bt r8d, 0x10
jae 0x1800f9ff9
xor r11d, r11d
mov r15d, r11d
cmp r11w, cx
jge 0x1800f9fb9
mov ebp, r11d
mov esi, r11d
mov edx, 0x200
nop dword [rax]
mov rbx, qword [r14 + 8]
mov rdi, qword [r10 + 8]
add rbx, rsi
add rdi, rsi
movzx ecx, word [rbx + 0x12]
movzx eax, word [rdi + 0x12]
and cx, 0x60
and ax, 0x60
cmp cx, ax
jne 0x1800f9ff9
test cx, cx
je 0x1800f9df3
movzx eax, word [rdi + 0x10]
test ax, ax
jne 0x1800f9d6e
mov rdx, r11
jmp 0x1800f9d99
cmp byte [r10 + 0x3f], r12b
je 0x1800f9d79
mov rdx, r11
jmp 0x1800f9d99
mov rdx, qword [r10 + 0x50]
test rdx, rdx
jne 0x1800f9d87
mov rdx, r11
jmp 0x1800f9d99
cmp dword [rdx], eax
jge 0x1800f9d90
mov rdx, r11
jmp 0x1800f9d99
shl rax, 5
mov rdx, qword [rax + rdx - 0x18]
movzx eax, word [rbx + 0x10]
test ax, ax
jne 0x1800f9da7
mov r8, r11
jmp 0x1800f9dd3
cmp byte [r14 + 0x3f], r12b
je 0x1800f9db2
mov r8, r11
jmp 0x1800f9dd3
mov r8, qword [r14 + 0x50]
test r8, r8
jne 0x1800f9dc0
mov r8, r11
jmp 0x1800f9dd3
cmp dword [r8], eax
jge 0x1800f9dca
mov r8, r11
jmp 0x1800f9dd3
shl rax, 5
mov r8, qword [rax + r8 - 0x18]
xor ecx, ecx
lea r9d, [rcx - 1]
call fcn.1800d09a0
test eax, eax
jne 0x1800f9ff9
mov r10, qword [rsp + 0x48]
xor r11d, r11d
mov edx, 0x200
movzx eax, byte [rdi + 0xc]
cmp byte [rbx + 0xc], al
jne 0x1800f9ff9
test word [rdi + 0x12], dx
jne 0x1800f9e0b
mov r8, r11
jmp 0x1800f9e2d
mov rax, qword [rdi]
cmp byte [rax], r12b
je 0x1800f9e1b
inc rax
cmp byte [rax], r12b
jne 0x1800f9e13
test byte [rdi + 0x12], 4
je 0x1800f9e29
inc rax
cmp byte [rax], r12b
jne 0x1800f9e21
lea r8, [rax + 1]
test word [rbx + 0x12], dx
je 0x1800f9ea9
mov rax, qword [rbx]
cmp byte [rax], r12b
je 0x1800f9e48
nop dword [rax + rax]
inc rax
cmp byte [rax], r12b
jne 0x1800f9e40
test byte [rbx + 0x12], 4
je 0x1800f9e58
nop
inc rax
cmp byte [rax], r12b
jne 0x1800f9e50
lea r9, [rax + 1]
test r9, r9
je 0x1800f9ea9
test r8, r8
je 0x1800f9ff9
sub r9, r8
lea r11, [0x1801fb100]
nop dword [rax]
nop dword [rax + rax]
movzx edx, byte [r9 + r8]
movzx eax, byte [r8]
cmp edx, eax
jne 0x1800f9e96
test edx, edx
jne 0x1800f9ea4
xor r11d, r11d
jmp 0x1800f9eae
movzx ecx, byte [rax + r11]
movzx edx, byte [rdx + r11]
sub edx, ecx
jne 0x1800f9e91
inc r8
jmp 0x1800f9e80
neg r8
sbb edx, edx
test edx, edx
jne 0x1800f9ff9
test byte [rbx + 8], 0xf
je 0x1800f9ec6
test byte [rdi + 8], 0xf
je 0x1800f9ff9
test byte [rbx + 0x12], 0x60
jne 0x1800f9f97
test rbp, rbp
jle 0x1800f9f97
movzx eax, word [rbx + 0x10]
test ax, ax
jne 0x1800f9ee7
mov rdx, r11
jmp 0x1800f9f12
cmp byte [r14 + 0x3f], r12b
je 0x1800f9ef2
mov rdx, r11
jmp 0x1800f9f12
mov rdx, qword [r14 + 0x50]
test rdx, rdx
jne 0x1800f9f00
mov rdx, r11
jmp 0x1800f9f12
cmp dword [rdx], eax
jge 0x1800f9f09
mov rdx, r11
jmp 0x1800f9f12
shl rax, 5
mov rdx, qword [rax + rdx - 0x18]
movzx eax, word [rdi + 0x10]
test ax, ax
jne 0x1800f9f20
mov r8, r11
jmp 0x1800f9f4c
cmp byte [r10 + 0x3f], r12b
je 0x1800f9f2b
mov r8, r11
jmp 0x1800f9f4c
mov r8, qword [r10 + 0x50]
test r8, r8
jne 0x1800f9f39
mov r8, r11
jmp 0x1800f9f4c
cmp dword [r8], eax
jge 0x1800f9f43
mov r8, r11
jmp 0x1800f9f4c
shl rax, 5
mov r8, qword [rax + r8 - 0x18]
test r8, r8
mov ecx, r11d
mov eax, r11d
sete cl
test rdx, rdx
sete al
cmp eax, ecx
jne 0x1800f9ff9
test rdx, rdx
je 0x1800f9f97
mov rax, qword [rdx + 8]
mov r9, qword [r8 + 8]
sub r9, rax
nop word [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r9]
sub edx, ecx
jne 0x1800f9f93
inc rax
test ecx, ecx
jne 0x1800f9f80
test edx, edx
jne 0x1800f9ff9
movsx eax, word [r14 + 0x36]
inc r15d
inc rbp
add rsi, 0x18
mov edx, 0x200
cmp r15d, eax
jl 0x1800f9d30
mov rsi, qword [rsp + 0x50]
mov rdi, qword [r14 + 0x10]
mov eax, 1
test rdi, rdi
je 0x1800fa05e
nop dword [rax + rax]
cmp byte [rdi + 0x62], 0
mov rbx, qword [r10 + 0x10]
cmovne r12d, eax
test rbx, rbx
je 0x1800f9ff9
mov rdx, rbx
mov rcx, rdi
call fcn.1800f9a00
test eax, eax
jne 0x1800fa019
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x1800f9fe1
xor eax, eax
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov eax, dword [rdi + 0x58]
mov r10, qword [rsp + 0x48]
cmp dword [rbx + 0x58], eax
jne 0x1800fa04c
mov rax, qword [r14 + 0x60]
cmp qword [r10 + 0x60], rax
jne 0x1800fa04c
mov rax, qword [0x180244460]
test rax, rax
je 0x1800f9ff9
mov ecx, 0x19b
call rax
test eax, eax
je 0x1800f9ff9
mov r10, qword [rsp + 0x48]
mov rdi, qword [rdi + 0x28]
mov eax, 1
test rdi, rdi
jne 0x1800f9fd0
mov rax, qword [r14 + 0x20]
test rax, rax
je 0x1800fa0c8
test byte [rsi + 0x2c], 4
jne 0x1800fa0c8
mov rsi, qword [r10 + 0x20]
test rsi, rsi
je 0x1800f9ff9
mov ecx, dword [rsi]
cmp ecx, dword [rax]
jne 0x1800f9ff9
xor r8d, r8d
mov edi, r8d
test ecx, ecx
jle 0x1800fa0cb
mov rbp, rsi
lea rbx, [rax + 0x18]
sub rbp, rax
movzx eax, byte [rbx]
cmp byte [rbx + rbp], al
jne 0x1800f9ff9
mov r8, qword [rbx - 0x10]
mov r9d, 0xffffffff
mov rdx, qword [rbx + rbp - 0x10]
xor ecx, ecx
call fcn.1800d09a0
test eax, eax
jne 0x1800f9ff9
inc edi
add rbx, 0x20
cmp edi, dword [rsi]
jl 0x1800fa094
xor r8d, r8d
mov rdx, qword [rsp + 0x50]
mov rax, qword [rdx + 0x30]
bt rax, 0xe
jae 0x1800fa0e6
cmp qword [r14 + 0x48], 0
jne 0x1800f9ff9
bt rax, 0x20
jb 0x1800f9ff9
mov rcx, qword [rsp + 0x48]
mov edi, 0xffff8000
mov dword [rsp + 0x38], edi
mov rcx, qword [rcx + 0x60]
test rcx, rcx
je 0x1800fa12f
mov rax, qword [rdx + 0x20]
mov edi, r8d
add rax, 0x18
mov dword [rsp + 0x38], r8d
cmp qword [rax], rcx
je 0x1800fa12f
nop dword [rax]
inc edi
lea rax, [rax + 0x20]
cmp qword [rax], rcx
jne 0x1800fa120
mov dword [rsp + 0x38], edi
mov rbp, qword [rsp + 0x90]
mov rbx, qword [rbp + 0x10]
test rbx, rbx
jne 0x1800fa162
cmp qword [rbp + 0xb0], rbx
jne 0x1800fa157
mov rax, qword [rbp]
test byte [rax + 0x60], 8
jne 0x1800fa157
mov byte [rbp + 0x23], 1
mov rcx, rbp
call fcn.1800ab730
mov rbx, rax
mov rax, qword [rbp + 0xb0]
mov rcx, rbp
test rax, rax
cmovne rcx, rax
mov eax, dword [rcx + 0x84]
bt eax, edi
jb 0x1800fa191
bts eax, edi
mov dword [rcx + 0x84], eax
cmp edi, 1
jne 0x1800fa191
call fcn.1800e5dd0
mov r15d, dword [rbp + 0x34]
mov r8, r14
mov edx, dword [rsp + 0xb0]
mov rcx, rbp
mov dword [rsp + 0x44], r15d
lea esi, [r15 + 1]
lea eax, [rsi + 1]
mov dword [rbp + 0x34], eax
call fcn.1800f3df0
mov r10, qword [rsp + 0x90]
mov ebp, eax
movzx eax, byte [r10 + 0x1f]
test al, al
jne 0x1800fa1d5
mov edx, dword [r10 + 0x38]
inc edx
mov dword [r10 + 0x38], edx
jmp 0x1800fa1e6
dec al
movzx eax, al
mov byte [r10 + 0x1f], al
mov edx, dword [r10 + rax*4 + 0xe8]
movsxd rcx, dword [rbx + 0x90]
mov dword [rsp + 0x30], edx
cmp dword [rbx + 0x94], ecx
jg 0x1800fa21a
xor eax, eax
mov r9d, edx
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov rcx, rbx
lea edx, [rax + 0x4b]
call fcn.1800aba20
mov r10, qword [rsp + 0x90]
jmp 0x1800fa247
lea eax, [rcx + 1]
xor r8d, r8d
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov qword [rax + rcx*8], 0x4b
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
movzx eax, byte [r10 + 0x1f]
test al, al
jne 0x1800fa25a
inc dword [r10 + 0x38]
mov eax, dword [r10 + 0x38]
jmp 0x1800fa26b
dec al
movzx eax, al
mov byte [r10 + 0x1f], al
mov eax, dword [r10 + rax*4 + 0xe8]
mov r8d, dword [rsp + 0xb0]
mov r9, r14
mov edx, esi
mov dword [rsp + 0x34], eax
mov rcx, r10
mov dword [rsp + 0x20], WSACleanup
call fcn.1800f3580
mov rax, qword [rsp + 0x50]
test byte [rax + 0x2c], 4
jne 0x1800fa3ab
cmp word [r14 + 0x34], 0
jge 0x1800fa2aa
cmp qword [r14 + 0x10], 0
jne 0x1800fa2bc
test r12d, r12d
jne 0x1800fa2bc
lea eax, [r13 - 1]
cmp eax, 1
jbe 0x1800fa3ab
movsxd rdi, dword [rbx + 0x90]
xor r12d, r12d
cmp dword [rbx + 0x94], edi
jg 0x1800fa2ea
xor r9d, r9d
mov dword [rsp + 0x20], r12d
mov r8d, esi
lea edx, [r12 + 0x24]
mov rcx, rbx
call fcn.1800aba20
mov edi, eax
jmp 0x1800fa313
lea rcx, [rdi + rdi*2]
lea eax, [rdi + 1]
mov dword [rbx + 0x90], eax
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0x24
mov dword [rax + rcx*8 + 4], esi
mov qword [rax + rcx*8 + 8], r12
mov qword [rax + rcx*8 + 0x10], r12
movsxd r8, dword [rbx + 0x90]
mov dword [rsp + 0x40], r8d
cmp dword [rbx + 0x94], r8d
jg 0x1800fa345
xor r9d, r9d
mov dword [rsp + 0x20], r12d
xor r8d, r8d
mov rcx, rbx
lea edx, [r9 + 9]
call fcn.1800aba20
mov dword [rsp + 0x40], eax
jmp 0x1800fa370
lea rcx, [r8 + r8*2]
lea eax, [r8 + 1]
mov dword [rbx + 0x90], eax
mov rax, qword [rbx + 0x88]
mov qword [rax + rcx*8], 9
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r12
mov rax, qword [rbx]
mov edx, dword [rbx + 0x90]
cmp byte [rax + 0x67], 0
je 0x1800fa38f
mov edi, dword [rsp + 0x38]
lea rax, [0x180254470]
mov dword [rax + 8], edx
jmp 0x1800fa3ae
movsxd rax, edi
mov edi, dword [rsp + 0x38]
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8 + 8], edx
lea rax, [rax + rcx*8]
jmp 0x1800fa3ae
xor r12d, r12d
mov r8, qword [rsp + 0x48]
test byte [r8 + 0x30], 0x80
jne 0x1800fa8c2
mov rcx, qword [rsp + 0x90]
mov r9, r8
mov r8d, edi
mov dword [rsp + 0x20], reloc.WS2_32.dll_WSASetLastError
mov edx, r15d
call fcn.1800f3580
movsxd rdx, dword [rbx + 0x90]
mov dword [rsp + 0x3c], edx
cmp dword [rbx + 0x94], edx
jg 0x1800fa40c
xor r9d, r9d
mov dword [rsp + 0x20], r12d
mov r8d, r15d
mov rcx, rbx
lea edx, [r9 + 0x24]
call fcn.1800aba20
mov dword [rsp + 0x3c], eax
jmp 0x1800fa43a
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rbx + 0x90], eax
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0x24
mov dword [rax + rcx*8 + 4], r15d
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r12
cmp word [r14 + 0x34], 0
jl 0x1800fa577
movsxd rdi, dword [rbx + 0x90]
cmp dword [rbx + 0x94], edi
jg 0x1800fa479
mov dword [rsp + 0x20], r12d
mov r8d, r15d
mov r12d, dword [rsp + 0x34]
mov edx, 0x87
mov r9d, r12d
mov rcx, rbx
call fcn.1800aba20
mov edi, eax
xor r8d, r8d
jmp 0x1800fa4b0
mov r12d, dword [rsp + 0x34]
lea rcx, [rdi + rdi*2]
lea eax, [rdi + 1]
xor r8d, r8d
mov dword [rbx + 0x90], eax
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0x87
mov dword [rax + rcx*8 + 4], r15d
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov rax, qword [rsp + 0x50]
test byte [rax + 0x2c], 4
jne 0x1800fa560
movsxd rsi, dword [rbx + 0x90]
cmp dword [rbx + 0x94], esi
jg 0x1800fa4ea
xor r9d, r9d
mov dword [rsp + 0x20], r12d
lea r8d, [r15 + 1]
mov rcx, rbx
lea edx, [r9 + 0x1f]
call fcn.1800aba20
mov esi, eax
jmp 0x1800fa51c
lea rcx, [rsi + rsi*2]
lea eax, [rsi + 1]
mov dword [rbx + 0x90], eax
lea edx, [r15 + 1]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0x1f
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r8
mov rcx, qword [rsp + 0x90]
mov r8, r14
mov edx, r13d
call fcn.1800e6210
mov rax, qword [rbx]
mov edx, dword [rbx + 0x90]
cmp byte [rax + 0x67], 0
je 0x1800fa547
lea rax, [0x180254470]
jmp 0x1800fa559
movsxd rax, esi
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
lea esi, [r15 + 1]
mov rcx, qword [rsp + 0x90]
mov r8d, r12d
mov edx, ebp
call fcn.1800f4260
jmp 0x1800fa642
cmp qword [r14 + 0x10], 0
jne 0x1800fa5dd
mov rax, qword [rsp + 0x50]
test byte [rax + 0x2c], 8
jne 0x1800fa5dd
movsxd rdi, dword [rbx + 0x90]
cmp dword [rbx + 0x94], edi
jg 0x1800fa5bc
mov dword [rsp + 0x20], r12d
mov r8d, esi
mov r12d, dword [rsp + 0x34]
mov edx, 0x7f
mov r9d, r12d
mov rcx, rbx
call fcn.1800aba20
mov edi, eax
jmp 0x1800fa642
lea eax, [rdi + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rdi + rdi*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0x7f
mov dword [rax + rcx*8 + 4], esi
jmp 0x1800fa62d
movsxd rdi, dword [rbx + 0x90]
cmp dword [rbx + 0x94], edi
jg 0x1800fa60d
mov dword [rsp + 0x20], r12d
mov r8d, r15d
mov r12d, dword [rsp + 0x34]
mov edx, 0x87
mov r9d, r12d
mov rcx, rbx
call fcn.1800aba20
mov edi, eax
jmp 0x1800fa642
lea eax, [rdi + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rdi + rdi*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0x87
mov dword [rax + rcx*8 + 4], r15d
mov r12d, dword [rsp + 0x34]
xor edx, edx
mov qword [rax + rcx*8 + 0x10], rdx
mov dword [rax + rcx*8 + 0xc], edx
mov dword [rax + rcx*8 + 8], r12d
mov r13, qword [rsp + 0x50]
test byte [r13 + 0x2c], 4
je 0x1800fa6af
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x1800fa67d
xor eax, eax
xor r9d, r9d
mov r8d, esi
mov dword [rsp + 0x20], eax
mov edx, 0x89
mov rcx, rbx
call fcn.1800aba20
mov esi, 0x98
jmp 0x1800fa6b4
lea eax, [rcx + 1]
xor edx, edx
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8 + 4], esi
mov esi, 0x98
mov dword [rax + rcx*8], 0x89
mov qword [rax + rcx*8 + 8], rdx
mov qword [rax + rcx*8 + 0x10], rdx
jmp 0x1800fa6b4
mov esi, 0xa9
movsxd rcx, dword [rbx + 0x90]
lea ebp, [r15 + 1]
cmp dword [rbx + 0x94], ecx
jg 0x1800fa6e4
mov r9d, r15d
mov dword [rsp + 0x20], r12d
mov r8d, ebp
mov edx, 0x81
mov rcx, rbx
call fcn.1800aba20
xor r8d, r8d
jmp 0x1800fa715
lea eax, [rcx + 1]
xor r8d, r8d
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0x81
mov dword [rax + rcx*8 + 4], ebp
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r8
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x1800fa740
mov r9d, dword [rsp + 0x30]
mov r8d, ebp
mov edx, 0x80
mov dword [rsp + 0x20], r12d
mov rcx, rbx
call fcn.1800aba20
jmp 0x1800fa771
mov edx, dword [rsp + 0x30]
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0x80
mov dword [rax + rcx*8 + 4], ebp
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r8
test byte [r13 + 0x2c], 4
jne 0x1800fa78d
mov r9d, 0xfffffffb
mov r8, r14
mov rcx, rbx
lea edx, [r9 + 4]
call fcn.1800acab0
movsxd rax, dword [rbx + 0x90]
test eax, eax
jle 0x1800fa7a8
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
mov word [rax + rcx*8 - 0x16], si
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x1800fa7d3
xor eax, eax
mov r9d, edi
mov r8d, r15d
mov dword [rsp + 0x20], eax
mov rcx, rbx
lea edx, [rax + 0x27]
call fcn.1800aba20
xor r8d, r8d
jmp 0x1800fa804
lea eax, [rcx + 1]
xor r8d, r8d
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0x27
mov dword [rax + rcx*8 + 4], r15d
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x1800fa82f
xor r9d, r9d
mov dword [rsp + 0x20], r8d
mov r8d, r15d
mov rcx, rbx
lea edx, [r9 + 0x7a]
call fcn.1800aba20
xor r8d, r8d
jmp 0x1800fa85d
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0x7a
mov dword [rax + rcx*8 + 4], r15d
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r8
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x1800fa88c
xor r9d, r9d
mov dword [rsp + 0x20], r8d
mov r8d, ebp
mov rcx, rbx
lea edx, [r9 + 0x7a]
call fcn.1800aba20
mov edi, dword [rsp + 0x38]
jmp 0x1800fa953
mov edi, dword [rsp + 0x38]
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0x7a
mov dword [rax + rcx*8 + 4], ebp
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r8
jmp 0x1800fa953
movsxd r10, dword [rsp + 0xb0]
mov r11, qword [rsp + 0x90]
cmp r10d, 1
je 0x1800fa918
mov rax, qword [r11]
mov rdx, r10
shl rdx, 5
mov rcx, qword [rax + 0x20]
mov rax, qword [rdx + rcx + 8]
cmp byte [rax + 0x11], 0
je 0x1800fa918
mov rax, qword [r14]
mov r9b, 1
mov r8d, dword [r14 + 0x28]
mov edx, r10d
mov rcx, r11
mov qword [rsp + 0x20], rax
call fcn.1800db820
mov r11, qword [rsp + 0x90]
mov r8, qword [rsp + 0x48]
cmp edi, 1
je 0x1800fa94f
mov rax, qword [r11]
movsxd rdx, edi
shl rdx, 5
mov rcx, qword [rax + 0x20]
mov rax, qword [rdx + rcx + 8]
cmp byte [rax + 0x11], 0
je 0x1800fa94f
mov rax, qword [r8]
xor r9d, r9d
mov r8d, dword [r8 + 0x28]
mov edx, edi
mov rcx, r11
mov qword [rsp + 0x20], rax
call fcn.1800db820
lea ebp, [r15 + 1]
mov r13, qword [r14 + 0x10]
test r13, r13
je 0x1800faf14
mov rax, qword [rsp + 0x48]
xor r12b, r12b
mov rsi, qword [rax + 0x10]
test rsi, rsi
je 0x1800fa989
mov rdx, rsi
mov rcx, r13
call fcn.1800f9a00
test eax, eax
jne 0x1800fa989
mov rsi, qword [rsi + 0x28]
test rsi, rsi
jne 0x1800fa971
movsxd rcx, dword [rbx + 0x90]
mov edx, dword [rsi + 0x58]
cmp dword [rbx + 0x94], ecx
jg 0x1800fa9b4
mov r9d, edx
mov dword [rsp + 0x20], edi
mov edx, reloc.WS2_32.dll_WSASetLastError
mov r8d, r15d
mov rcx, rbx
call fcn.1800aba20
jmp 0x1800fa9e4
lea eax, [rcx + 1]
xor r8d, r8d
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], reloc.WS2_32.dll_WSASetLastError
mov dword [rax + rcx*8 + 4], r15d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], r8
mov r14, qword [rsp + 0x90]
mov rdx, rsi
mov rcx, r14
mov rdi, qword [r14 + 0x10]
call fcn.1800e67b0
mov rdx, rax
test rax, rax
je 0x1800faa37
mov rcx, qword [rdi]
cmp byte [rcx + 0x67], r12b
je 0x1800faa1b
mov r8, rax
mov edx, 0xfffffff8
call fcn.1800ac540
jmp 0x1800faa37
movsxd rax, dword [rdi + 0x90]
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
mov byte [rax + rcx*8 - 0x17], 0xf8
mov qword [rax + rcx*8 - 8], rdx
movsxd rcx, dword [rbx + 0x90]
mov edx, dword [r13 + 0x58]
cmp dword [rbx + 0x94], ecx
jg 0x1800faa6a
mov eax, dword [rsp + 0xb0]
mov r9d, edx
mov edx, WSACleanup
mov dword [rsp + 0x20], eax
mov r8d, ebp
mov rcx, rbx
call fcn.1800aba20
jmp 0x1800faaa0
lea eax, [rcx + 1]
xor r8d, r8d
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8 + 8], edx
mov edx, dword [rsp + 0xb0]
mov dword [rax + rcx*8 + 0xc], edx
mov dword [rax + rcx*8], WSACleanup
mov dword [rax + rcx*8 + 4], ebp
mov qword [rax + rcx*8 + 0x10], r8
mov rdi, qword [r14 + 0x10]
mov rdx, r13
mov rcx, r14
call fcn.1800e67b0
mov rdx, rax
test rax, rax
je 0x1800faaeb
mov rcx, qword [rdi]
cmp byte [rcx + 0x67], r12b
je 0x1800faacf
mov r8, rax
mov edx, 0xfffffff8
call fcn.1800ac540
jmp 0x1800faaeb
movsxd rax, dword [rdi + 0x90]
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
mov byte [rax + rcx*8 - 0x17], 0xf8
mov qword [rax + rcx*8 - 8], rdx
movsxd rax, dword [rbx + 0x90]
test eax, eax
jle 0x1800fab08
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
mov word [rax + rcx*8 - 0x16], 1
movsxd r14, dword [rbx + 0x90]
cmp dword [rbx + 0x94], r14d
jg 0x1800fab37
xor eax, eax
xor r9d, r9d
mov r8d, r15d
mov dword [rsp + 0x20], eax
mov rcx, rbx
lea edx, [rax + 0x24]
call fcn.1800aba20
mov r14d, eax
xor r8d, r8d
jmp 0x1800fab65
lea rcx, [r14 + r14*2]
xor r8d, r8d
lea eax, [r14 + 1]
mov dword [rbx + 0x90], eax
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0x24
mov dword [rax + rcx*8 + 4], r15d
mov qword [rax + rcx*8 + 8], r8
mov qword [rax + rcx*8 + 0x10], r8
mov rax, qword [rsp + 0x50]
test byte [rax + 0x2c], 4
je 0x1800facc8
movzx eax, word [rsi + 0x60]
mov edi, r8d
mov r11, r8
cmp r8w, ax
jae 0x1800fabfe
mov r10, qword [rsi + 0x40]
lea r15, [0x1801fa5b8]
mov ebp, eax
mov r9, qword [r10]
test r9, r9
je 0x1800fabf2
mov rdx, r15
sub r9, r15
lea r15, [0x1801fb100]
nop word [rax + rax]
movzx ecx, byte [rdx]
movzx r8d, byte [rdx + r9]
cmp ecx, r8d
jne 0x1800fabc6
test ecx, ecx
je 0x1800fabdb
inc rdx
jmp 0x1800fabb0
movzx ecx, byte [rcx + r15]
movzx eax, byte [r8 + r15]
sub ecx, eax
jne 0x1800fabd9
inc rdx
jmp 0x1800fabb0
test ecx, ecx
lea r15, [0x1801fa5b8]
jne 0x1800fabf2
inc edi
inc r11
add r10, 8
cmp r11, rbp
jl 0x1800fab95
mov r15d, dword [rsp + 0x44]
xor r8d, r8d
lea ebp, [r15 + 1]
movzx eax, word [rsi + 0x60]
cmp edi, eax
jne 0x1800faceb
movsxd rcx, dword [rbx + 0x90]
mov r12b, 0x90
cmp dword [rbx + 0x94], ecx
jg 0x1800fac39
mov dword [rsp + 0x20], r8d
xor r9d, r9d
mov r8d, ebp
mov edx, 0x89
mov rcx, rbx
call fcn.1800aba20
xor r8d, r8d
jmp 0x1800fac66
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0x89
mov dword [rax + rcx*8 + 4], ebp
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r8
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x1800fac99
mov dword [rsp + 0x20], r8d
mov r9d, r15d
mov r8d, ebp
mov edx, 0x81
mov rcx, rbx
call fcn.1800aba20
mov esi, dword [rsp + 0x30]
xor r8d, r8d
jmp 0x1800fad4c
mov esi, dword [rsp + 0x30]
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0x81
mov dword [rax + rcx*8 + 4], ebp
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], r8d
jmp 0x1800fad47
mov rax, qword [rsp + 0x48]
mov edx, 1
test byte [rax + 0x30], 0x80
je 0x1800facf0
movzx eax, byte [r13 + 0x64]
and al, 3
movzx r12d, r12b
cmp al, 2
cmove r12d, edx
jmp 0x1800facf0
mov edx, 1
movsxd rcx, dword [rbx + 0x90]
mov esi, dword [rsp + 0x30]
cmp dword [rbx + 0x94], ecx
jg 0x1800fad1f
mov dword [rsp + 0x20], edx
mov r9d, esi
mov edx, 0x86
mov r8d, r15d
mov rcx, rbx
call fcn.1800aba20
xor r8d, r8d
jmp 0x1800fad4c
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0x86
mov dword [rax + rcx*8 + 4], r15d
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r8
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x1800fad78
mov dword [rsp + 0x20], r8d
mov r9d, esi
mov r8d, ebp
mov edx, 0x8a
mov rcx, rbx
call fcn.1800aba20
xor r8d, r8d
jmp 0x1800fada5
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0x8a
mov dword [rax + rcx*8 + 4], ebp
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
movsxd rax, dword [rbx + 0x90]
test eax, eax
jle 0x1800fadc8
lea rcx, [rax + rax*2]
or r12b, 8
mov rax, qword [rbx + 0x88]
movzx edx, r12b
mov word [rax + rcx*8 - 0x16], dx
movsxd rcx, dword [rbx + 0x90]
lea edx, [r14 + 1]
cmp dword [rbx + 0x94], ecx
jg 0x1800fadf8
mov dword [rsp + 0x20], r8d
mov r9d, edx
mov r8d, r15d
mov edx, 0x27
mov rcx, rbx
call fcn.1800aba20
xor r8d, r8d
jmp 0x1800fae26
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0x27
mov dword [rax + rcx*8 + 4], r15d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov rax, qword [rbx]
mov edx, dword [rbx + 0x90]
cmp byte [rax + 0x67], 0
je 0x1800fae3e
lea rax, [0x180254470]
jmp 0x1800fae50
movsxd rax, r14d
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x1800fae7e
xor r9d, r9d
mov dword [rsp + 0x20], r8d
mov r8d, r15d
mov rcx, rbx
lea edx, [r9 + 0x7a]
call fcn.1800aba20
xor r8d, r8d
jmp 0x1800faeac
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0x7a
mov dword [rax + rcx*8 + 4], r15d
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r8
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x1800faed4
xor r9d, r9d
mov dword [rsp + 0x20], r8d
mov r8d, ebp
mov rcx, rbx
lea edx, [r9 + 0x7a]
call fcn.1800aba20
jmp 0x1800faf01
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0x7a
mov dword [rax + rcx*8 + 4], ebp
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r8
mov r13, qword [r13 + 0x28]
mov edi, dword [rsp + 0x38]
test r13, r13
jne 0x1800fa960
jmp 0x1800faf18
mov esi, dword [rsp + 0x30]
movsxd rcx, dword [rsp + 0x3c]
test ecx, ecx
je 0x1800faf4b
mov rax, qword [rbx]
mov edx, dword [rbx + 0x90]
cmp byte [rax + 0x67], 0
je 0x1800faf39
lea rax, [0x180254470]
jmp 0x1800faf48
mov rax, qword [rbx + 0x88]
lea rcx, [rcx + rcx*2]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
mov ecx, dword [rsp + 0x34]
mov rdx, qword [rsp + 0x90]
test ecx, ecx
je 0x1800faf6d
movzx eax, byte [rdx + 0x1f]
cmp al, 8
jae 0x1800faf6d
mov dword [rdx + rax*4 + 0xe8], ecx
inc byte [rdx + 0x1f]
test esi, esi
je 0x1800faf83
movzx eax, byte [rdx + 0x1f]
cmp al, 8
jae 0x1800faf83
mov dword [rdx + rax*4 + 0xe8], esi
inc byte [rdx + 0x1f]
movsxd rdi, dword [rsp + 0x40]
test edi, edi
je 0x1800fb07d
cmp qword [rdx + 0xa8], 0
je 0x1800fafa2
mov rcx, rdx
call fcn.1800f42d0
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x1800fafcd
xor eax, eax
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov rcx, rbx
lea edx, [rax + 0x46]
call fcn.1800aba20
xor r8d, r8d
jmp 0x1800faff6
lea eax, [rcx + 1]
xor r8d, r8d
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov qword [rax + rcx*8], 0x46
mov qword [rax + rcx*8 + 8], r8
mov qword [rax + rcx*8 + 0x10], r8
mov rax, qword [rbx]
mov edx, dword [rbx + 0x90]
cmp byte [rax + 0x67], 0
je 0x1800fb00e
lea rax, [0x180254470]
jmp 0x1800fb01d
mov rax, qword [rbx + 0x88]
lea rcx, [rdi + rdi*2]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x1800fb04b
xor r9d, r9d
mov dword [rsp + 0x20], r8d
mov r8d, ebp
mov rcx, rbx
lea edx, [r9 + 0x7a]
call fcn.1800aba20
jmp 0x1800f9ff9
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0x7a
mov dword [rax + rcx*8 + 4], ebp
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r8
jmp 0x1800f9ff9
mov eax, 1
jmp 0x1800f9ffb