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

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xe8
mov r12, qword [rcx + 0x10]
mov rdi, rcx
mov rbx, qword [rcx]
xor ebp, ebp
mov rcx, r12
mov dword [rsp + 0x60], ebp
mov qword [rsp + 0x78], rbp
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x50], r12
call fcn.140112390
mov rcx, r12
mov dword [rsp + 0x44], eax
call fcn.140112390
mov rcx, qword [rsp + 0x138]
lea esi, [rbp + 1]
mov dword [rsp + 0x4c], eax
mov r15, qword [rcx + 0x48]
movzx r13d, byte [rcx + 8]
mov rax, qword [rcx + 0x50]
mov byte [rsp + 0x148], r13b
movsxd r14, dword [r15]
mov dword [rsp + 0x70], r14d
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x88], r15
cmp r13b, 0x74
je 0x1400afe46
mov edi, esi
cmp byte [rbx + 0x51], bpl
jne 0x1400afe3e
lea rsi, [r14 + r14*4]
shl rsi, 3
lea r9d, [rbp + 0x49]
mov rax, qword [rcx]
cmp edi, dword [rax]
jg 0x1400afe39
mov rdx, qword [r15 + 8]
mov ecx, ebp
test r14d, r14d
jle 0x1400afd16
add rdx, 0x20
nop word [rax + rax]
movzx eax, word [rdx]
cmp eax, edi
je 0x1400afe24
inc ecx
add rdx, 0x28
cmp ecx, r14d
jl 0x1400afd00
cmp ecx, r14d
jne 0x1400afe24
cmp byte [rbx + 0x51], bpl
jne 0x1400afd52
cmp byte [rbx + 0x152], bpl
je 0x1400afd3e
cmp r9w, word [rbx + 0x150]
jbe 0x1400afd5c
inc dword [rbx + 0x160]
mov rcx, r9
call fcn.1400f1360
mov r8, rax
test rax, rax
jne 0x1400afd9c
mov byte [rbx + 0x51], 1
mov eax, 7
jmp 0x1400b2005
mov r8, qword [rbx + 0x168]
test r8, r8
jne 0x1400afd70
inc dword [rbx + 0x164]
jmp 0x1400afd3e
mov rax, qword [r8]
mov qword [rbx + 0x168], rax
mov eax, dword [rbx + 0x154]
inc eax
mov dword [rbx + 0x154], eax
inc dword [rbx + 0x15c]
cmp eax, dword [rbx + 0x158]
jle 0x1400afd9c
mov dword [rbx + 0x158], eax
mov rcx, qword [rsp + 0x130]
xorps xmm0, xmm0
movups xmmword [r8], xmm0
xor eax, eax
mov rdx, r15
movups xmmword [r8 + 0x10], xmm0
movups xmmword [r8 + 0x20], xmm0
movups xmmword [r8 + 0x30], xmm0
mov qword [r8 + 0x40], rax
mov byte [r8 + 0x48], al
mov eax, 0xffffffff
mov word [r8 + 0x32], ax
lea rax, [r8 + 0x48]
mov qword [r8 + 8], rax
mov byte [r8], 0x84
mov byte [rax], bpl
or dword [r8 + 4], 0x400
mov dword [r8 + 0x28], 1
mov dword [r8 + 8], edi
call fcn.1400dd6d0
mov qword [rsp + 0x88], rax
mov r15, rax
mov r9d, 0x49
test rax, rax
je 0x1400afe24
mov rax, qword [rax + 8]
inc r14d
mov dword [rsp + 0x70], r14d
mov word [rax + rsi + 0x20], di
add rsi, 0x28
inc edi
cmp byte [rbx + 0x51], bpl
jne 0x1400afe39
mov rcx, qword [rsp + 0x138]
jmp 0x1400afce0
mov esi, 1
mov rdi, qword [rsp + 0x130]
movsxd rcx, r14d
shl rcx, 2
test rbx, rbx
je 0x1400afea3
cmp byte [rbx + 0x51], bpl
je 0x1400afe88
mov qword [rsp + 0x98], rbp
mov r14, qword [rsp + 0x138]
mov qword [rsp + 0xa0], rbp
mov qword [r14 + 0x48], r15
mov rdi, qword [rdi]
test r15, r15
jne 0x1400aff6d
mov rsi, rbp
jmp 0x1400b03aa
cmp byte [rbx + 0x152], bpl
je 0x1400afea3
movzx eax, word [rbx + 0x150]
cmp rcx, rax
jbe 0x1400aff19
inc dword [rbx + 0x160]
call fcn.1400f1360
mov qword [rsp + 0x98], rax
mov rdx, rax
test rax, rax
jne 0x1400afec6
test rbx, rbx
je 0x1400afec1
mov byte [rbx + 0x51], 1
test rax, rax
je 0x1400afe60
mov rcx, qword [r15 + 8]
test r14d, r14d
jle 0x1400afef6
add rcx, 0x20
mov r8d, r14d
nop word [rax + rax]
movzx eax, word [rcx]
lea rdx, [rdx + 4]
dec eax
lea rcx, [rcx + 0x28]
mov dword [rdx - 4], eax
sub r8, 1
jne 0x1400afee0
mov r14, qword [rsp + 0x138]
mov r8d, esi
mov rdx, r14
mov rcx, rdi
call fcn.1400b2020
mov qword [rsp + 0xa0], rax
jmp 0x1400afe70
mov rdx, qword [rbx + 0x168]
mov qword [rsp + 0x98], rdx
test rdx, rdx
jne 0x1400aff38
inc dword [rbx + 0x164]
jmp 0x1400afea3
mov rax, qword [rdx]
mov qword [rbx + 0x168], rax
mov eax, dword [rbx + 0x154]
inc eax
mov dword [rbx + 0x154], eax
inc dword [rbx + 0x15c]
cmp eax, dword [rbx + 0x158]
jle 0x1400afec6
mov dword [rbx + 0x158], eax
jmp 0x1400afec6
mov ecx, reloc.WS2_32.dll_recv
test rdi, rdi
je 0x1400aff95
cmp byte [rdi + 0x51], bpl
jne 0x1400affbb
cmp byte [rdi + 0x152], bpl
je 0x1400aff95
cmp cx, word [rdi + 0x150]
jbe 0x1400affc3
inc dword [rdi + 0x160]
call fcn.1400f1360
mov qword [rsp + 0x80], rax
mov rsi, rax
test rax, rax
jne 0x1400affb3
test rdi, rdi
je 0x1400affb3
mov byte [rdi + 0x51], 1
mov rdx, rsi
test rsi, rsi
jne 0x1400b000e
mov rsi, rbp
jmp 0x1400b03aa
mov rsi, qword [rdi + 0x168]
mov qword [rsp + 0x80], rsi
test rsi, rsi
jne 0x1400affdf
inc dword [rdi + 0x164]
jmp 0x1400aff95
mov rax, qword [rsi]
mov qword [rdi + 0x168], rax
mov eax, dword [rdi + 0x154]
inc eax
mov dword [rdi + 0x154], eax
inc dword [rdi + 0x15c]
cmp eax, dword [rdi + 0x158]
jle 0x1400b000b
mov dword [rdi + 0x158], eax
mov rdx, rsi
mov eax, dword [r15]
mov dword [rsi], eax
mov eax, 1
mov ecx, dword [r15]
cmp ecx, eax
jle 0x1400b0026
nop
add eax, eax
cmp eax, ecx
jl 0x1400b0020
cdqe
lea rcx, [rax + rax*4]
shl rcx, 3
test rdi, rdi
je 0x1400b005c
cmp byte [rdi + 0x51], bpl
je 0x1400b0041
mov qword [rdx + 8], rbp
jmp 0x1400b008c
cmp byte [rdi + 0x152], bpl
je 0x1400b005c
movzx eax, word [rdi + 0x150]
cmp rcx, rax
jbe 0x1400b00ac
inc dword [rdi + 0x160]
call fcn.1400f1360
mov qword [rsp + 0x90], rax
mov r8, rax
test rax, rax
jne 0x1400b007a
test rdi, rdi
je 0x1400b007a
mov byte [rdi + 0x51], 1
mov qword [rsi + 8], r8
test r8, r8
jne 0x1400b00f8
test rdi, rdi
je 0x1400b018d
cmp qword [rdi + 0x328], rbp
je 0x1400b015c
mov rdx, rsi
mov rcx, rdi
call fcn.1400ae450
mov rsi, rbp
jmp 0x1400b03aa
mov r8, qword [rdi + 0x168]
mov qword [rsp + 0x90], r8
test r8, r8
jne 0x1400b00c8
inc dword [rdi + 0x164]
jmp 0x1400b005c
mov rax, qword [r8]
mov qword [rdi + 0x168], rax
mov eax, dword [rdi + 0x154]
inc eax
mov dword [rdi + 0x154], eax
inc dword [rdi + 0x15c]
cmp eax, dword [rdi + 0x158]
jle 0x1400b00f4
mov dword [rdi + 0x158], eax
mov qword [rdx + 8], r8
mov r14d, ebp
mov r13, qword [r15 + 8]
mov dword [rsp + 0x40], ebp
cmp dword [r15], ebp
jle 0x1400b0399
mov r12, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x88]
lea r15, [r12 + 0x1c]
sub r12, r13
nop dword [rax]
nop dword [rax + rax]
mov rdx, qword [r13]
xor r9d, r9d
xor r8d, r8d
mov rcx, rdi
call fcn.140081ca0
mov qword [r12 + r13], rax
mov rbp, qword [r13 + 8]
test rbp, rbp
jne 0x1400b01f9
xor edx, edx
mov esi, edx
jmp 0x1400b0272
cmp rsi, qword [rdi + 0x170]
jb 0x1400b018d
cmp rsi, qword [rdi + 0x178]
jae 0x1400b018d
mov rax, qword [rdi + 0x168]
mov qword [rsi], rax
dec dword [rdi + 0x154]
mov qword [rdi + 0x168], rsi
mov rsi, rbp
jmp 0x1400b03aa
cmp dword [0x1402fd010], ebp
je 0x1400b01e8
mov rcx, qword [0x140303640]
test rcx, rcx
je 0x1400b01a7
call qword [0x1402fd098]
mov rcx, rsi
call qword [0x1402fd050]
dec qword [0x140303428]
movsxd rcx, eax
sub qword [0x1403033e0], rcx
mov rcx, rsi
call qword [0x1402fd040]
mov rcx, qword [0x140303640]
test rcx, rcx
je 0x1400affbb
call qword [0x1402fd0a8]
mov rsi, rbp
jmp 0x1400b03aa
mov rcx, rsi
call qword [0x1402fd040]
mov rsi, rbp
jmp 0x1400b03aa
cmp byte [rbp], 0
mov rax, rbp
je 0x1400b020a
inc rax
cmp byte [rax], 0
jne 0x1400b0202
sub eax, ebp
and eax, 0x3fffffff
lea r14d, [rax + 1]
test rdi, rdi
je 0x1400b0241
cmp byte [rdi + 0x51], 0
je 0x1400b0226
xor edx, edx
mov esi, edx
jmp 0x1400b026d
cmp byte [rdi + 0x152], 0
je 0x1400b0241
movzx eax, word [rdi + 0x150]
cmp r14, rax
jbe 0x1400b0287
inc dword [rdi + 0x160]
mov rcx, r14
call fcn.1400f1360
mov rsi, rax
test rax, rax
jne 0x1400b025f
test rdi, rdi
je 0x1400b025a
mov byte [rdi + 0x51], 1
test rax, rax
je 0x1400b026d
mov r8, r14
mov rdx, rbp
mov rcx, rsi
call fcn.14020d920
mov r14d, dword [rsp + 0x40]
mov qword [r15 - 0x14], rsi
mov rbp, qword [r13 + 0x10]
test rbp, rbp
jne 0x1400b02c9
mov rsi, rbp
jmp 0x1400b0348
mov rsi, qword [rdi + 0x168]
test rsi, rsi
jne 0x1400b029b
inc dword [rdi + 0x164]
jmp 0x1400b0241
mov rax, qword [rsi]
mov qword [rdi + 0x168], rax
mov eax, dword [rdi + 0x154]
inc eax
mov dword [rdi + 0x154], eax
inc dword [rdi + 0x15c]
cmp eax, dword [rdi + 0x158]
jle 0x1400b025f
mov dword [rdi + 0x158], eax
jmp 0x1400b025f
cmp byte [rbp], 0
mov rax, rbp
je 0x1400b02da
inc rax
cmp byte [rax], 0
jne 0x1400b02d2
sub eax, ebp
and eax, 0x3fffffff
lea r14d, [rax + 1]
test rdi, rdi
je 0x1400b0315
cmp byte [rdi + 0x51], 0
je 0x1400b02f6
xor ebp, ebp
mov esi, ebp
jmp 0x1400b0343
cmp byte [rdi + 0x152], 0
je 0x1400b0315
movzx eax, word [rdi + 0x150]
cmp r14, rax
jbe 0x1400b03c2
inc dword [rdi + 0x160]
mov rcx, r14
call fcn.1400f1360
mov rsi, rax
test rax, rax
jne 0x1400b0333
test rdi, rdi
je 0x1400b032e
mov byte [rdi + 0x51], 1
test rax, rax
je 0x1400b0341
mov r8, r14
mov rdx, rbp
mov rcx, rsi
call fcn.14020d920
xor ebp, ebp
mov r14d, dword [rsp + 0x40]
mov qword [r15 - 0xc], rsi
inc r14d
movzx eax, byte [r13 + 0x18]
and dword [r15], 0xfffffffe
mov byte [r15 - 4], al
mov ecx, dword [r13 + 0x1c]
xor ecx, dword [r15]
and ecx, 2
mov dword [rsp + 0x40], r14d
xor dword [r15], ecx
mov eax, dword [r13 + 0x20]
add r13, 0x28
mov dword [r15 + 4], eax
add r15, 0x28
cmp r14d, dword [rbx]
jl 0x1400b0130
mov rbx, qword [rsp + 0x68]
mov r12, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x80]
movzx r13d, byte [rsp + 0x148]
mov r14, qword [rsp + 0x138]
mov rdx, qword [rsp + 0x58]
mov qword [rdx + 0x48], rsi
cmp r13b, 0x74
jne 0x1400b040e
mov dword [rsp + 0x40], ebp
jmp 0x1400b058b
mov rsi, qword [rdi + 0x168]
test rsi, rsi
jne 0x1400b03d9
inc dword [rdi + 0x164]
jmp 0x1400b0315
mov rax, qword [rsi]
mov qword [rdi + 0x168], rax
mov eax, dword [rdi + 0x154]
inc eax
mov dword [rdi + 0x154], eax
inc dword [rdi + 0x15c]
cmp eax, dword [rdi + 0x158]
jle 0x1400b0333
mov dword [rdi + 0x158], eax
jmp 0x1400b0333
mov rax, qword [r14]
mov rcx, qword [rsp + 0x130]
movsxd rbp, dword [rax]
mov eax, dword [rcx + 0x54]
lea r14d, [rax + 1]
inc eax
add eax, ebp
mov dword [rsp + 0x40], r14d
mov dword [rcx + 0x54], eax
movsxd rdi, dword [r12 + 0x3c]
mov rax, qword [r12 + 0x30]
mov ecx, edi
cmp dword [rax + 0x60], edi
jg 0x1400b0456
mov edx, 1
mov rcx, r12
call fcn.1400aad80
test eax, eax
jne 0x1400b048b
mov ecx, dword [r12 + 0x3c]
lea eax, [rcx + 1]
xor r15d, r15d
mov dword [r12 + 0x3c], eax
lea rcx, [rdi + rdi*2]
mov rax, qword [r12 + 8]
mov word [rax + rcx*8], 0x19
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r15d
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
jmp 0x1400b048e
xor r15d, r15d
lea rdi, [rbp + 1]
lea rsi, [rdi + rdi*8]
lea rcx, [rsi + 0x28]
call fcn.1400f1360
mov qword [rsp + 0x78], rax
mov rcx, rax
test rax, rax
je 0x1400b0580
lea r8, [rsi + 0x28]
xor edx, edx
call fcn.14020dff0
mov rcx, qword [rsp + 0x78]
mov edx, 1
mov word [rcx + 6], bp
lea rax, [rcx + 0x20]
mov word [rcx + 8], dx
lea rax, [rax + rdi*8]
mov qword [rcx + 0x18], rax
mov edi, r15d
movzx eax, byte [rbx + 0x4e]
mov byte [rcx + 4], al
mov qword [rcx + 0x10], rbx
mov dword [rcx], edx
test ebp, ebp
jle 0x1400b0589
mov rbx, qword [rsp + 0x138]
lea r13, [rcx + 0x18]
xor r12d, r12d
mov qword [rsp + 0x78], rcx
mov r14d, r12d
lea r15, [rcx + 0x20]
mov esi, r12d
nop
mov rdx, qword [rbx + 0x50]
test rdx, rdx
je 0x1400b0530
mov rcx, qword [rsp + 0x130]
mov r8d, edi
call fcn.1400afbc0
test rax, rax
jne 0x1400b054f
jmp 0x1400b0533
mov rax, r12
mov rdx, qword [rbx]
cmp edi, dword [rdx]
jge 0x1400b054f
mov rdx, qword [rdx + 8]
mov rcx, qword [rsp + 0x130]
mov rdx, qword [rdx + rsi]
call fcn.1400dc920
mov qword [r15], rax
inc edi
mov rax, qword [r13]
add r15, 8
add rsi, 0x28
mov byte [r14 + rax], r12b
inc r14
cmp edi, ebp
jl 0x1400b0510
mov rbx, qword [rsp + 0x68]
mov r12, qword [rsp + 0x50]
movzx r13d, byte [rsp + 0x148]
jmp 0x1400b0589
mov byte [rbx + 0x51], 1
mov qword [rsp + 0x78], rcx
xor ebp, ebp
mov rdx, qword [rsp + 0x138]
lea r9, str.ORDER
mov rax, qword [rsp + 0x58]
mov qword [rdx + 0x50], rbp
mov qword [rax + 0x58], rbp
mov r15, qword [rdx + 0x48]
test r15, r15
je 0x1400b0650
mov r10, qword [rsp + 0x130]
mov rax, qword [r10]
cmp byte [rax + 0x51], 0
jne 0x1400b0650
mov ecx, dword [r15]
cmp ecx, dword [rax + 0x70]
jle 0x1400b05e5
mov r8, r9
lea rdx, str.too_many_terms_in__s_BY_clause
mov rcx, r10
call fcn.1400d9350
jmp 0x1400b0650
mov r14, qword [rdx]
mov esi, ebp
mov rdi, qword [r15 + 8]
test ecx, ecx
jle 0x1400b0650
movzx eax, word [rdi + 0x20]
test ax, ax
je 0x1400b062f
mov r8d, eax
mov rcx, r10
mov eax, dword [r14]
cmp r8d, eax
jg 0x1400b063c
mov dword [rsp + 0x28], ebp
dec r8d
mov qword [rsp + 0x20], r9
mov rdx, r14
mov r9, qword [rdi]
call fcn.1400bcd90
mov r10, qword [rsp + 0x130]
lea r9, str.ORDER
inc esi
add rdi, 0x28
cmp esi, dword [r15]
jl 0x1400b05f2
jmp 0x1400b0650
lea r8d, [rsi + 1]
mov dword [rsp + 0x20], eax
lea rdx, str._r__s_BY_term_out_of_range___should_be_between_1_and__d
call fcn.1400d9350
mov rdx, qword [rsp + 0x58]
cmp qword [rdx + 0x50], 0
jne 0x1400b0715
mov r15, qword [rdx + 0x48]
test r15, r15
je 0x1400b0715
mov r10, qword [rsp + 0x130]
mov rax, qword [r10]
cmp byte [rax + 0x51], 0
jne 0x1400b0715
mov ecx, dword [r15]
cmp ecx, dword [rax + 0x70]
jle 0x1400b06a2
lea r8, str.ORDER
mov rcx, r10
lea rdx, str.too_many_terms_in__s_BY_clause
call fcn.1400d9350
jmp 0x1400b0715
mov r14, qword [rdx]
mov esi, ebp
mov rdi, qword [r15 + 8]
test ecx, ecx
jle 0x1400b0715
nop
movzx eax, word [rdi + 0x20]
test ax, ax
je 0x1400b06ed
mov r8d, eax
mov rcx, r10
mov eax, dword [r14]
cmp r8d, eax
jg 0x1400b06fa
mov r9, qword [rdi]
lea rax, str.ORDER
dec r8d
mov dword [rsp + 0x28], ebp
mov rdx, r14
mov qword [rsp + 0x20], rax
call fcn.1400bcd90
mov r10, qword [rsp + 0x130]
inc esi
add rdi, 0x28
cmp esi, dword [r15]
jl 0x1400b06b0
jmp 0x1400b0715
lea r8d, [rsi + 1]
mov dword [rsp + 0x20], eax
lea r9, str.ORDER
lea rdx, str._r__s_BY_term_out_of_range___should_be_between_1_and__d
call fcn.1400d9350
mov r15, qword [rsp + 0x138]
mov rdi, qword [rsp + 0x130]
mov rdx, r15
mov r8d, dword [rsp + 0x44]
mov rcx, rdi
call fcn.14007b0a0
cmp dword [r15 + 0xc], 0
je 0x1400b0819
cmp r13b, 0x74
jne 0x1400b0819
mov ebp, dword [rdi + 0x54]
inc ebp
lea r14d, [rbp + 1]
mov dword [rdi + 0x54], r14d
mov eax, dword [r15 + 0x10]
lea esi, [rax + 1]
test eax, eax
jne 0x1400b0766
mov esi, dword [r15 + 0xc]
movsxd rdi, dword [r12 + 0x3c]
mov r13d, 1
mov rax, qword [r12 + 0x30]
mov ecx, edi
cmp dword [rax + 0x60], edi
jg 0x1400b0791
mov edx, r13d
mov rcx, r12
call fcn.1400aad80
test eax, eax
jne 0x1400b07c2
mov ecx, dword [r12 + 0x3c]
lea eax, [rcx + 1]
mov dword [r12 + 0x3c], eax
lea rcx, [rdi + rdi*2]
mov rax, qword [r12 + 8]
mov dword [rax + rcx*8 + 4], esi
xor esi, esi
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rsi
mov word [rax + rcx*8], 0x21
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 8], ebp
jmp 0x1400b07c4
xor esi, esi
movsxd rdi, dword [r12 + 0x3c]
mov rax, qword [r12 + 0x30]
mov ecx, edi
cmp dword [rax + 0x60], edi
jg 0x1400b07e9
mov edx, r13d
mov rcx, r12
call fcn.1400aad80
test eax, eax
jne 0x1400b081c
mov ecx, dword [r12 + 0x3c]
lea eax, [rcx + 1]
mov dword [r12 + 0x3c], eax
lea rcx, [rdi + rdi*2]
mov rax, qword [r12 + 8]
mov word [rax + rcx*8], 0x21
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], ebp
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rsi
jmp 0x1400b081c
mov r14d, ebp
mov rdi, qword [r15 + 0x60]
test rdi, rdi
je 0x1400b09db
test dword [rdi + 4], 0x4000
jne 0x1400b0929
mov rdx, qword [rdi + 0x10]
mov rcx, rbx
call fcn.1400dcc80
mov rdx, qword [rdi + 0x18]
mov rcx, rbx
call fcn.1400dcc80
test dword [rdi + 4], 0x10000
je 0x1400b090d
mov rsi, qword [rdi + 8]
test rsi, rsi
je 0x1400b090d
test rbx, rbx
je 0x1400b08b2
cmp qword [rbx + 0x328], 0
je 0x1400b0887
mov rdx, rsi
mov rcx, rbx
call fcn.1400ae450
jmp 0x1400b090d
cmp rsi, qword [rbx + 0x170]
jb 0x1400b08b2
cmp rsi, qword [rbx + 0x178]
jae 0x1400b08b2
mov rax, qword [rbx + 0x168]
mov qword [rsi], rax
dec dword [rbx + 0x154]
mov qword [rbx + 0x168], rsi
jmp 0x1400b090d
cmp dword [0x1402fd010], 0
je 0x1400b0904
mov rcx, qword [0x140303640]
test rcx, rcx
je 0x1400b08cd
call qword [0x1402fd098]
mov rcx, rsi
call qword [0x1402fd050]
dec qword [0x140303428]
movsxd rcx, eax
sub qword [0x1403033e0], rcx
mov rcx, rsi
call qword [0x1402fd040]
mov rcx, qword [0x140303640]
test rcx, rcx
je 0x1400b090d
call qword [0x1402fd0a8]
jmp 0x1400b090d
mov rcx, rsi
call qword [0x1402fd040]
test dword [rdi + 4], 0x800
mov rcx, rbx
mov rdx, qword [rdi + 0x20]
je 0x1400b0924
call fcn.140100730
jmp 0x1400b0929
call fcn.1400dda80
test dword [rdi + 4], 0x8000
jne 0x1400b09db
test rbx, rbx
je 0x1400b0980
cmp qword [rbx + 0x328], 0
je 0x1400b0955
mov rdx, rdi
mov rcx, rbx
call fcn.1400ae450
jmp 0x1400b09db
cmp rdi, qword [rbx + 0x170]
jb 0x1400b0980
cmp rdi, qword [rbx + 0x178]
jae 0x1400b0980
mov rax, qword [rbx + 0x168]
mov qword [rdi], rax
dec dword [rbx + 0x154]
mov qword [rbx + 0x168], rdi
jmp 0x1400b09db
cmp dword [0x1402fd010], 0
je 0x1400b09d2
mov rcx, qword [0x140303640]
test rcx, rcx
je 0x1400b099b
call qword [0x1402fd098]
mov rcx, rdi
call qword [0x1402fd050]
dec qword [0x140303428]
movsxd rcx, eax
sub qword [0x1403033e0], rcx
mov rcx, rdi
call qword [0x1402fd040]
mov rcx, qword [0x140303640]
test rcx, rcx
je 0x1400b09db
call qword [0x1402fd0a8]
jmp 0x1400b09db
mov rcx, rdi
call qword [0x1402fd040]
mov rdi, qword [r15 + 0x68]
xor edx, edx
mov qword [r15 + 0x60], rdx
test rdi, rdi
je 0x1400b0ba0
test dword [rdi + 4], 0x4000
jne 0x1400b0aee
mov rdx, qword [rdi + 0x10]
mov rcx, rbx
call fcn.1400dcc80
mov rdx, qword [rdi + 0x18]
mov rcx, rbx
call fcn.1400dcc80
test dword [rdi + 4], 0x10000
je 0x1400b0ad2
mov rsi, qword [rdi + 8]
test rsi, rsi
je 0x1400b0ad2
test rbx, rbx
je 0x1400b0a77
cmp qword [rbx + 0x328], 0
je 0x1400b0a4c
mov rdx, rsi
mov rcx, rbx
call fcn.1400ae450
jmp 0x1400b0ad2
cmp rsi, qword [rbx + 0x170]
jb 0x1400b0a77
cmp rsi, qword [rbx + 0x178]
jae 0x1400b0a77
mov rax, qword [rbx + 0x168]
mov qword [rsi], rax
dec dword [rbx + 0x154]
mov qword [rbx + 0x168], rsi
jmp 0x1400b0ad2
cmp dword [0x1402fd010], 0
je 0x1400b0ac9
mov rcx, qword [0x140303640]
test rcx, rcx
je 0x1400b0a92
call qword [0x1402fd098]
mov rcx, rsi
call qword [0x1402fd050]
dec qword [0x140303428]
movsxd rcx, eax
sub qword [0x1403033e0], rcx
mov rcx, rsi
call qword [0x1402fd040]
mov rcx, qword [0x140303640]
test rcx, rcx
je 0x1400b0ad2
call qword [0x1402fd0a8]
jmp 0x1400b0ad2
mov rcx, rsi
call qword [0x1402fd040]
test dword [rdi + 4], 0x800
mov rcx, rbx
mov rdx, qword [rdi + 0x20]
je 0x1400b0ae9
call fcn.140100730
jmp 0x1400b0aee
call fcn.1400dda80
test dword [rdi + 4], 0x8000
jne 0x1400b0ba0
test rbx, rbx
je 0x1400b0b45
cmp qword [rbx + 0x328], 0
je 0x1400b0b1a
mov rdx, rdi
mov rcx, rbx
call fcn.1400ae450
jmp 0x1400b0ba0
cmp rdi, qword [rbx + 0x170]
jb 0x1400b0b45
cmp rdi, qword [rbx + 0x178]
jae 0x1400b0b45
mov rax, qword [rbx + 0x168]
mov qword [rdi], rax
dec dword [rbx + 0x154]
mov qword [rbx + 0x168], rdi
jmp 0x1400b0ba0
cmp dword [0x1402fd010], 0
je 0x1400b0b97
mov rcx, qword [0x140303640]
test rcx, rcx
je 0x1400b0b60
call qword [0x1402fd098]
mov rcx, rdi
call qword [0x1402fd050]
dec qword [0x140303428]
movsxd rcx, eax
sub qword [0x1403033e0], rcx
mov rcx, rdi
call qword [0x1402fd040]
mov rcx, qword [0x140303640]
test rcx, rcx
je 0x1400b0ba0
call qword [0x1402fd0a8]
jmp 0x1400b0ba0
mov rcx, rdi
call qword [0x1402fd040]
mov rdx, qword [rsp + 0x130]
xor r8d, r8d
mov qword [r15 + 0x68], r8
mov word [rsp + 0xc0], recv
mov qword [rsp + 0xc8], r8
mov eax, dword [rdx + 0x54]
inc eax
mov word [rsp + 0xa8], recv
mov dword [rsp + 0xc4], eax
mov qword [rsp + 0xb0], r8
mov dword [rsp + 0x48], eax
lea ecx, [rax + 1]
mov dword [rsp + 0xac], ecx
lea r15d, [rcx + 1]
lea r13d, [r15 + 1]
mov dword [rsp + 0x50], ecx
mov dword [rdx + 0x54], r13d
movsxd rdi, dword [r12 + 0x3c]
mov rax, qword [r12 + 0x30]
mov ecx, edi
mov dword [rsp + 0x80], r13d
lea esi, [rdi + 1]
cmp dword [rax + 0x60], edi
jg 0x1400b0c38
lea edx, [r8 + 1]
mov rcx, r12
call fcn.1400aad80
test eax, eax
je 0x1400b0c30
mov edi, 1
jmp 0x1400b0c6a
mov ecx, dword [r12 + 0x3c]
xor r8d, r8d
mov edx, dword [rsp + 0x48]
lea eax, [rcx + 1]
mov dword [r12 + 0x3c], eax
lea rcx, [rdi + rdi*2]
mov rax, qword [r12 + 8]
mov word [rax + rcx*8], 0x14
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], r8
mov rdx, qword [rsp + 0x58]
lea r8, [rsp + 0xc0]
mov rcx, qword [rsp + 0x130]
mov dword [rdx + 0xc], ebp
mov eax, dword [rcx + 0x204]
mov dword [rsp + 0x90], eax
call fcn.1400fdd30
movsxd rsi, dword [r12 + 0x3c]
mov rax, qword [r12 + 0x30]
mov ecx, esi
cmp dword [rax + 0x60], esi
jg 0x1400b0cbb
mov edx, 1
mov rcx, r12
call fcn.1400aad80
test eax, eax
jne 0x1400b0ced
mov ecx, dword [r12 + 0x3c]
mov edx, dword [rsp + 0x48]
lea eax, [rcx + 1]
mov dword [r12 + 0x3c], eax
lea rcx, [rsi + rsi*2]
mov rax, qword [r12 + 8]
xor esi, esi
mov word [rax + rcx*8], 0x15
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], rsi
jmp 0x1400b0cef
xor esi, esi
mov edx, dword [r12 + 0x3c]
cmp edx, edi
jbe 0x1400b0d0c
mov eax, edi
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 8]
mov dword [rax + rcx*8 + 8], edx
mov edx, dword [r12 + 0x3c]
mov rax, qword [r12 + 0x30]
lea ecx, [rdx - 1]
mov dword [rax + 0x64], ecx
movsxd rbp, dword [r12 + 0x3c]
mov rax, qword [r12 + 0x30]
mov ecx, ebp
mov dword [rsp + 0x68], ebp
lea edi, [rbp + 1]
cmp dword [rax + 0x60], ebp
jg 0x1400b0d53
mov edx, 1
mov rcx, r12
call fcn.1400aad80
test eax, eax
je 0x1400b0d4e
mov ebp, dword [rsp + 0x50]
mov dword [rsp + 0x68], 1
jmp 0x1400b0d8b
mov ecx, dword [r12 + 0x3c]
lea eax, [rcx + 1]
mov dword [r12 + 0x3c], eax
lea rcx, [rbp*2]
mov rax, qword [r12 + 8]
add rcx, rbp
mov ebp, dword [rsp + 0x50]
mov word [rax + rcx*8], 0x14
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], ebp
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rsi
mov rcx, qword [rsp + 0x138]
lea r8, [rsp + 0xa8]
mov r9, qword [rsp + 0x130]
mov rdx, rcx
mov esi, dword [rcx + 0xc]
mov edi, dword [rcx + 0x10]
mov dword [rcx + 0xc], r14d
xor r14d, r14d
mov dword [rcx + 0x10], r14d
mov rcx, r9
mov eax, dword [r9 + 0x204]
mov dword [rsp + 0x88], eax
call fcn.1400fdd30
mov rax, qword [rsp + 0x138]
mov dword [rax + 0xc], esi
mov dword [rax + 0x10], edi
movsxd rdi, dword [r12 + 0x3c]
mov rax, qword [r12 + 0x30]
mov ecx, edi
cmp dword [rax + 0x60], edi
jg 0x1400b0e01
lea edx, [r14 + 1]
mov rcx, r12
call fcn.1400aad80
test eax, eax
jne 0x1400b0e2b
mov ecx, dword [r12 + 0x3c]
lea eax, [rcx + 1]
mov dword [r12 + 0x3c], eax
lea rcx, [rdi + rdi*2]
mov rax, qword [r12 + 8]
mov word [rax + rcx*8], 0x15
mov byte [rax + rcx*8 + 3], r14b
mov dword [rax + rcx*8 + 4], ebp
mov qword [rax + rcx*8 + 8], r14
mov qword [rax + rcx*8 + 0x10], r14
mov eax, dword [rsp + 0x44]
lea r8, [rsp + 0xc0]
mov rsi, qword [rsp + 0x78]
mov edi, dword [rsp + 0x40]
mov r9, qword [rsp + 0x140]
mov rdx, qword [rsp + 0x138]
mov rcx, qword [rsp + 0x130]
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], r15d
call fcn.1400a8070
mov r14d, eax
movzx eax, byte [rsp + 0x148]
sub al, 0x73
cmp al, 1
ja 0x1400b0ec3
mov eax, dword [rsp + 0x44]
lea r8, [rsp + 0xa8]
mov r9, qword [rsp + 0x140]
mov rdx, qword [rsp + 0x138]
mov rcx, qword [rsp + 0x130]
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], r13d
call fcn.1400a8070
mov edi, eax
mov dword [rsp + 0x60], eax
jmp 0x1400b0ec7
mov edi, dword [rsp + 0x60]
test rsi, rsi
je 0x1400b0f2c
add dword [rsi], 0xffffffff
jne 0x1400b0f2c
cmp dword [0x1402fd010], 0
je 0x1400b0f23
mov rcx, qword [0x140303640]
test rcx, rcx
je 0x1400b0eec
call qword [0x1402fd098]
mov rcx, rsi
call qword [0x1402fd050]
dec qword [0x140303428]
mov rcx, rsi
movsxd rdx, eax
sub qword [0x1403033e0], rdx
call qword [0x1402fd040]
mov rcx, qword [0x140303640]
test rcx, rcx
je 0x1400b0f2c
call qword [0x1402fd0a8]
jmp 0x1400b0f2c
mov rcx, rsi
call qword [0x1402fd040]
movzx ecx, byte [rsp + 0x148]
lea eax, [rcx - 0x75]
cmp al, 1
jbe 0x1400b10a0
movsxd rsi, dword [r12 + 0x3c]
mov rax, qword [r12 + 0x30]
mov ecx, esi
cmp dword [rax + 0x60], esi
jg 0x1400b0f6f
mov edx, 1
mov rcx, r12
call fcn.1400aad80
test eax, eax
je 0x1400b0f6a
mov edi, 1
mov esi, edi
jmp 0x1400b0fa2
mov ecx, dword [r12 + 0x3c]
lea eax, [rcx + 1]
xor edx, edx
mov dword [r12 + 0x3c], eax
lea rcx, [rsi + rsi*2]
mov rax, qword [r12 + 8]
mov dword [rax + rcx*8 + 8], edi
lea edi, [rdx + 1]
mov word [rax + rcx*8], send
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
movsxd r13, dword [r12 + 0x3c]
mov rax, qword [r12 + 0x30]
mov ecx, r13d
cmp dword [rax + 0x60], r13d
jg 0x1400b0fcf
mov edx, edi
mov rcx, r12
call fcn.1400aad80
test eax, eax
je 0x1400b0fca
mov r13d, edi
xor ebp, ebp
jmp 0x1400b1009
mov ecx, dword [r12 + 0x3c]
mov edx, dword [rsp + 0x44]
lea eax, [rcx + 1]
mov dword [r12 + 0x3c], eax
lea rcx, [r13*2]
mov rax, qword [r12 + 8]
add rcx, r13
mov dword [rax + rcx*8 + 4], ebp
xor ebp, ebp
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov word [rax + rcx*8], 0x16
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 8], edx
movsxd rdi, dword [r12 + 0x3c]
mov rax, qword [r12 + 0x30]
mov ecx, edi
cmp dword [rax + 0x60], edi
jg 0x1400b1030
mov edx, 1
mov rcx, r12
call fcn.1400aad80
test eax, eax
jne 0x1400b105d
mov ecx, dword [r12 + 0x3c]
lea eax, [rcx + 1]
mov dword [r12 + 0x3c], eax
lea rcx, [rdi + rdi*2]
mov rax, qword [r12 + 8]
mov word [rax + rcx*8], reloc.WS2_32.dll_recv
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], ebp
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x138]
mov rax, qword [rax + 0x20]
add qword [rcx + 0x20], rax
movsxd rbp, dword [r12 + 0x3c]
mov rax, qword [r12 + 0x30]
mov ecx, ebp
cmp dword [rax + 0x60], ebp
jg 0x1400b10d9
mov edx, 1
mov rcx, r12
call fcn.1400aad80
test eax, eax
je 0x1400b10d4
mov edx, 1
xor r15d, r15d
mov ebp, edx
jmp 0x1400b1117
mov eax, dword [rsp + 0x44]
mov esi, eax
mov r13d, eax
cmp cl, 0x76
jne 0x1400b1072
mov rcx, qword [rsp + 0x138]
mov ebp, eax
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x20]
cmp qword [rcx + 0x20], rax
jbe 0x1400b11c5
mov qword [rcx + 0x20], rax
jmp 0x1400b11c5
mov ecx, dword [r12 + 0x3c]
lea eax, [rcx + 1]
mov dword [r12 + 0x3c], eax
lea rcx, [rbp*2]
mov rax, qword [r12 + 8]
add rcx, rbp
mov dword [rax + rcx*8 + 4], r15d
xor r15d, r15d
mov word [rax + rcx*8], send
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 8], r14d
lea edx, [r15 + 1]
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
movsxd rdi, dword [r12 + 0x3c]
mov rax, qword [r12 + 0x30]
mov ecx, edi
cmp dword [rax + 0x60], edi
jg 0x1400b1139
mov rcx, r12
call fcn.1400aad80
test eax, eax
jne 0x1400b116f
mov ecx, dword [r12 + 0x3c]
mov edx, dword [rsp + 0x48]
lea eax, [rcx + 1]
mov dword [r12 + 0x3c], eax
lea rcx, [rdi + rdi*2]
mov rax, qword [r12 + 8]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x44]
mov dword [rax + rcx*8 + 8], edx
mov word [rax + rcx*8], 0x16
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
movsxd rdi, dword [r12 + 0x3c]
mov rax, qword [r12 + 0x30]
mov ecx, edi
cmp dword [rax + 0x60], edi
jg 0x1400b1196
mov edx, 1
mov rcx, r12
call fcn.1400aad80
test eax, eax
jne 0x1400b11c5
mov ecx, dword [r12 + 0x3c]
lea eax, [rcx + 1]
mov dword [r12 + 0x3c], eax
lea rcx, [rdi + rdi*2]
mov rax, qword [r12 + 8]
mov word [rax + rcx*8], reloc.WS2_32.dll_recv
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r15d
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
movsxd r15, dword [r12 + 0x3c]
mov rax, qword [r12 + 0x30]
mov ecx, r15d
mov dword [rsp + 0x40], r15d
cmp dword [rax + 0x60], r15d
jg 0x1400b1204
mov edx, 1
mov rcx, r12
call fcn.1400aad80
test eax, eax
je 0x1400b11ff
mov edx, 1
xor r14d, r14d
mov r15d, edx
mov dword [rsp + 0x40], edx
jmp 0x1400b1240
mov ecx, dword [r12 + 0x3c]
mov edx, dword [rsp + 0x50]
lea eax, [rcx + 1]
mov dword [r12 + 0x3c], eax
lea rcx, [r15 + r15*2]
mov rax, qword [r12 + 8]
inc edx
mov dword [rax + rcx*8 + 8], r14d
xor r14d, r14d
mov dword [rax + rcx*8 + 4], edx
mov word [rax + rcx*8], send
mov byte [rax + rcx*8 + 3], 0
lea edx, [r14 + 1]
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r14
movsxd rdi, dword [r12 + 0x3c]
mov rax, qword [r12 + 0x30]
mov ecx, edi
cmp dword [rax + 0x60], edi
jg 0x1400b1262
mov rcx, r12
call fcn.1400aad80
test eax, eax
jne 0x1400b1294
mov ecx, dword [r12 + 0x3c]
mov edx, dword [rsp + 0x48]
lea eax, [rcx + 1]
mov dword [r12 + 0x3c], eax
lea rcx, [rdi + rdi*2]
mov rax, qword [r12 + 8]
mov word [rax + rcx*8], 0x16
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r14
movsxd rdi, dword [r12 + 0x3c]
mov rax, qword [r12 + 0x30]
mov ecx, edi
cmp dword [rax + 0x60], edi
jg 0x1400b12bb
mov edx, 1
mov rcx, r12
call fcn.1400aad80
test eax, eax
jne 0x1400b12ee
mov ecx, dword [r12 + 0x3c]
mov edx, dword [rsp + 0x4c]
lea eax, [rcx + 1]
mov dword [r12 + 0x3c], eax
lea rcx, [rdi + rdi*2]
mov rax, qword [r12 + 8]
mov word [rax + rcx*8], reloc.WS2_32.dll_recv
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r14d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r14
movzx eax, byte [rsp + 0x148]
cmp al, 0x74
jne 0x1400b130a
mov edi, dword [r12 + 0x3c]
mov r14d, r15d
mov r15d, edi
jmp 0x1400b13f6
cmp al, 0x76
jne 0x1400b1323
mov r14d, r15d
inc r15d
mov dword [rsp + 0x40], r15d
mov r15d, dword [r12 + 0x3c]
jmp 0x1400b1457
movsxd r14, dword [r12 + 0x3c]
mov r15d, 1
mov rax, qword [r12 + 0x30]
mov ecx, r14d
cmp dword [rax + 0x60], r14d
jg 0x1400b1357
mov edx, r15d
mov rcx, r12
call fcn.1400aad80
test eax, eax
je 0x1400b1352
mov r14d, r15d
xor esi, esi
jmp 0x1400b138a
mov ecx, dword [r12 + 0x3c]
mov edx, dword [rsp + 0x48]
lea eax, [rcx + 1]
mov dword [r12 + 0x3c], eax
lea rcx, [r14 + r14*2]
mov rax, qword [r12 + 8]
mov dword [rax + rcx*8 + 8], esi
xor esi, esi
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rsi
mov word [rax + rcx*8], 0x16
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edx
movsxd rdi, dword [r12 + 0x3c]
mov rax, qword [r12 + 0x30]
mov ecx, edi
cmp dword [rax + 0x60], edi
jg 0x1400b13b3
mov edx, r15d
mov rcx, r12
call fcn.1400aad80
test eax, eax
jne 0x1400b14b3
mov ecx, dword [r12 + 0x3c]
mov edx, dword [rsp + 0x4c]
lea eax, [rcx + 1]
mov dword [r12 + 0x3c], eax
lea rcx, [rdi + rdi*2]
mov rax, qword [r12 + 8]
mov word [rax + rcx*8], reloc.WS2_32.dll_recv
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], esi
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rsi
cmp byte [rsp + 0x148], 0x73
mov edi, dword [r12 + 0x3c]
mov r15d, edi
jne 0x1400b1457
mov rax, qword [r12 + 0x30]
mov ecx, edi
cmp dword [rax + 0x60], edi
jg 0x1400b1418
mov edx, 1
mov rcx, r12
call fcn.1400aad80
test eax, eax
jne 0x1400b1457
mov ecx, dword [r12 + 0x3c]
mov edx, dword [rsp + 0x80]
lea eax, [rcx + 1]
mov r9d, dword [rsp + 0x60]
mov dword [r12 + 0x3c], eax
movsxd rax, edi
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 8]
mov dword [rax + rcx*8 + 4], edx
xor edx, edx
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
mov word [rax + rcx*8], send
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 8], r9d
movsxd rdi, dword [r12 + 0x3c]
mov rax, qword [r12 + 0x30]
mov ecx, edi
cmp dword [rax + 0x60], edi
jg 0x1400b147e
mov edx, 1
mov rcx, r12
call fcn.1400aad80
test eax, eax
jne 0x1400b14c0
mov ecx, dword [r12 + 0x3c]
mov esi, dword [rsp + 0x50]
lea eax, [rcx + 1]
mov dword [r12 + 0x3c], eax
lea rcx, [rdi + rdi*2]
mov rax, qword [r12 + 8]
xor edx, edx
mov word [rax + rcx*8], 0x16
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], esi
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
jmp 0x1400b14c4
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x40], eax
jmp 0x1400b13e4
mov esi, dword [rsp + 0x50]
movsxd rdi, dword [r12 + 0x3c]
mov rax, qword [r12 + 0x30]
mov ecx, edi
cmp dword [rax + 0x60], edi
jg 0x1400b14eb
mov edx, 1
mov rcx, r12
call fcn.1400aad80
test eax, eax
jne 0x1400b1520
mov ecx, dword [r12 + 0x3c]
mov r8d, dword [rsp + 0x4c]
lea eax, [rcx + 1]
mov dword [r12 + 0x3c], eax
lea rcx, [rdi + rdi*2]
mov rax, qword [r12 + 8]
xor edx, edx
mov word [rax + rcx*8], reloc.WS2_32.dll_recv
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
mov eax, dword [rsp + 0x68]
mov edx, dword [r12 + 0x3c]
cmp edx, eax
jbe 0x1400b153f
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 8]
mov dword [rax + rcx*8 + 8], edx
mov edx, dword [r12 + 0x3c]
mov rax, qword [r12 + 0x30]
lea ecx, [rdx - 1]
mov dword [rax + 0x64], ecx
movsxd rdi, dword [r12 + 0x3c]
mov rax, qword [r12 + 0x30]
mov ecx, edi
cmp dword [rax + 0x60], edi
jg 0x1400b1571
mov edx, 1
mov rcx, r12
call fcn.1400aad80
test eax, eax
jne 0x1400b15a9
mov ecx, dword [r12 + 0x3c]
mov edx, dword [rsp + 0x48]
lea eax, [rcx + 1]
mov dword [r12 + 0x3c], eax
lea rcx, [rdi + rdi*2]
mov rax, qword [r12 + 8]
mov dword [rax + rcx*8 + 8], r13d
xor r13d, r13d
mov dword [rax + rcx*8 + 0xc], r13d
mov qword [rax + rcx*8 + 0x10], r13
mov word [rax + rcx*8], 0x16
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edx
jmp 0x1400b15ac
xor r13d, r13d
movsxd rdi, dword [r12 + 0x3c]
mov rax, qword [r12 + 0x30]
mov ecx, edi
cmp dword [rax + 0x60], edi
jg 0x1400b15d3
mov edx, 1
mov rcx, r12
call fcn.1400aad80
test eax, eax
jne 0x1400b1601
mov ecx, dword [r12 + 0x3c]
lea eax, [rcx + 1]
mov dword [r12 + 0x3c], eax
lea rcx, [rdi + rdi*2]
mov rax, qword [r12 + 8]
mov word [rax + rcx*8], 0x16
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], esi
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 0xc], r13d
mov qword [rax + rcx*8 + 0x10], r13
mov r8, qword [r12 + 0x30]
mov eax, 0xffffffff
sub eax, dword [rsp + 0x4c]
js 0x1400b1628
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x1400b1628
movsxd rcx, eax
mov eax, dword [r12 + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [r12 + 0x3c]
dec eax
mov dword [r8 + 0x64], eax
movsxd rdi, dword [r12 + 0x3c]
mov rax, qword [r12 + 0x30]
mov ecx, edi
cmp dword [rax + 0x60], edi
jg 0x1400b1660
mov esi, 1
mov rcx, r12
mov edx, esi
call fcn.1400aad80
test eax, eax
je 0x1400b165b
mov edi, esi
jmp 0x1400b168f
mov ecx, dword [r12 + 0x3c]
lea eax, [rcx + 1]
mov dword [r12 + 0x3c], eax
lea rcx, [rdi + rdi*2]
mov rax, qword [r12 + 8]
mov word [rax + rcx*8], 0x29
mov byte [rax + rcx*8 + 3], 0
mov qword [rax + rcx*8 + 4], 0
mov dword [rax + rcx*8 + 0xc], r13d
mov qword [rax + rcx*8 + 0x10], r13
mov r8, qword [r12 + 8]
mov rcx, qword [r12]
test r8, r8
je 0x1400b16f0
cmp byte [rcx + 0x51], 0
jne 0x1400b16f0
test edi, edi
jns 0x1400b16ae
mov edi, dword [r12 + 0x3c]
dec edi
movsxd rax, edi
lea rdx, [rax + rax*2]
lea rdi, [r8 + rdx*8]
movsx edx, byte [r8 + rdx*8 + 1]
mov r8, qword [rdi + 0x10]
call fcn.140087680
mov rax, qword [rsp + 0x98]
test rax, rax
jne 0x1400b16e1
mov qword [rdi + 0x10], r13
mov byte [rdi + 1], al
jmp 0x1400b17a3
mov qword [rdi + 0x10], rax
mov byte [rdi + 1], 0xf1
jmp 0x1400b17a3
mov rdi, qword [rsp + 0x98]
test rdi, rdi
je 0x1400b17a3
test rcx, rcx
je 0x1400b1748
cmp qword [rcx + 0x328], 0
je 0x1400b171d
mov rdx, rdi
call fcn.1400ae450
jmp 0x1400b17a3
cmp rdi, qword [rcx + 0x170]
jb 0x1400b1748
cmp rdi, qword [rcx + 0x178]
jae 0x1400b1748
mov rax, qword [rcx + 0x168]
mov qword [rdi], rax
dec dword [rcx + 0x154]
mov qword [rcx + 0x168], rdi
jmp 0x1400b17a3
cmp dword [0x1402fd010], 0
je 0x1400b179a
mov rcx, qword [0x140303640]
test rcx, rcx
je 0x1400b1763
call qword [0x1402fd098]
mov rcx, rdi
call qword [0x1402fd050]
dec qword [0x140303428]
movsxd rcx, eax
sub qword [0x1403033e0], rcx
mov rcx, rdi
call qword [0x1402fd040]
mov rcx, qword [0x140303640]
test rcx, rcx
je 0x1400b17a3
call qword [0x1402fd0a8]
jmp 0x1400b17a3
mov rcx, rdi
call qword [0x1402fd040]
movsxd rdi, dword [r12 + 0x3c]
mov rax, qword [r12 + 0x30]
mov ecx, edi
mov esi, dword [rsp + 0xb0]
mov ebp, dword [rsp + 0xc8]
cmp dword [rax + 0x60], edi
jg 0x1400b17e1
mov edx, 1
mov rcx, r12
call fcn.1400aad80
test eax, eax
je 0x1400b17dc
mov esi, 1
mov edi, esi
jmp 0x1400b1817
mov ecx, dword [r12 + 0x3c]
mov edx, dword [rsp + 0x70]
lea eax, [rcx + 1]
mov dword [r12 + 0x3c], eax
lea rcx, [rdi + rdi*2]
mov rax, qword [r12 + 8]
mov dword [rax + rcx*8 + 8], esi
mov esi, 1
mov word [rax + rcx*8], 0x2a
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], ebp
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r13
mov r8, qword [r12 + 8]
mov rcx, qword [r12]
test r8, r8
je 0x1400b1870
cmp byte [rcx + 0x51], 0
jne 0x1400b1870
test edi, edi
jns 0x1400b1836
mov edi, dword [r12 + 0x3c]
dec edi
movsxd rax, edi
lea rdx, [rax + rax*2]
lea rdi, [r8 + rdx*8]
movsx edx, byte [r8 + rdx*8 + 1]
mov r8, qword [rdi + 0x10]
call fcn.140087680
mov rax, qword [rsp + 0xa0]
test rax, rax
jne 0x1400b1866
mov qword [rdi + 0x10], r13
mov byte [rdi + 1], al
jmp 0x1400b188f
mov qword [rdi + 0x10], rax
mov byte [rdi + 1], 0xfa
jmp 0x1400b188f
mov rax, qword [rsp + 0xa0]
test rax, rax
je 0x1400b188f
cmp qword [rcx + 0x328], 0
jne 0x1400b188f
mov rcx, rax
call fcn.1400efb80
mov r8, qword [r12 + 8]
test r8, r8
je 0x1400b18a8
movsxd rax, dword [r12 + 0x3c]
lea rcx, [rax + rax*2]
mov byte [r8 + rcx*8 - 0x15], 1
movsxd rdi, dword [r12 + 0x3c]
mov rax, qword [r12 + 0x30]
mov ecx, edi
cmp dword [rax + 0x60], edi
jg 0x1400b18cc
mov edx, esi
mov rcx, r12
call fcn.1400aad80
test eax, eax
jne 0x1400b18ff
mov ecx, dword [r12 + 0x3c]
mov edx, dword [rsp + 0x40]
lea eax, [rcx + 1]
mov dword [r12 + 0x3c], eax
lea rcx, [rdi + rdi*2]
mov rax, qword [r12 + 8]
mov word [rax + rcx*8], 0x2b
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r13
mov r8, qword [r12 + 0x30]
mov eax, 0xffffffff
sub eax, dword [rsp + 0x44]
js 0x1400b1926
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x1400b1926
movsxd rcx, eax
mov eax, dword [r12 + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [r12 + 0x3c]
dec eax
mov dword [r8 + 0x64], eax
mov rax, qword [rsp + 0x140]
cmp byte [rax], 9
jne 0x1400b1973
mov rax, qword [rsp + 0x58]
mov r8, rax
mov rax, qword [rax + 0x50]
test rax, rax
je 0x1400b195c
nop
mov r8, rax
mov rax, qword [rax + 0x50]
test rax, rax
jne 0x1400b1950
mov r12, qword [rsp + 0x130]
xor edx, edx
mov r8, qword [r8]
mov rcx, r12
call fcn.1400a7740
jmp 0x1400b197b
mov r12, qword [rsp + 0x130]
mov r15, qword [rsp + 0x138]
mov rsi, qword [r15 + 0x50]
test rsi, rsi
je 0x1400b1fc9
mov rdx, qword [rsi]
mov rcx, rbx
mov rbp, qword [rsi + 0x50]
call fcn.1400dda80
mov rdx, qword [rsi + 0x28]
mov rcx, rbx
call fcn.140101fa0
mov rdi, qword [rsi + 0x30]
test rdi, rdi
je 0x1400b1b6a
test dword [rdi + 4], 0x4000
jne 0x1400b1ab8
mov rdx, qword [rdi + 0x10]
mov rcx, rbx
call fcn.1400dcc80
mov rdx, qword [rdi + 0x18]
mov rcx, rbx
call fcn.1400dcc80
test dword [rdi + 4], 0x10000
je 0x1400b1a9c
mov r14, qword [rdi + 8]
test r14, r14
je 0x1400b1a9c
test rbx, rbx
je 0x1400b1a41
cmp qword [rbx + 0x328], 0
je 0x1400b1a16
mov rdx, r14
mov rcx, rbx
call fcn.1400ae450
jmp 0x1400b1a9c
cmp r14, qword [rbx + 0x170]
jb 0x1400b1a41
cmp r14, qword [rbx + 0x178]
jae 0x1400b1a41
mov rax, qword [rbx + 0x168]
mov qword [r14], rax
dec dword [rbx + 0x154]
mov qword [rbx + 0x168], r14
jmp 0x1400b1a9c
cmp dword [0x1402fd010], 0
je 0x1400b1a93
mov rcx, qword [0x140303640]
test rcx, rcx
je 0x1400b1a5c
call qword [0x1402fd098]
mov rcx, r14
call qword [0x1402fd050]
dec qword [0x140303428]
movsxd rcx, eax
sub qword [0x1403033e0], rcx
mov rcx, r14
call qword [0x1402fd040]
mov rcx, qword [0x140303640]
test rcx, rcx
je 0x1400b1a9c
call qword [0x1402fd0a8]
jmp 0x1400b1a9c
mov rcx, r14
call qword [0x1402fd040]
test dword [rdi + 4], 0x800
mov rcx, rbx
mov rdx, qword [rdi + 0x20]
je 0x1400b1ab3
call fcn.140100730
jmp 0x1400b1ab8
call fcn.1400dda80
test dword [rdi + 4], 0x8000
jne 0x1400b1b6a
test rbx, rbx
je 0x1400b1b0f
cmp qword [rbx + 0x328], 0
je 0x1400b1ae4
mov rdx, rdi
mov rcx, rbx
call fcn.1400ae450
jmp 0x1400b1b6a
cmp rdi, qword [rbx + 0x170]
jb 0x1400b1b0f
cmp rdi, qword [rbx + 0x178]
jae 0x1400b1b0f
mov rax, qword [rbx + 0x168]
mov qword [rdi], rax
dec dword [rbx + 0x154]
mov qword [rbx + 0x168], rdi
jmp 0x1400b1b6a
cmp dword [0x1402fd010], 0
je 0x1400b1b61
mov rcx, qword [0x140303640]
test rcx, rcx
je 0x1400b1b2a
call qword [0x1402fd098]
mov rcx, rdi
call qword [0x1402fd050]
dec qword [0x140303428]
movsxd rcx, eax
sub qword [0x1403033e0], rcx
mov rcx, rdi
call qword [0x1402fd040]
mov rcx, qword [0x140303640]
test rcx, rcx
je 0x1400b1b6a
call qword [0x1402fd0a8]
jmp 0x1400b1b6a
mov rcx, rdi
call qword [0x1402fd040]
mov rdx, qword [rsi + 0x38]
mov rcx, rbx
call fcn.1400dda80
mov rdi, qword [rsi + 0x40]
test rdi, rdi
je 0x1400b1d35
test dword [rdi + 4], 0x4000
jne 0x1400b1c83
mov rdx, qword [rdi + 0x10]
mov rcx, rbx
call fcn.1400dcc80
mov rdx, qword [rdi + 0x18]
mov rcx, rbx
call fcn.1400dcc80
test dword [rdi + 4], 0x10000
je 0x1400b1c67
mov r14, qword [rdi + 8]
test r14, r14
je 0x1400b1c67
test rbx, rbx
je 0x1400b1c0c
cmp qword [rbx + 0x328], 0
je 0x1400b1be1
mov rdx, r14
mov rcx, rbx
call fcn.1400ae450
jmp 0x1400b1c67
cmp r14, qword [rbx + 0x170]
jb 0x1400b1c0c
cmp r14, qword [rbx + 0x178]
jae 0x1400b1c0c
mov rax, qword [rbx + 0x168]
mov qword [r14], rax
dec dword [rbx + 0x154]
mov qword [rbx + 0x168], r14
jmp 0x1400b1c67
cmp dword [0x1402fd010], 0
je 0x1400b1c5e
mov rcx, qword [0x140303640]
test rcx, rcx
je 0x1400b1c27
call qword [0x1402fd098]
mov rcx, r14
call qword [0x1402fd050]
dec qword [0x140303428]
movsxd rcx, eax
sub qword [0x1403033e0], rcx
mov rcx, r14
call qword [0x1402fd040]
mov rcx, qword [0x140303640]
test rcx, rcx
je 0x1400b1c67
call qword [0x1402fd0a8]
jmp 0x1400b1c67
mov rcx, r14
call qword [0x1402fd040]
test dword [rdi + 4], 0x800
mov rcx, rbx
mov rdx, qword [rdi + 0x20]
je 0x1400b1c7e
call fcn.140100730
jmp 0x1400b1c83
call fcn.1400dda80
test dword [rdi + 4], 0x8000
jne 0x1400b1d35
test rbx, rbx
je 0x1400b1cda
cmp qword [rbx + 0x328], 0
je 0x1400b1caf
mov rdx, rdi
mov rcx, rbx
call fcn.1400ae450
jmp 0x1400b1d35
cmp rdi, qword [rbx + 0x170]
jb 0x1400b1cda
cmp rdi, qword [rbx + 0x178]
jae 0x1400b1cda
mov rax, qword [rbx + 0x168]
mov qword [rdi], rax
dec dword [rbx + 0x154]
mov qword [rbx + 0x168], rdi
jmp 0x1400b1d35
cmp dword [0x1402fd010], 0
je 0x1400b1d2c
mov rcx, qword [0x140303640]
test rcx, rcx
je 0x1400b1cf5
call qword [0x1402fd098]
mov rcx, rdi
call qword [0x1402fd050]
dec qword [0x140303428]
movsxd rcx, eax
sub qword [0x1403033e0], rcx
mov rcx, rdi
call qword [0x1402fd040]
mov rcx, qword [0x140303640]
test rcx, rcx
je 0x1400b1d35
call qword [0x1402fd0a8]
jmp 0x1400b1d35
mov rcx, rdi
call qword [0x1402fd040]
mov rdx, qword [rsi + 0x48]
mov rcx, rbx
call fcn.1400dda80
mov rdi, qword [rsi + 0x60]
test rdi, rdi
je 0x1400b1f00
test dword [rdi + 4], 0x4000
jne 0x1400b1e4e
mov rdx, qword [rdi + 0x10]
mov rcx, rbx
call fcn.1400dcc80
mov rdx, qword [rdi + 0x18]
mov rcx, rbx
call fcn.1400dcc80
test dword [rdi + 4], 0x10000
je 0x1400b1e32
mov r14, qword [rdi + 8]
test r14, r14
je 0x1400b1e32
test rbx, rbx
je 0x1400b1dd7
cmp qword [rbx + 0x328], 0
je 0x1400b1dac
mov rdx, r14
mov rcx, rbx
call fcn.1400ae450
jmp 0x1400b1e32
cmp r14, qword [rbx + 0x170]
jb 0x1400b1dd7
cmp r14, qword [rbx + 0x178]
jae 0x1400b1dd7
mov rax, qword [rbx + 0x168]
mov qword [r14], rax
dec dword [rbx + 0x154]
mov qword [rbx + 0x168], r14
jmp 0x1400b1e32
cmp dword [0x1402fd010], 0
je 0x1400b1e29
mov rcx, qword [0x140303640]
test rcx, rcx
je 0x1400b1df2
call qword [0x1402fd098]
mov rcx, r14
call qword [0x1402fd050]
dec qword [0x140303428]
movsxd rcx, eax
sub qword [0x1403033e0], rcx
mov rcx, r14
call qword [0x1402fd040]
mov rcx, qword [0x140303640]
test rcx, rcx
je 0x1400b1e32
call qword [0x1402fd0a8]
jmp 0x1400b1e32
mov rcx, r14
call qword [0x1402fd040]
test dword [rdi + 4], 0x800
mov rcx, rbx
mov rdx, qword [rdi + 0x20]
je 0x1400b1e49
call fcn.140100730
jmp 0x1400b1e4e
call fcn.1400dda80
test dword [rdi + 4], 0x8000
jne 0x1400b1f00
test rbx, rbx
je 0x1400b1ea5
cmp qword [rbx + 0x328], 0
je 0x1400b1e7a
mov rdx, rdi
mov rcx, rbx
call fcn.1400ae450
jmp 0x1400b1f00
cmp rdi, qword [rbx + 0x170]
jb 0x1400b1ea5
cmp rdi, qword [rbx + 0x178]
jae 0x1400b1ea5
mov rax, qword [rbx + 0x168]
mov qword [rdi], rax
dec dword [rbx + 0x154]
mov qword [rbx + 0x168], rdi
jmp 0x1400b1f00
cmp dword [0x1402fd010], 0
je 0x1400b1ef7
mov rcx, qword [0x140303640]
test rcx, rcx
je 0x1400b1ec0
call qword [0x1402fd098]
mov rcx, rdi
call qword [0x1402fd050]
dec qword [0x140303428]
movsxd rcx, eax
sub qword [0x1403033e0], rcx
mov rcx, rdi
call qword [0x1402fd040]
mov rcx, qword [0x140303640]
test rcx, rcx
je 0x1400b1f00
call qword [0x1402fd0a8]
jmp 0x1400b1f00
mov rcx, rdi
call qword [0x1402fd040]
mov rdx, qword [rsi + 0x68]
mov rcx, rbx
call fcn.1400dcc80
mov rdx, qword [rsi + 0x70]
mov rcx, rbx
call fcn.140118da0
test rbx, rbx
je 0x1400b1f62
cmp qword [rbx + 0x328], 0
je 0x1400b1f37
mov rdx, rsi
mov rcx, rbx
call fcn.1400ae450
jmp 0x1400b1fbd
cmp rsi, qword [rbx + 0x170]
jb 0x1400b1f62
cmp rsi, qword [rbx + 0x178]
jae 0x1400b1f62
mov rax, qword [rbx + 0x168]
mov qword [rsi], rax
dec dword [rbx + 0x154]
mov qword [rbx + 0x168], rsi
jmp 0x1400b1fbd
cmp dword [0x1402fd010], 0
je 0x1400b1fb4
mov rcx, qword [0x140303640]
test rcx, rcx
je 0x1400b1f7d
call qword [0x1402fd098]
mov rcx, rsi
call qword [0x1402fd050]
dec qword [0x140303428]
movsxd rcx, eax
sub qword [0x1403033e0], rcx
mov rcx, rsi
call qword [0x1402fd040]
mov rcx, qword [0x140303640]
test rcx, rcx
je 0x1400b1fbd
call qword [0x1402fd0a8]
jmp 0x1400b1fbd
mov rcx, rsi
call qword [0x1402fd040]
mov rsi, rbp
test rbp, rbp
jne 0x1400b1990
mov rax, qword [rsp + 0x58]
mov rcx, r12
mov r9d, dword [rsp + 0x88]
mov r8d, dword [rsp + 0x90]
mov qword [r15 + 0x50], rax
mov qword [rax + 0x58], r15
movzx edx, byte [r15 + 8]
mov dword [rsp + 0x20], r13d
call fcn.14007f430
cmp dword [r12 + 0x4c], 0
setne r13b
mov eax, r13d
add rsp, 0xe8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret