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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb8
mov r14, qword [rcx + 0x10]
xor r11d, r11d
xor r12b, r12b
mov qword [rsp + 0x80], r11
mov rsi, rdx
mov byte [rsp + 0x100], r12b
mov rbx, rcx
mov dword [rsp + 0x74], r11d
movsxd r10, dword [r14 + 0x90]
mov r13d, r11d
mov dword [rsp + 0x70], r11d
mov qword [rsp + 0xa8], r14
mov dword [rsp + 0x78], r10d
cmp dword [r14 + 0x94], r10d
jg 0x1800b3bc4
xor r9d, r9d
mov dword [rsp + 0x20], r11d
xor r8d, r8d
lea edx, [r11 + 0xf]
mov rcx, r14
call fcn.180033a50
mov r9, qword [rsp + 0x118]
xor r11d, r11d
mov dword [rsp + 0x78], eax
jmp 0x1800b3bec
lea rcx, [r10 + r10*2]
lea eax, [r10 + 1]
mov dword [r14 + 0x90], eax
mov rax, qword [r14 + 0x88]
mov qword [rax + rcx*8], reloc.WS2_32.dll_ntohs
mov qword [rax + rcx*8 + 8], r11
mov qword [rax + rcx*8 + 0x10], r11
mov rax, qword [rsi]
mov ebp, r11d
mov r15, qword [rsi + 0x20]
movabs r10, 0x8000000000000000
mov r8, qword [r9 + 0x60]
mov dword [rsp + 0x50], r11d
mov rdx, qword [rax + 8]
movzx eax, byte [r9 + 0x40]
imul rdi, rax, 0x68
movsxd rax, dword [rsi + 0x14]
mov rsi, r11
add rdi, rdx
mov qword [rsp + 0x90], rdx
imul rax, rax, 0x38
mov rcx, qword [rdi + 0x28]
add rax, r15
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x58], r8
mov qword [rsp + 0x60], r11
cmp r15, rax
jae 0x1800b4076
nop dword [rax + rax]
test byte [r15 + 0x12], 2
mov rdi, qword [r15]
jne 0x1800b3f0c
movzx r8d, byte [r9 + 0x40]
mov rcx, rdi
call fcn.18004fff0
test eax, eax
je 0x1800b3f07
test rdi, rdi
je 0x1800b3ca0
mov rcx, qword [rbx]
xor r9d, r9d
xor r8d, r8d
mov rdx, rdi
call fcn.18004e3a0
mov rsi, rax
xor edi, edi
jmp 0x1800b3ca3
mov rsi, rdi
mov rbp, qword [rbx]
test r13, r13
jne 0x1800b3cbb
mov r13, rsi
mov qword [rsp + 0x80], rsi
jmp 0x1800b3efe
test rsi, rsi
je 0x1800b3efe
mov eax, dword [r13 + 4]
or eax, dword [rsi + 4]
and eax, 0x20000003
cmp eax, 0x20000000
jne 0x1800b3e43
cmp byte [rbx + 0x12c], 2
jae 0x1800b3e43
test rbp, rbp
je 0x1800b3cfc
mov edx, 0x18
mov rcx, rbp
call fcn.180007150
jmp 0x1800b3d06
mov ecx, 0x18
call fcn.180006980
mov rcx, rax
test rax, rax
je 0x1800b3d30
mov rax, qword [rbx + 0xc0]
mov qword [rcx], rax
mov qword [rbx + 0xc0], rcx
mov qword [rcx + 8], r13
lea r13, [fcn.18004e1f0]
mov qword [rcx + 0x10], r13
jmp 0x1800b3d42
mov rcx, qword [rbx]
mov rdx, r13
call fcn.18004e140
lea r13, [fcn.18004e1f0]
mov rcx, qword [rbx]
test rcx, rcx
je 0x1800b3d56
mov edx, 0x18
call fcn.180007150
jmp 0x1800b3d60
mov ecx, 0x18
call fcn.180006980
mov rcx, rax
test rax, rax
je 0x1800b3d83
mov rax, qword [rbx + 0xc0]
mov qword [rcx], rax
mov qword [rbx + 0xc0], rcx
mov qword [rcx + 8], rsi
mov qword [rcx + 0x10], r13
jmp 0x1800b3d8e
mov rcx, qword [rbx]
mov rdx, rsi
call fcn.18004e140
lea rdx, [rsp + 0x40]
mov dword [rsp + 0x40], edi
lea rcx, [0x1802073b0]
call fcn.18000be60
test eax, eax
mov rcx, rbp
mov eax, 2
cmove edi, eax
mov edx, edi
add rdx, 0x48
call fcn.180007150
mov qword [rsp + 0x80], rax
mov r13, rax
test rax, rax
je 0x1800b3efe
xorps xmm0, xmm0
xor eax, eax
movups xmmword [r13], xmm0
movups xmmword [r13 + 0x10], xmm0
movups xmmword [r13 + 0x20], xmm0
movups xmmword [r13 + 0x30], xmm0
mov qword [r13 + 0x40], rax
mov rax, 0xffffffffffffffff
mov word [r13 + 0x32], ax
mov byte [r13], 0x9b
test edi, edi
jne 0x1800b3e29
mov eax, dword [rsp + 0x40]
mov ecx, 0x20800800
test eax, eax
mov dword [r13 + 8], eax
mov edx, 0x10800800
mov dword [r13 + 0x28], 1
cmovne ecx, edx
or dword [r13 + 4], ecx
jmp 0x1800b3efe
lea rax, [r13 + 0x48]
mov qword [r13 + 8], rax
mov word [rax], 0x30
mov dword [r13 + 0x28], 1
jmp 0x1800b3efe
mov edx, 0x48
mov rcx, rbp
call fcn.180007150
mov rdi, rax
test rax, rax
je 0x1800b3edd
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
movups xmmword [rdi + 0x10], xmm0
movups xmmword [rdi + 0x20], xmm0
movups xmmword [rdi + 0x30], xmm0
mov qword [rdi + 0x40], rax
mov rax, 0xffffffffffffffff
mov word [rdi + 0x32], ax
mov byte [rdi], 0x2c
mov qword [rdi + 0x18], rsi
mov edx, dword [rsi + 4]
and edx, 0x400208
or edx, dword [rdi + 4]
mov dword [rdi + 4], edx
mov ecx, dword [rsi + 0x28]
inc ecx
mov dword [rdi + 0x28], ecx
mov qword [rdi + 0x10], r13
mov eax, dword [r13 + 4]
and eax, 0x400208
or eax, edx
mov dword [rdi + 4], eax
mov eax, dword [r13 + 0x28]
cmp eax, ecx
jl 0x1800b3ebc
inc eax
mov dword [rdi + 0x28], eax
mov rax, qword [rbx]
mov r8d, dword [rax + 0x94]
cmp dword [rdi + 0x28], r8d
jle 0x1800b3ef3
lea rdx, str.Expression_tree_is_too_large__maximum_depth__d_
mov rcx, rbx
call fcn.18000aa70
jmp 0x1800b3ef3
mov rcx, qword [rbx]
mov rdx, r13
call fcn.18004e140
mov rcx, qword [rbx]
mov rdx, rsi
call fcn.18004e140
mov r13, rdi
mov qword [rsp + 0x80], rdi
mov rsi, qword [rsp + 0x60]
mov ebp, dword [rsp + 0x50]
mov rax, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x68]
mov r8d, dword [rdi + 0x4c]
cmp dword [r15 + 0x1c], r8d
jne 0x1800b403f
test byte [r15 + 0x14], 0x82
je 0x1800b403f
movzx ecx, byte [rdi + 0x44]
test cl, 0x58
je 0x1800b3f5a
mov rax, qword [r15]
mov edx, dword [rax + 4]
test dl, 3
je 0x1800b403a
cmp dword [rax + 0x34], r8d
jne 0x1800b403a
test cl, 0x18
je 0x1800b3f5a
test dl, 2
jne 0x1800b403a
mov rax, qword [rsp + 0x110]
test qword [r15 + 0x28], rax
jne 0x1800b403a
movsxd rax, dword [r15 + 0x20]
test eax, eax
js 0x1800b403a
lea rdx, [rax + rax*2]
mov rax, qword [rdi + 0x28]
mov rcx, qword [rax + 8]
movzx edx, byte [rcx + rdx*8 + 0xc]
mov rcx, qword [r15]
call fcn.18004c7f0
test eax, eax
je 0x1800b403a
movsxd rcx, dword [r15 + 0x20]
cmp ecx, 0x40
jl 0x1800b3fae
movabs rdi, 0x8000000000000000
jmp 0x1800b3fb6
mov edi, 1
shl rdi, cl
test r12b, r12b
jne 0x1800b3fe6
mov rax, qword [rsp + 0x88]
lea rcx, [rcx + rcx*2]
lea rdx, str.automatic_index_on__s__s_
mov r9, qword [rax + 8]
mov r8, qword [rax]
mov r9, qword [r9 + rcx*8]
mov ecx, 0x11c
call fcn.180009b30
mov r12b, 1
test rsi, rdi
jne 0x1800b4035
mov rdx, qword [rsp + 0x58]
lea esi, [rbp + 1]
mov rcx, qword [rbx]
mov r8d, esi
call fcn.1800b5b20
test eax, eax
jne 0x1800b4aaa
mov r8, qword [rsp + 0x58]
movsxd rcx, ebp
mov ebp, esi
mov dword [rsp + 0x50], esi
mov rsi, qword [rsp + 0x60]
mov rax, qword [r8 + 0x48]
or rsi, rdi
mov rdi, qword [rsp + 0x68]
mov qword [rsp + 0x60], rsi
mov qword [rax + rcx*8], r15
mov rax, qword [rsp + 0x48]
jmp 0x1800b4044
mov rdi, qword [rsp + 0x68]
mov rax, qword [rsp + 0x48]
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x90]
add r15, 0x38
mov r9, qword [rsp + 0x118]
cmp r15, rax
jb 0x1800b3c60
mov rcx, qword [rsp + 0x88]
xor r11d, r11d
movabs r10, 0x8000000000000000
mov word [r8 + 0x3c], bp
mov word [r8 + 0x18], bp
mov dword [r8 + 0x38], 0x4241
cmp byte [rcx + 0x3f], 2
jne 0x1800b4097
mov rsi, 0xffffffffffffffff
jmp 0x1800b40a1
not rsi
or rsi, r10
and rsi, qword [rdi + 0x58]
movsx eax, word [rcx + 0x36]
mov edi, 0x3f
mov qword [rsp + 0x60], rsi
mov r8d, eax
mov edx, r11d
cmp di, ax
jl 0x1800b40c0
mov edi, eax
test eax, eax
jle 0x1800b40d7
mov ecx, ebp
mov eax, edx
inc ebp
bt rsi, rax
cmovae ebp, ecx
inc edx
cmp edx, edi
jl 0x1800b40c0
mov dword [rsp + 0x50], ebp
mov rax, qword [rsp + 0x68]
cmp qword [rax + 0x58], 0
jge 0x1800b40ed
add ebp, 0xffffffc1
add ebp, r8d
mov dword [rsp + 0x50], ebp
mov rcx, qword [rbx]
lea esi, [rbp + 1]
movsx rbp, si
movsx eax, si
add eax, ebp
lea edx, [rax*2 + 9]
add edx, ebp
lea eax, [rbp + 0xe]
and edx, 0xfffffff8
lea eax, [rdx + rax*8]
movsxd r12, eax
test rcx, rcx
je 0x1800b4120
mov rdx, r12
call fcn.180007150
jmp 0x1800b4128
mov rcx, r12
call fcn.180006980
mov r15, rax
test rax, rax
je 0x1800b4aaa
mov r8, r12
xor edx, edx
mov rcx, rax
call fcn.1801a1dc0
mov r10d, dword [rsp + 0x50]
lea rax, [r15 + 0x70]
mov qword [r15 + 0x40], rax
lea rdx, [rax + rbp*8]
movsx eax, si
lea r12, str.BINARY
inc eax
mov word [r15 + 0x60], si
mov rsi, qword [rsp + 0x108]
xor r11d, r11d
movsxd rcx, eax
mov r9d, r11d
mov qword [r15 + 0x10], rdx
mov word [r15 + 0x5e], r10w
mov dword [rsp + 0x40], r11d
lea rax, [rdx + rcx*2]
mov qword [rsp + 0xa0], r11
mov qword [r15 + 8], rax
lea rax, [rax + rbp*2]
mov rbp, qword [rsp + 0x88]
mov qword [r15 + 0x38], rax
mov rax, qword [rsp + 0x58]
mov qword [rax + 0x20], r15
lea rax, str.auto_index
mov qword [r15], rax
mov rax, qword [rsp + 0x48]
mov qword [r15 + 0x18], rbp
mov rsi, qword [rsi + 0x20]
cmp rsi, rax
jae 0x1800b43b8
mov r14, qword [rsp + 0x68]
mov r13, qword [rsp + 0x110]
mov qword [rsp + 0x90], r11
mov qword [rsp + 0x98], r11
nop dword [rax + rax]
mov edx, dword [r14 + 0x4c]
cmp dword [rsi + 0x1c], edx
jne 0x1800b4384
test byte [rsi + 0x14], 0x82
je 0x1800b4384
movzx ecx, byte [r14 + 0x44]
test cl, 0x58
je 0x1800b423f
mov rax, qword [rsi]
mov r8d, dword [rax + 4]
test r8b, 3
je 0x1800b437f
cmp dword [rax + 0x34], edx
mov rax, qword [rsp + 0x48]
jne 0x1800b4384
test cl, 0x18
je 0x1800b423f
test r8b, 2
jne 0x1800b4384
mov r12d, edi
test qword [rsi + 0x28], r13
jne 0x1800b4384
movsxd rax, dword [rsi + 0x20]
test eax, eax
js 0x1800b437f
lea rdx, [rax + rax*2]
mov rax, qword [r14 + 0x28]
mov rcx, qword [rax + 8]
movzx edx, byte [rcx + rdx*8 + 0xc]
mov rcx, qword [rsi]
call fcn.18004c7f0
test eax, eax
je 0x1800b437a
mov ecx, dword [rsi + 0x20]
cmp ecx, 0x40
jl 0x1800b428d
movabs rax, 0x8000000000000000
jmp 0x1800b4295
mov eax, 1
shl rax, cl
mov r8, qword [rsp + 0xa0]
test r8, rax
jne 0x1800b437a
mov rbp, qword [rsi]
or r8, rax
mov rax, qword [r15 + 8]
mov rdx, qword [rsp + 0x98]
mov qword [rsp + 0xa0], r8
mov word [rdx + rax], cx
test dword [rbp + 4], 0x400
je 0x1800b42d7
mov rdi, qword [rbp + 0x10]
mov rdx, qword [rbp + 0x18]
jmp 0x1800b42df
mov rdi, qword [rbp + 0x18]
mov rdx, qword [rbp + 0x10]
test dword [rdx + 4], 0x200
jne 0x1800b4306
test rdi, rdi
je 0x1800b42f6
test dword [rdi + 4], 0x200
jne 0x1800b4303
mov rcx, rbx
call fcn.18004c5e0
test rax, rax
jne 0x1800b4313
mov rdx, rdi
mov rcx, rbx
call fcn.18004c5e0
test rax, rax
je 0x1800b4318
mov rcx, qword [rax]
jmp 0x1800b431f
lea rcx, str.BINARY
mov r8, qword [rsp + 0x90]
mov edi, r12d
mov r9d, dword [rsp + 0x40]
mov rax, qword [r15 + 0x40]
inc r9d
add qword [rsp + 0x98], 2
mov dword [rsp + 0x40], r9d
mov qword [r8 + rax], rcx
add r8, 8
mov rcx, qword [rbp + 0x10]
mov qword [rsp + 0x90], r8
test rcx, rcx
je 0x1800b437f
call fcn.18004c2c0
mov r9d, dword [rsp + 0x40]
cmp al, 0x42
mov rax, qword [rsp + 0x48]
je 0x1800b4384
mov byte [rsp + 0x100], 1
jmp 0x1800b4384
mov r9d, dword [rsp + 0x40]
mov rax, qword [rsp + 0x48]
add rsi, 0x38
cmp rsi, rax
jb 0x1800b41f0
mov r14, qword [rsp + 0xa8]
lea r12, str.BINARY
mov r13, qword [rsp + 0x80]
xor r11d, r11d
mov r10d, dword [rsp + 0x50]
mov rbp, qword [rsp + 0x88]
mov ecx, r11d
test edi, edi
jle 0x1800b4405
mov r11, qword [rsp + 0x60]
movsxd rax, r9d
lea rdx, [rax*8]
lea r8, [rax + rax]
mov eax, ecx
bt r11, rax
jae 0x1800b43f7
mov rax, qword [r15 + 8]
inc r9d
mov word [r8 + rax], cx
add r8, 2
mov rax, qword [r15 + 0x40]
mov qword [rdx + rax], r12
add rdx, 8
inc ecx
cmp ecx, edi
jl 0x1800b43d3
mov dword [rsp + 0x40], r9d
xor r11d, r11d
mov r12, qword [rsp + 0x68]
lea rdi, str.BINARY
cmp qword [r12 + 0x58], 0
jge 0x1800b446f
mov r8d, 0x3f
cmp r8w, word [rbp + 0x36]
jge 0x1800b446f
movsxd rax, r9d
lea rcx, [rax*8]
lea rdx, [rax + rax]
nop word [rax + rax]
mov rax, qword [r15 + 8]
lea rdx, [rdx + 2]
inc r9d
lea rcx, [rcx + 8]
mov word [rdx + rax - 2], r8w
inc r8d
mov rax, qword [r15 + 0x40]
mov qword [rcx + rax - 8], rdi
movsx eax, word [rbp + 0x36]
cmp r8d, eax
jl 0x1800b4440
mov dword [rsp + 0x40], r9d
mov rax, qword [r15 + 8]
mov rdx, 0xffffffffffffffff
mov rbp, qword [rsp + 0x118]
movsxd rcx, r9d
mov word [rax + rcx*2], dx
lea edx, [r10 + 1]
mov rax, qword [r15 + 0x40]
mov qword [rax + rcx*8], rdi
mov eax, dword [rbx + 0x34]
mov dword [rbp + 8], eax
inc dword [rbx + 0x34]
movsxd rcx, dword [r14 + 0x90]
mov r8d, dword [rbp + 8]
cmp dword [r14 + 0x94], ecx
jg 0x1800b44d0
mov r9d, edx
mov dword [rsp + 0x20], r11d
mov edx, reloc.WS2_32.dll_WSACleanup
mov rcx, r14
call fcn.180033a50
lea rdi, [r14 + 0x88]
jmp 0x1800b4502
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
lea rdi, [r14 + 0x88]
mov rax, qword [rdi]
mov dword [rax + rcx*8], reloc.WS2_32.dll_WSACleanup
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r11d
mov qword [rax + rcx*8 + 0x10], r11
mov rsi, qword [rbx + 0x10]
mov rdx, r15
mov rcx, rbx
call fcn.18006d4b0
mov rdx, rax
test rax, rax
je 0x1800b4554
mov rcx, qword [rsi]
cmp byte [rcx + 0x67], 0
je 0x1800b4538
mov r8, rax
mov edx, 0xfffffff8
call fcn.180034610
lea rdi, [r14 + 0x88]
jmp 0x1800b4554
movsxd rax, dword [rsi + 0x90]
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
mov byte [rax + rcx*8 - 0x17], 0xf8
mov qword [rax + rcx*8 - 8], rdx
mov rax, qword [rbx]
test dword [rax + 0x60], 0x80000
jne 0x1800b45b7
cmp byte [rsp + 0x100], 0
je 0x1800b45b7
mov rax, qword [rsp + 0x108]
mov r8, rbp
mov rcx, rbx
mov rdx, qword [rax]
call fcn.1800a8a00
inc dword [rbx + 0x38]
xor r9d, r9d
mov edx, dword [rbx + 0x38]
mov dword [rbp + 0x34], edx
movsxd rcx, dword [r14 + 0x90]
cmp dword [r14 + 0x94], ecx
jg 0x1800b4600
mov dword [rsp + 0x20], r9d
mov r8d, 0x2710
mov r9d, edx
mov rcx, r14
mov edx, 0x4d
call fcn.180033a50
xor r9d, r9d
test byte [r12 + 0x48], 0x20
je 0x1800b46fb
movsxd r8, dword [r14 + 0x90]
mov ebp, dword [r12 + 0x3c]
mov dword [rsp + 0x70], r8d
cmp dword [r14 + 0x94], r8d
jg 0x1800b4630
mov dword [rsp + 0x20], r9d
xor r8d, r8d
xor r9d, r9d
mov rcx, r14
lea edx, [r9 + 0x47]
call fcn.180033a50
mov dword [rsp + 0x70], eax
xor r9d, r9d
jmp 0x1800b4658
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi]
mov dword [rax + rcx*8], 0x4d
mov dword [rax + rcx*8 + 4], 0x2710
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
jmp 0x1800b45ba
lea rcx, [r8 + r8*2]
lea eax, [r8 + 1]
mov dword [r14 + 0x90], eax
mov rax, qword [rdi]
mov qword [rax + rcx*8], 0x47
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r9
movsxd rcx, dword [r14 + 0x90]
mov edx, dword [r12 + 0x38]
cmp dword [r14 + 0x94], ecx
jg 0x1800b4688
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov r8d, ebp
mov rcx, r14
lea edx, [r9 + 0xb]
call fcn.180033a50
xor r9d, r9d
jmp 0x1800b46b2
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi]
mov dword [rax + rcx*8], recv
mov dword [rax + rcx*8 + 4], ebp
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r9
movsxd rsi, dword [r14 + 0x90]
cmp dword [r14 + 0x94], esi
jg 0x1800b46dd
mov dword [rsp + 0x20], r9d
mov r8d, ebp
xor r9d, r9d
mov rcx, r14
lea edx, [r9 + 0xc]
call fcn.180033a50
mov esi, eax
jmp 0x1800b4753
lea eax, [rsi + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rsi + rsi*2]
mov rax, qword [rdi]
mov dword [rax + rcx*8], recv
mov dword [rax + rcx*8 + 4], ebp
jmp 0x1800b4745
movsxd rsi, dword [r14 + 0x90]
mov edx, dword [rbp + 4]
cmp dword [r14 + 0x94], esi
jg 0x1800b4729
mov dword [rsp + 0x20], r9d
mov r8d, edx
xor r9d, r9d
mov rcx, r14
lea edx, [r9 + 0x24]
call fcn.180033a50
mov esi, eax
jmp 0x1800b4753
lea eax, [rsi + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rsi + rsi*2]
mov rax, qword [rdi]
mov dword [rax + rcx*8], 0x24
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 0x10], r9
mov qword [rax + rcx*8 + 8], 0
mov eax, reloc.WS2_32.dll_recv
test r13, r13
je 0x1800b4783
dec dword [rbx + 0x44]
mov r9d, eax
mov r8d, dword [rbx + 0x44]
mov rdx, r13
mov rcx, rbx
mov dword [rsp + 0x74], r8d
call fcn.180057290
mov rax, qword [rsp + 0x58]
or dword [rax + 0x38], 0x20000
movzx eax, byte [rbx + 0x1f]
test al, al
jne 0x1800b4793
inc dword [rbx + 0x38]
mov ebp, dword [rbx + 0x38]
jmp 0x1800b47a2
dec al
movzx eax, al
mov byte [rbx + 0x1f], al
mov ebp, dword [rbx + rax*4 + 0xe0]
mov rax, qword [rsp + 0x118]
xor r9d, r9d
mov dword [rsp + 0x38], r9d
mov rdx, r15
mov qword [rsp + 0x30], r9
mov rcx, rbx
mov qword [rsp + 0x28], r9
mov r8d, dword [rax + 4]
mov dword [rsp + 0x20], r9d
mov r9d, ebp
call fcn.180070740
mov r15, qword [rsp + 0x118]
mov r12d, eax
mov edx, dword [r15 + 0x34]
test edx, edx
je 0x1800b481d
mov rax, qword [rsp + 0x58]
movsxd rcx, dword [r14 + 0x90]
movzx r8d, word [rax + 0x18]
cmp dword [r14 + 0x94], ecx
jg 0x1800b484e
mov dword [rsp + 0x28], r8d
xor r9d, r9d
mov r8d, edx
mov dword [rsp + 0x20], r12d
mov edx, 0xb4
mov rcx, r14
call fcn.180033ab0
xor r9d, r9d
movsxd rcx, dword [r14 + 0x90]
mov edx, dword [r15 + 8]
cmp dword [r14 + 0x94], ecx
jg 0x1800b487e
mov dword [rsp + 0x20], r9d
mov r8d, edx
mov r9d, ebp
mov edx, 0x8a
mov rcx, r14
call fcn.180033a50
jmp 0x1800b48a8
lea eax, [rcx + 1]
xor r9d, r9d
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi]
mov dword [rax + rcx*8], 0xfdb4
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], r12d
mov dword [rax + rcx*8 + 0x10], r8d
jmp 0x1800b4820
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi]
mov dword [rax + rcx*8], 0x8a
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
movsxd rdx, dword [r14 + 0x90]
test edx, edx
jle 0x1800b48cb
mov rax, qword [rdi]
lea rcx, [rdx + rdx*2]
mov edx, reloc.WS2_32.dll_recv
mov word [rax + rcx*8 - 0x16], dx
mov edx, dword [r14 + 0x90]
test r13, r13
je 0x1800b48fe
mov r9, qword [r14 + 0x18]
mov ecx, dword [rsp + 0x74]
not ecx
mov eax, dword [r9 + 0x48]
add eax, dword [r9 + 0x44]
jns 0x1800b48f4
mov r8d, ecx
mov rdx, r14
mov rcx, r9
call fcn.1800342e0
jmp 0x1800b48fe
mov rax, qword [r9 + 0x50]
movsxd rcx, ecx
mov dword [rax + rcx*4], edx
mov rax, qword [rsp + 0x68]
lea r15, [0x18024b8e0]
test byte [rax + 0x48], 0x20
je 0x1800b49ca
mov rax, qword [r14]
cmp byte [rax + 0x67], 0
je 0x1800b4922
mov rcx, r15
jmp 0x1800b4932
movsxd rax, dword [rsp + 0x70]
lea rcx, [rax + rax*2]
mov rax, qword [rdi]
lea rcx, [rax + rcx*8]
mov eax, dword [rsp + 0x40]
mov edx, esi
add eax, r12d
mov r12, qword [rsp + 0x68]
mov dword [rcx + 8], eax
mov rcx, qword [rsp + 0x118]
mov r9d, dword [r12 + 0x40]
mov eax, dword [rcx + 8]
mov r8d, dword [rcx + 4]
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.1800b3a70
movsxd rcx, dword [r14 + 0x90]
xor r9d, r9d
cmp dword [r14 + 0x94], ecx
jg 0x1800b4998
xor r8d, r8d
mov dword [rsp + 0x20], r9d
mov r9d, esi
mov rcx, r14
lea edx, [r8 + 9]
call fcn.180033a50
and dword [r12 + 0x48], 0xffffffdf
jmp 0x1800b4a4a
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi]
mov qword [rax + rcx*8], 9
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
and dword [r12 + 0x48], 0xffffffdf
jmp 0x1800b4a4a
mov rax, qword [rsp + 0x118]
lea edx, [rsi + 1]
movsxd rcx, dword [r14 + 0x90]
xor r9d, r9d
mov r8d, dword [rax + 4]
cmp dword [r14 + 0x94], ecx
jg 0x1800b4a03
mov dword [rsp + 0x20], r9d
mov rcx, r14
mov r9d, edx
mov edx, 0x27
call fcn.180033a50
jmp 0x1800b4a2e
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi]
mov dword [rax + rcx*8], 0x27
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
movsxd rax, dword [r14 + 0x90]
test eax, eax
jle 0x1800b4a4a
lea rcx, [rax + rax*2]
mov edx, 3
mov rax, qword [rdi]
mov word [rax + rcx*8 - 0x16], dx
mov rax, qword [r14]
mov edx, dword [r14 + 0x90]
cmp byte [rax + 0x67], 0
je 0x1800b4a5f
mov rax, r15
jmp 0x1800b4a6d
movsxd rax, esi
lea rcx, [rax + rax*2]
mov rax, qword [rdi]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
test ebp, ebp
je 0x1800b4a86
movzx eax, byte [rbx + 0x1f]
cmp al, 8
jae 0x1800b4a86
mov dword [rbx + rax*4 + 0xe0], ebp
inc byte [rbx + 0x1f]
mov rax, qword [r14]
mov edx, dword [r14 + 0x90]
cmp byte [rax + 0x67], 0
jne 0x1800b4aa6
movsxd rax, dword [rsp + 0x78]
lea rcx, [rax + rax*2]
mov rax, qword [rdi]
lea r15, [rax + rcx*8]
mov dword [r15 + 8], edx
test r13, r13
je 0x1800b4aba
mov rcx, qword [rbx]
mov rdx, r13
call fcn.18004e140
add rsp, 0xb8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret