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

Disassembly:
mov qword [rsp + 0x20], r9
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, 0x118
mov rbx, qword [rsp + 0x190]
mov r14, rcx
mov ecx, 0x10030
mov rsi, r9
mov r12, r8
mov rdi, rdx
xor r15d, r15d
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
movsxd rbp, dword [rsi]
mov rcx, rdi
add rbp, rdi
mov qword [rsp + 0xa0], rax
mov r13, rax
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x90], rcx
mov r11, rdi
mov qword [rsp + 0x100], rbp
mov r10, r12
mov qword [rsp + 0x68], r12
lea rdx, [rbp - 0xc]
mov qword [rsp + 0xf8], rdx
lea rax, [rbp - 5]
mov qword [rsp + 0x58], rax
test r13, r13
je 0x1401d489d
mov dword [rsi], r15d
mov r13d, 0x1011b
mov esi, dword [rsp + 0x198]
mov r8d, 0x10120
cmp esi, 2
mov eax, 0xfff
cmovne r13d, r8d
add r13, r12
cmp rbx, 0x1000
mov qword [rsp + 0xb8], r13
cmovb rax, rbx
mov qword [rsp + 0xf0], rax
cmp rdi, rdx
ja 0x1401d478a
lea rax, [r14 + 0x20000]
mov qword [rsp + 0xd0], rax
mov ebx, dword [r14 + 0x4001c]
mov eax, r11d
mov ebp, dword [r14 + 0x40018]
sub eax, ecx
mov rsi, qword [r14 + 0x40008]
mov r10, r11
mov r13, qword [r14 + 0x40010]
mov edx, ebp
mov dword [rsp + 0x48], eax
lea ecx, [rbx + 0x10000]
mov rax, qword [r14 + 0x40028]
sub edx, esi
mov qword [rsp + 0xa8], rax
mov edi, ebx
mov qword [rsp + 0x78], r11
mov r9d, 3
mov qword [rsp + 0xd8], 0
mov r12d, r15d
lea r8d, [rdx + r11]
mov qword [rsp + 0x70], r15
cmp ecx, r8d
mov dword [rsp + 0x4c], r8d
mov ecx, dword [rsp + 0x188]
lea eax, [r8 - 0xffff]
cmovbe edi, eax
mov dword [rsp + 0x180], r9d
mov rax, r13
mov qword [rsp + 0x50], rsi
sub rax, rbx
mov dword [rsp + 0x60], ebx
add rax, rbp
mov dword [rsp + 0x38], edi
mov qword [rsp + 0x80], rax
add r10d, edx
mov rax, qword [rsp + 0x30]
mov r14d, r15d
sub r11d, eax
mov qword [rsp + 0xb0], r13
mov qword [rsp + 0xc0], rbx
mov qword [rsp + 0x98], rbp
mov eax, dword [rax]
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x160]
mov dword [rsp + 0x24], ecx
mov dword [rsp + 0x28], r15d
mov r8d, dword [rax + 0x40020]
cmp r8d, r10d
jae 0x1401d1ba1
mov r9d, r8d
mov r14d, 0xffff
sub r9, rbp
add r9, rsi
mov rsi, rax
nop dword [rax]
nop word [rax + rax]
imul edx, dword [r9], 0x9e3779b1
lea r9, [r9 + 1]
mov ecx, r8d
movzx eax, r8w
shr rdx, 0x11
sub ecx, dword [rsi + rdx*4]
cmp rcx, r14
cmova rcx, r14
mov word [rsi + rax*2 + 0x20000], cx
mov dword [rsi + rdx*4], r8d
inc r8d
cmp r8d, r10d
jb 0x1401d1b60
mov r9d, dword [rsp + 0x180]
mov r14d, r15d
jmp 0x1401d1ba9
mov rsi, qword [rsp + 0x160]
mov dword [rsi + 0x40020], r10d
mov r10, qword [rsp + 0x30]
movsxd r8, r11d
mov qword [rsp + 0x40], r8
imul ecx, dword [r10], 0x9e3779b1
shr rcx, 0x11
mov esi, dword [rsi + rcx*4]
cmp esi, edi
jb 0x1401d230d
jmp 0x1401d1bed
mov r9d, dword [rsp + 0x180]
mov r8, qword [rsp + 0x40]
mov eax, dword [rsp + 0x24]
test eax, eax
jle 0x1401d230d
xor r11d, r11d
dec eax
mov r10d, r11d
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x1b0], r11d
je 0x1401d1c1e
mov eax, dword [rsp + 0x4c]
sub eax, esi
cmp eax, 8
jb 0x1401d1fd2
cmp esi, ebp
jb 0x1401d1d97
mov rdx, qword [rsp + 0x50]
movsxd rcx, r9d
mov r9, qword [rsp + 0x30]
mov ebx, esi
sub rbx, rbp
add rbx, rdx
mov rax, rbx
sub rax, r8
movzx eax, word [rax + rcx - 1]
cmp word [rcx + r9 - 1], ax
jne 0x1401d1fd2
mov eax, dword [rsp + 0x20]
cmp dword [rbx], eax
jne 0x1401d1fd2
test r8, r8
je 0x1401d1ca8
cmp rdx, rbx
mov r10, r9
jns 0x1401d1c73
mov eax, r10d
sub eax, r10d
jmp 0x1401d1c77
mov eax, edx
sub eax, ebx
movsxd r9, eax
test eax, eax
jns 0x1401d1ca8
mov rdx, rbx
lea rcx, [r10 - 1]
sub rdx, r10
mov r8d, 1
sub r8, r10
movzx eax, byte [rdx + rcx]
cmp byte [rcx], al
jne 0x1401d1ca8
dec rcx
dec r11d
lea rax, [r8 + rcx]
cmp rax, r9
jg 0x1401d1c91
mov r10, qword [rsp + 0x58]
lea rdx, [rbx + 4]
mov r9, qword [rsp + 0x30]
add r9, 4
mov rcx, r9
lea r8, [r10 - 7]
cmp r9, r8
jae 0x1401d1cda
mov rax, qword [r9]
xor rax, qword [rdx]
jne 0x1401d1d7b
lea rcx, [r9 + 8]
add rdx, 8
cmp rcx, r8
jae 0x1401d1cf9
nop
mov rax, qword [rcx]
xor rax, qword [rdx]
jne 0x1401d1d86
add rcx, 8
add rdx, 8
cmp rcx, r8
jb 0x1401d1ce0
lea rax, [r10 - 3]
cmp rcx, rax
jae 0x1401d1d10
mov eax, dword [rcx]
cmp dword [rdx], eax
jne 0x1401d1d10
add rcx, 4
add rdx, 4
lea rax, [r10 - 1]
cmp rcx, rax
jae 0x1401d1d29
movzx eax, word [rcx]
cmp word [rdx], ax
jne 0x1401d1d29
add rcx, 2
add rdx, 2
cmp rcx, r10
jae 0x1401d1d38
movzx eax, byte [rcx]
cmp byte [rdx], al
jne 0x1401d1d38
inc rcx
sub ecx, r9d
mov r10d, ecx
mov eax, dword [rsp + 0x180]
sub r10d, r11d
add r10d, 4
cmp r10d, eax
jle 0x1401d1fdc
movsxd rax, r11d
mov dword [rsp + 0x180], r10d
lea rcx, [rbx + rax]
mov qword [rsp + 0x70], rcx
mov rcx, qword [rsp + 0x30]
add rcx, rax
mov qword [rsp + 0x78], rcx
jmp 0x1401d1fea
tzcnt r10, rax
shr r10d, 3
jmp 0x1401d1d3e
tzcnt r10, rax
shr r10d, 3
sub r10d, r9d
add r10d, ecx
jmp 0x1401d1d3e
mov eax, esi
sub eax, ebx
mov ebx, eax
lea eax, [rbp - 4]
add rbx, r13
cmp esi, eax
ja 0x1401d1fd2
mov eax, dword [rsp + 0x20]
cmp dword [rbx], eax
jne 0x1401d1fd2
mov rcx, qword [rsp + 0x30]
lea rdx, [rbx + 4]
mov r9d, ebp
sub r9d, esi
add r9, rcx
cmp r9, qword [rsp + 0x58]
lea r10, [rcx + 4]
mov rcx, r10
cmova r9, qword [rsp + 0x58]
lea r8, [r9 - 7]
cmp r10, r8
jae 0x1401d1df8
mov rax, qword [r10]
xor rax, qword [rdx]
jne 0x1401d1f2e
lea rcx, [r10 + 8]
add rdx, 8
cmp rcx, r8
jae 0x1401d1e19
nop dword [rax]
mov rax, qword [rcx]
xor rax, qword [rdx]
jne 0x1401d1f3b
add rcx, 8
add rdx, 8
cmp rcx, r8
jb 0x1401d1e00
lea rax, [r9 - 3]
cmp rcx, rax
jae 0x1401d1e30
mov eax, dword [rcx]
cmp dword [rdx], eax
jne 0x1401d1e30
add rcx, 4
add rdx, 4
lea rax, [r9 - 1]
cmp rcx, rax
jae 0x1401d1e49
movzx eax, word [rcx]
cmp word [rdx], ax
jne 0x1401d1e49
add rcx, 2
add rdx, 2
cmp rcx, r9
jae 0x1401d1e58
movzx eax, byte [rcx]
cmp byte [rdx], al
jne 0x1401d1e58
inc rcx
sub ecx, r10d
mov r8, qword [rsp + 0x30]
lea r10d, [rcx + 4]
movsxd r11, r10d
add r11, r8
cmp r11, r9
jne 0x1401d1f18
mov r8, qword [rsp + 0x58]
cmp r9, r8
jae 0x1401d1f13
mov r9, qword [rsp + 0x50]
add r8, 0xfffffffffffffff9
mov rdx, r9
mov rcx, r11
cmp r11, r8
jae 0x1401d1ea9
mov rax, qword [r9]
xor rax, qword [r11]
jne 0x1401d1f4d
lea rcx, [r11 + 8]
lea rdx, [r9 + 8]
cmp rcx, r8
jae 0x1401d1ec9
nop
mov rax, qword [rdx]
xor rax, qword [rcx]
jne 0x1401d1f57
add rcx, 8
add rdx, 8
cmp rcx, r8
jb 0x1401d1eb0
mov r8, qword [rsp + 0x58]
lea rax, [r8 - 3]
cmp rcx, rax
jae 0x1401d1ee5
mov eax, dword [rcx]
cmp dword [rdx], eax
jne 0x1401d1ee5
add rcx, 4
add rdx, 4
lea rax, [r8 - 1]
cmp rcx, rax
jae 0x1401d1efe
movzx eax, word [rcx]
cmp word [rdx], ax
jne 0x1401d1efe
add rcx, 2
add rdx, 2
cmp rcx, r8
jae 0x1401d1f0d
movzx eax, byte [rcx]
cmp byte [rdx], al
jne 0x1401d1f0d
inc rcx
sub ecx, r11d
add r10d, ecx
mov r8, qword [rsp + 0x30]
xor edx, edx
cmp qword [rsp + 0x40], rdx
je 0x1401d1f9a
cmp r13, rbx
jns 0x1401d1f66
mov eax, r8d
sub eax, r8d
jmp 0x1401d1f6b
tzcnt rcx, rax
shr ecx, 3
jmp 0x1401d1e5b
tzcnt rax, rax
shr eax, 3
sub eax, r10d
add ecx, eax
jmp 0x1401d1e5b
tzcnt rcx, rax
shr ecx, 3
jmp 0x1401d1f10
tzcnt rax, rax
shr eax, 3
sub eax, r11d
add ecx, eax
jmp 0x1401d1f10
mov eax, r13d
sub eax, ebx
movsxd r9, eax
test eax, eax
jns 0x1401d1f9a
lea rcx, [r8 - 1]
sub rbx, r8
mov r8d, 1
sub r8, qword [rsp + 0x30]
movzx eax, byte [rbx + rcx]
cmp byte [rcx], al
jne 0x1401d1f9a
dec rcx
dec edx
lea rax, [rcx + r8]
cmp rax, r9
jg 0x1401d1f84
mov eax, dword [rsp + 0x180]
sub r10d, edx
cmp r10d, eax
jle 0x1401d1fdc
movsxd rax, edx
mov ecx, esi
sub rcx, rbp
mov dword [rsp + 0x180], r10d
add rcx, qword [rsp + 0x50]
add rcx, rax
add rax, qword [rsp + 0x30]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x70], rcx
jmp 0x1401d1fea
mov eax, dword [rsp + 0x180]
cmp r10d, eax
jne 0x1401d2080
mov r10d, dword [rsp + 0x180]
lea eax, [rsi + r10]
cmp eax, dword [rsp + 0x4c]
ja 0x1401d2080
lea ebx, [r10 - 3]
mov r11d, 1
xor r10d, r10d
mov r9d, reloc.WS2_32.dll_recv
test ebx, ebx
jle 0x1401d2080
mov r14, qword [rsp + 0xd0]
mov edi, esi
mov r13d, r9d
nop dword [rax]
mov edx, r9d
lea rax, [rdi + r10]
movzx eax, ax
inc r9d
sar edx, 4
movzx ecx, word [r14 + rax*2]
mov eax, r10d
cmp ecx, r11d
mov r8d, ecx
cmovbe r8d, r11d
cmovbe eax, r12d
cmova r9d, r13d
mov r12d, eax
add r10d, edx
mov r11d, r8d
cmp r10d, ebx
jl 0x1401d2020
mov r13, qword [rsp + 0xb0]
mov r14d, dword [rsp + 0x28]
mov edi, dword [rsp + 0x38]
cmp r8d, 1
jbe 0x1401d2080
cmp r8d, esi
ja 0x1401d2308
sub esi, r8d
jmp 0x1401d2272
mov r10, qword [rsp + 0xd0]
movzx eax, si
cmp word [r10 + rax*2], 1
jne 0x1401d2108
test r12d, r12d
jne 0x1401d2108
lea ebx, [rsi - 1]
test r14d, r14d
jne 0x1401d211f
mov r9d, dword [rsp + 0x20]
xor r8d, r8d
mov eax, r9d
mov edx, r9d
shr eax, 0x18
cmp r9b, al
movzx eax, r9w
sete r8b
xor ecx, ecx
shr edx, 0x10
cmp eax, edx
sete cl
test ecx, r8d
je 0x1401d20fd
mov rcx, qword [rsp + 0x30]
mov r14d, 2
mov rdx, qword [rsp + 0x58]
add rcx, 4
mov r8d, r9d
mov dword [rsp + 0x28], r14d
call fcn.1401cb910
mov r10, qword [rsp + 0xd0]
mov r15d, eax
add r15, 4
jmp 0x1401d2125
mov r14d, 1
mov dword [rsp + 0x28], r14d
mov edi, dword [rsp + 0x38]
lea rcx, [rsi + r12]
movzx eax, cx
movzx ecx, word [r10 + rax*2]
sub esi, ecx
jmp 0x1401d2272
cmp r14d, 2
jne 0x1401d2108
cmp ebx, edi
jb 0x1401d2108
mov eax, ebp
sub eax, ebx
dec eax
cmp eax, 3
jb 0x1401d2108
mov rax, qword [rsp + 0x50]
mov rcx, r13
sub rcx, qword [rsp + 0xc0]
sub rax, rbp
mov r9d, dword [rsp + 0x20]
cmp ebx, ebp
mov edi, ebx
cmovb rax, rcx
add rdi, rax
cmp dword [rdi], r9d
jne 0x1401d2108
mov rsi, qword [rsp + 0x58]
lea rcx, [rdi + 4]
cmp ebx, ebp
mov r8d, r9d
cmovb rsi, qword [rsp + 0x80]
mov rdx, rsi
call fcn.1401cb910
mov r14d, eax
add r14, 4
cmp ebx, ebp
jae 0x1401d21d6
lea rax, [r14 + rdi]
cmp rax, rsi
jne 0x1401d21d6
mov r8d, dword [rsp + 0x20]
mov rcx, r14
and ecx, 3
shl rcx, 3
test rcx, rcx
je 0x1401d21a6
rol r8d, cl
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
call fcn.1401cb910
mov rdx, qword [rsp + 0x50]
mov rcx, rdi
mov r8d, dword [rsp + 0x20]
mov eax, eax
add r14, rax
cmp ebx, ebp
cmovb rdx, r13
call fcn.1401cb970
mov esi, eax
jmp 0x1401d2234
mov rdx, qword [rsp + 0x50]
cmp ebx, ebp
mov r8d, dword [rsp + 0x20]
mov rcx, rdi
cmovb rdx, r13
call fcn.1401cb970
mov esi, eax
cmp ebx, ebp
jb 0x1401d2234
mov r8, qword [rsp + 0x50]
sub rdi, rsi
cmp rdi, r8
jne 0x1401d2239
cmp dword [rsp + 0x60], ebp
jae 0x1401d2239
mov r8d, dword [rsp + 0x20]
mov ecx, esi
neg ecx
and ecx, 3
shl rcx, 3
test rcx, rcx
je 0x1401d221f
rol r8d, cl
mov rcx, qword [rsp + 0x80]
mov rdx, r13
call fcn.1401cb970
mov eax, eax
add rsi, rax
mov r8, qword [rsp + 0x50]
mov edi, dword [rsp + 0x38]
mov edx, ebx
mov eax, ebx
sub eax, esi
mov esi, edi
cmp eax, edi
cmova esi, eax
sub edx, esi
add rdx, r14
cmp rdx, r15
jb 0x1401d2288
cmp r14, r15
ja 0x1401d2288
sub ebx, r15d
mov eax, ebp
add ebx, r14d
mov esi, ebp
sub eax, ebx
dec eax
cmp eax, 3
cmovae esi, ebx
mov r14d, dword [rsp + 0x28]
mov ebx, dword [rsp + 0x60]
mov r10, qword [rsp + 0x30]
cmp esi, edi
jae 0x1401d1be0
jmp 0x1401d230d
mov eax, ebp
sub eax, esi
dec eax
cmp eax, 3
jae 0x1401d2297
mov esi, ebp
jmp 0x1401d226d
cmp qword [rsp + 0x40], 0
jne 0x1401d226d
movsxd rax, dword [rsp + 0x180]
cmp rdx, r15
mov r10, qword [rsp + 0x30]
mov rcx, r15
cmovb rcx, rdx
cmp rax, rcx
jae 0x1401d22ee
mov rax, rbp
mov edx, esi
sub rax, r8
mov r11d, 0xffff
sub rax, rdx
add rax, r10
cmp rax, r11
ja 0x1401d230d
mov rbx, r8
mov dword [rsp + 0x180], ecx
sub rbx, rbp
mov qword [rsp + 0x78], r10
add rbx, rdx
mov qword [rsp + 0x70], rbx
mov rcx, qword [rsp + 0xd0]
movzx eax, si
movzx ecx, word [rcx + rax*2]
cmp ecx, esi
ja 0x1401d230d
sub esi, ecx
jmp 0x1401d226d
mov r10, qword [rsp + 0x30]
cmp dword [rsp + 0x1a8], 1
jne 0x1401d251d
mov edx, dword [rsp + 0x24]
test edx, edx
jle 0x1401d251d
mov r13d, dword [rsp + 0x4c]
mov r8d, 0xffff
mov eax, r13d
sub eax, edi
cmp eax, r8d
jae 0x1401d251d
mov r12, qword [rsp + 0xa8]
mov eax, r13d
imul ecx, dword [r10], 0x9e3779b1
mov rsi, qword [r12 + 0x40008]
mov rbp, qword [r12 + 0x40000]
mov r14d, dword [r12 + 0x40018]
sub rbp, rsi
shr rcx, 0x11
add rbp, r14
mov edi, dword [r12 + rcx*4]
mov ebx, edi
sub ebx, ebp
add ebx, dword [rsp + 0x38]
sub eax, ebx
cmp eax, r8d
ja 0x1401d251d
mov r15d, dword [rsp + 0x20]
mov eax, edx
dec edx
mov dword [rsp + 0x24], edx
test eax, eax
je 0x1401d251d
mov r8, rsi
mov eax, edi
sub r8, r14
add r8, rax
cmp dword [r8], r15d
jne 0x1401d24f9
lea r11, [r10 + 4]
mov r9, rbp
sub r9, rax
lea rdx, [r8 + 4]
add r9, r10
mov rcx, r11
cmp r9, qword [rsp + 0x58]
cmova r9, qword [rsp + 0x58]
lea r10, [r9 - 7]
cmp r11, r10
jae 0x1401d23f0
mov rax, qword [r11]
xor rax, qword [rdx]
jne 0x1401d246b
lea rcx, [r11 + 8]
add rdx, 8
cmp rcx, r10
jae 0x1401d240a
mov rax, qword [rcx]
xor rax, qword [rdx]
jne 0x1401d2475
add rcx, 8
add rdx, 8
cmp rcx, r10
jb 0x1401d23f5
lea rax, [r9 - 3]
cmp rcx, rax
jae 0x1401d2421
mov eax, dword [rcx]
cmp dword [rdx], eax
jne 0x1401d2421
add rcx, 4
add rdx, 4
lea rax, [r9 - 1]
cmp rcx, rax
jae 0x1401d243a
movzx eax, word [rcx]
cmp word [rdx], ax
jne 0x1401d243a
add rcx, 2
add rdx, 2
cmp rcx, r9
jae 0x1401d2449
movzx eax, byte [rcx]
cmp byte [rdx], al
jne 0x1401d2449
inc rcx
sub ecx, r11d
xor edx, edx
lea r11d, [rcx + 4]
cmp qword [rsp + 0x40], rdx
je 0x1401d24b9
cmp rsi, r8
mov r9, qword [rsp + 0x30]
jns 0x1401d2484
mov eax, r9d
sub eax, r9d
jmp 0x1401d2489
tzcnt rcx, rax
shr ecx, 3
jmp 0x1401d244c
tzcnt rax, rax
shr eax, 3
sub eax, r11d
add ecx, eax
jmp 0x1401d244c
mov eax, esi
sub eax, r8d
movsxd r10, eax
test eax, eax
jns 0x1401d24b9
lea rcx, [r9 - 1]
sub r8, r9
mov r9d, 1
sub r9, qword [rsp + 0x30]
movzx eax, byte [r8 + rcx]
cmp byte [rcx], al
jne 0x1401d24b9
dec rcx
dec edx
lea rax, [rcx + r9]
cmp rax, r10
jg 0x1401d24a2
mov r10, qword [rsp + 0x30]
sub r11d, edx
cmp r11d, dword [rsp + 0x180]
jle 0x1401d24f5
movsxd rax, edx
mov ecx, ebx
sub rcx, qword [rsp + 0x98]
add rcx, qword [rsp + 0x50]
add rcx, rax
mov dword [rsp + 0x180], r11d
add rax, r10
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x78], rax
mov edx, dword [rsp + 0x24]
movzx eax, di
mov r8d, 0xffff
movzx ecx, word [r12 + rax*2 + 0x20000]
mov eax, r13d
sub ebx, ecx
sub edi, ecx
sub eax, ebx
cmp eax, r8d
jbe 0x1401d2390
mov edx, dword [rsp + 0x180]
cmp edx, 3
jg 0x1401d2533
mov rcx, qword [rsp + 0xd8]
jmp 0x1401d2577
cmp dword [rsp + 0x1b0], 0
je 0x1401d2557
xor eax, eax
cmp edx, 0x24
mov ecx, eax
setle cl
cmp edx, 0x12
setg al
test eax, ecx
mov eax, send
cmovne edx, eax
mov rax, qword [rsp + 0x78]
sub eax, dword [rsp + 0x70]
mov ecx, edx
shl rcx, 0x20
mov dword [rsp + 0xd8], eax
or rcx, rax
mov dword [rsp + 0xdc], edx
mov r12, rcx
mov qword [rsp + 0x80], rcx
shr r12, 0x20
test r12d, r12d
jne 0x1401d25ca
mov r11, qword [rsp + 0x30]
mov r10, qword [rsp + 0x68]
inc r11
mov rcx, qword [rsp + 0x90]
mov qword [rsp + 0x30], r11
mov esi, dword [rsp + 0x198]
xor r15d, r15d
cmp r11, qword [rsp + 0xf8]
ja 0x1401d477a
mov r14, qword [rsp + 0x160]
jmp 0x1401d1a53
movsxd r15, r12d
cmp r15, qword [rsp + 0xf0]
jbe 0x1401d27b7
mov r9, qword [rsp + 0x68]
movabs r8, 0x8080808080808081
mov r11, qword [rsp + 0x30]
mov r14, r9
mov rbx, qword [rsp + 0x90]
mov rbp, r11
mov esi, dword [rsp + 0x198]
mov rdi, r11
movsxd rax, ecx
mov r13, r9
mov qword [rsp + 0x80], r9
sub rbp, rax
inc r9
sub rdi, rbx
mov qword [rsp + 0x68], r9
test esi, esi
je 0x1401d2649
mov rax, r8
mul rdi
lea rax, [rdi + 8]
shr rdx, 7
add rax, rdx
add rax, r9
cmp rax, qword [rsp + 0xb8]
ja 0x1401d459c
cmp rdi, 0xf
jb 0x1401d26a8
lea rsi, [rdi - 0xf]
mov byte [r14], 0xf0
cmp rsi, 0xff
jb 0x1401d2699
mov rax, r8
mov rcx, r9
mul rsi
mov rbx, rdx
mov dl, 0xff
shr rbx, 7
mov r8, rbx
call sub.VCRUNTIME140.dll_memset
mov r9, qword [rsp + 0x68]
mov r11, qword [rsp + 0x30]
add r9, rbx
imul rax, rbx, 0xffffffffffffff01
mov rbx, qword [rsp + 0x90]
add rsi, rax
mov byte [r9], sil
inc r9
mov esi, dword [rsp + 0x198]
jmp 0x1401d26b2
movzx eax, dil
shl al, 4
mov byte [r14], al
mov rcx, rbx
lea rdx, [rdi + r9]
sub rcx, r9
nop dword [rax]
mov rax, qword [r9 + rcx]
mov qword [r9], rax
add r9, 8
cmp r9, rdx
jb 0x1401d26c0
movzx eax, r11w
lea r10, [rdx + 2]
sub ax, bp
mov qword [rsp + 0x68], r10
mov word [rdx], ax
lea rcx, [r15 - 4]
movabs r8, 0x8080808080808081
test esi, esi
je 0x1401d2714
mov rax, r8
mul rcx
shr rdx, 7
lea rax, [rdx + 6]
add rax, r10
cmp rax, qword [rsp + 0xb8]
ja 0x1401d459c
movzx eax, byte [r13]
cmp rcx, 0xf
jb 0x1401d279a
add al, 0xf
sub rcx, 0xf
mov byte [r14], al
cmp rcx, 0x1fe
jb 0x1401d2760
mov rax, r8
mul rcx
shr rdx, 8
imul rax, rdx, 0xfffffffffffffe02
add rcx, rax
nop word [rax + rax]
mov word [r10], 0xffff
add r10, 2
sub rdx, 1
jne 0x1401d2750
cmp rcx, 0xff
jb 0x1401d2777
sub rcx, 0xff
mov byte [r10], 0xff
inc r10
mov byte [r10], cl
inc r10
add r11, r15
mov qword [rsp + 0x68], r10
mov rcx, r11
mov qword [rsp + 0x30], r11
mov qword [rsp + 0x90], rcx
jmp 0x1401d25ac
add cl, al
add r11, r15
mov byte [r14], cl
mov rcx, r11
mov qword [rsp + 0x30], r11
mov qword [rsp + 0x90], rcx
jmp 0x1401d25ac
mov esi, dword [rsp + 0x48]
mov eax, esi
cmp esi, 0xf
jl 0x1401d27df
lea r8d, [rsi - 0xf]
mov eax, 0x80808081
imul r8d
add edx, r8d
sar edx, 7
mov eax, edx
shr eax, 0x1f
inc eax
add eax, edx
add eax, esi
mov r13, qword [rsp + 0xa0]
lea r9d, [rsi + 1]
xor r15d, r15d
mov dword [r13], eax
mov eax, r9d
mov dword [r13 + 8], 1
mov dword [r13 + 4], r15d
mov dword [r13 + 0xc], esi
cmp r9d, 0xf
jl 0x1401d2829
lea r8d, [rsi - 0xe]
mov eax, 0x80808081
imul r8d
add edx, r8d
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, 2
add eax, edx
add eax, esi
mov dword [r13 + 0x1c], r9d
lea r9d, [rsi + 2]
mov dword [r13 + 0x10], eax
mov eax, r9d
mov dword [r13 + 0x18], 1
mov dword [r13 + 0x14], r15d
cmp r9d, 0xf
jl 0x1401d2868
lea r8d, [rsi - 0xd]
mov eax, 0x80808081
imul r8d
add edx, r8d
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, 3
add eax, edx
add eax, esi
lea edi, [rsi + 3]
mov dword [r13 + 0x20], eax
mov dword [r13 + 0x28], 1
mov eax, edi
mov dword [r13 + 0x24], r15d
mov dword [r13 + 0x2c], r9d
cmp edi, 0xf
jl 0x1401d28a4
lea r8d, [rsi - 0xc]
mov eax, 0x80808081
imul r8d
add edx, r8d
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, 4
add eax, edx
add eax, esi
movsxd rbp, dword [rsp + 0x84]
mov r9d, 4
mov dword [r13 + 0x38], 1
mov dword [r13 + 0x34], r15d
mov dword [r13 + 0x3c], edi
mov dword [r13 + 0x30], eax
mov dword [rsp + 0x28], ebp
cmp ebp, r9d
jl 0x1401d29a4
cmp esi, 0xf
jl 0x1401d2946
lea r8d, [rsi - 0xf]
mov eax, 0x80808081
imul r8d
lea r10, [r13 + 0x44]
add edx, r8d
sar edx, 7
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
add ebx, esi
nop word [rax + rax]
lea r11d, [rbx + 4]
cmp r9d, 0x13
jl 0x1401d2929
lea r8d, [r9 - 0x13]
mov eax, 0x80808081
imul r8d
inc r11d
add edx, r8d
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add r11d, edx
mov dword [r10 + 4], r9d
inc r9d
mov dword [r10], ecx
mov dword [r10 + 8], esi
mov dword [r10 - 4], r11d
add r10, 0x10
cmp r9d, ebp
jle 0x1401d2900
jmp 0x1401d29a4
mov r10d, r9d
mov rbx, rbp
cmp rbp, r9
jl 0x1401d29a4
lea r9, [r13 + 0x44]
add rbx, 0xfffffffffffffffd
nop dword [rax]
mov r11d, edi
cmp r10d, 0x13
jl 0x1401d2988
lea r8d, [r10 - 0x13]
mov eax, 0x80808081
imul r8d
inc r11d
add edx, r8d
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add r11d, edx
mov dword [r9 + 4], r10d
inc r10d
mov dword [r9], ecx
mov dword [r9 + 8], esi
mov dword [r9 - 4], r11d
add r9, 0x10
sub rbx, 1
jne 0x1401d2960
mov edi, 1
lea rdx, [rbp + 1]
shl rdx, 4
mov rcx, rbp
add rcx, rcx
mov dword [rsp + 0x88], edi
add rdx, r13
mov qword [rsp + 0x80], rdi
mov rsi, rbp
mov r14d, edi
lea r8, [rcx*8]
mov dword [rdx + 8], 1
lea rcx, [rbp + 2]
shl rcx, 4
add rcx, r13
mov dword [rdx + 4], r15d
mov dword [rdx + 0xc], 1
mov eax, dword [r8 + r13]
inc eax
mov dword [rcx + 8], 1
mov dword [rcx + 4], r15d
mov dword [rcx + 0xc], 2
mov dword [rdx], eax
mov eax, dword [r8 + r13]
add eax, 2
mov dword [rcx], eax
lea rcx, [rbp + 3]
shl rcx, 4
add rcx, r13
mov dword [rcx + 8], 1
mov dword [rcx + 4], r15d
mov dword [rcx + 0xc], 3
mov eax, dword [r8 + r13]
add eax, 3
mov dword [rcx], eax
cmp ebp, edi
jle 0x1401d42e6
nop word [rax + rax]
movsxd rbx, edi
add rbx, qword [rsp + 0x30]
mov qword [rsp + 0x50], rbx
cmp rbx, qword [rsp + 0xf8]
ja 0x1401d42e6
mov r10d, dword [rsp + 0x1a0]
mov rcx, r14
shl rcx, 4
add rcx, r13
mov eax, dword [rcx]
test r10d, r10d
je 0x1401d2aa0
cmp dword [rcx + 0x10], eax
jg 0x1401d2aa9
lea rcx, [r14 + 4]
add eax, 3
add rcx, rcx
cmp dword [r13 + rcx*8], eax
jl 0x1401d42ca
jmp 0x1401d2aa9
cmp dword [rcx + 0x10], eax
jle 0x1401d42ca
mov r9, qword [rsp + 0x160]
mov r13, r15
mov qword [rsp + 0xa8], r15
mov r12d, r15d
mov dword [rsp + 0x60], r15d
mov edx, dword [r9 + 0x4001c]
mov rax, qword [r9 + 0x40028]
mov r11d, edx
mov rsi, qword [r9 + 0x40008]
mov r8d, dword [r9 + 0x40018]
mov r9, qword [r9 + 0x40010]
lea ecx, [rdx + 0x10000]
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0x40], rsi
mov dword [rsp + 0x180], r8d
mov dword [rsp + 0x38], edx
test r10d, r10d
je 0x1401d34dd
mov edi, dword [rbx]
mov ebp, r8d
sub ebp, esi
mov qword [rsp + 0xe0], 0
add ebp, ebx
mov qword [rsp + 0x70], r9
cmp ecx, ebp
mov dword [rsp + 0x48], ebp
mov r10d, r8d
mov dword [rsp + 0x20], edi
mov ecx, r8d
mov r14d, 3
lea eax, [rbp - 0xffff]
cmovbe r11d, eax
mov eax, edx
sub r10d, esi
mov dword [rsp + 0x4c], r11d
mov rdx, r9
add r10d, ebx
sub rdx, rax
mov rax, qword [rsp + 0x160]
add rdx, r8
mov qword [rsp + 0xb0], rdx
mov edx, dword [rsp + 0x188]
mov r8d, dword [rax + 0x40020]
mov dword [rsp + 0x24], edx
cmp r8d, r10d
jae 0x1401d2be3
mov r9d, r8d
mov edi, 0xffff
sub r9, rcx
add r9, rsi
mov rsi, rax
nop word [rax + rax]
imul edx, dword [r9], 0x9e3779b1
lea r9, [r9 + 1]
mov ecx, r8d
movzx eax, r8w
shr rdx, 0x11
sub ecx, dword [rsi + rdx*4]
cmp rcx, rdi
cmova rcx, rdi
mov word [rsi + rax*2 + 0x20000], cx
mov dword [rsi + rdx*4], r8d
inc r8d
cmp r8d, r10d
jb 0x1401d2ba0
mov edi, dword [rsp + 0x20]
mov r9, qword [rsp + 0x70]
mov edx, dword [rsp + 0x24]
jmp 0x1401d2beb
mov rsi, qword [rsp + 0x160]
mov dword [rsi + 0x40020], r10d
mov r8, rbx
imul ecx, dword [rbx], 0x9e3779b1
mov qword [rsp + 0x98], rbx
shr rcx, 0x11
mov esi, dword [rsi + rcx*4]
cmp esi, r11d
jb 0x1401d32b4
mov ecx, dword [rsp + 0x180]
mov r11, qword [rsp + 0x50]
mov ebx, ecx
mov r8d, dword [rsp + 0x38]
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x98], r11
jmp 0x1401d2c3e
mov edi, dword [rsp + 0x20]
mov r11, qword [rsp + 0x50]
test edx, edx
jle 0x1401d32ac
dec edx
xor r10d, r10d
mov dword [rsp + 0x24], edx
cmp dword [rsp + 0x1b0], r10d
je 0x1401d2c66
mov eax, ebp
sub eax, esi
cmp eax, 8
jb 0x1401d2f38
cmp esi, ecx
jb 0x1401d2d65
movsxd rcx, r14d
mov r9d, esi
sub r9, rbx
add r9, qword [rsp + 0x40]
movzx eax, word [rcx + r9 - 1]
cmp word [rcx + r11 - 1], ax
jne 0x1401d2f38
cmp dword [r9], edi
jne 0x1401d2f38
mov r8, qword [rsp + 0x58]
lea r10, [r11 + 4]
add r8, 0xfffffffffffffff9
lea rdx, [r9 + 4]
mov rcx, r10
cmp r10, r8
jae 0x1401d2cc4
mov rax, qword [r10]
xor rax, qword [rdx]
jne 0x1401d2d4c
lea rcx, [r10 + 8]
add rdx, 8
cmp rcx, r8
jae 0x1401d2ce5
nop dword [rax]
mov rax, qword [rcx]
xor rax, qword [rdx]
jne 0x1401d2d56
add rcx, 8
add rdx, 8
cmp rcx, r8
jb 0x1401d2cd0
mov r8, qword [rsp + 0x58]
lea rax, [r8 - 3]
cmp rcx, rax
jae 0x1401d2d01
mov eax, dword [rcx]
cmp dword [rdx], eax
jne 0x1401d2d01
add rcx, 4
add rdx, 4
lea rax, [r8 - 1]
cmp rcx, rax
jae 0x1401d2d1a
movzx eax, word [rcx]
cmp word [rdx], ax
jne 0x1401d2d1a
add rcx, 2
add rdx, 2
cmp rcx, r8
jae 0x1401d2d29
movzx eax, byte [rcx]
cmp byte [rdx], al
jne 0x1401d2d29
inc rcx
sub ecx, r10d
lea r10d, [rcx + 4]
cmp r10d, r14d
jle 0x1401d2f3b
mov r14d, r10d
mov qword [rsp + 0x98], r11
mov r13, r9
jmp 0x1401d2f41
tzcnt rcx, rax
shr ecx, 3
jmp 0x1401d2d2c
tzcnt rax, rax
shr eax, 3
sub eax, r10d
add ecx, eax
jmp 0x1401d2d2c
mov edx, esi
lea eax, [rcx - 4]
sub edx, r8d
add rdx, r9
cmp esi, eax
ja 0x1401d2f38
cmp dword [rdx], edi
jne 0x1401d2f38
mov r9d, ecx
lea r10, [r11 + 4]
sub r9d, esi
mov rcx, r10
add r9, r11
cmp r9, qword [rsp + 0x58]
cmova r9, qword [rsp + 0x58]
add rdx, 4
lea r8, [r9 - 7]
cmp r10, r8
jae 0x1401d2dbc
mov rax, qword [r10]
xor rax, qword [rdx]
jne 0x1401d2ed5
lea rcx, [r10 + 8]
add rdx, 8
cmp rcx, r8
jae 0x1401d2dda
mov rax, qword [rcx]
xor rax, qword [rdx]
jne 0x1401d2ee2
add rcx, 8
add rdx, 8
cmp rcx, r8
jb 0x1401d2dc1
lea rax, [r9 - 3]
cmp rcx, rax
jae 0x1401d2df1
mov eax, dword [rcx]
cmp dword [rdx], eax
jne 0x1401d2df1
add rcx, 4
add rdx, 4
lea rax, [r9 - 1]
cmp rcx, rax
jae 0x1401d2e0a
movzx eax, word [rcx]
cmp word [rdx], ax
jne 0x1401d2e0a
add rcx, 2
add rdx, 2
cmp rcx, r9
jae 0x1401d2e19
movzx eax, byte [rcx]
cmp byte [rdx], al
jne 0x1401d2e19
inc rcx
sub ecx, r10d
lea r10d, [rcx + 4]
movsxd rax, r10d
add r11, rax
cmp r11, r9
jne 0x1401d2f13
mov r8, qword [rsp + 0x58]
cmp r9, r8
mov r9, qword [rsp + 0x40]
jae 0x1401d2f18
add r8, 0xfffffffffffffff9
mov rdx, r9
mov rcx, r11
cmp r11, r8
jae 0x1401d2e65
mov rax, qword [r9]
xor rax, qword [r11]
jne 0x1401d2ef4
lea rcx, [r11 + 8]
lea rdx, [r9 + 8]
cmp rcx, r8
jae 0x1401d2e89
nop word [rax + rax]
mov rax, qword [rdx]
xor rax, qword [rcx]
jne 0x1401d2f01
add rcx, 8
add rdx, 8
cmp rcx, r8
jb 0x1401d2e70
mov r8, qword [rsp + 0x58]
lea rax, [r8 - 3]
cmp rcx, rax
jae 0x1401d2ea5
mov eax, dword [rcx]
cmp dword [rdx], eax
jne 0x1401d2ea5
add rcx, 4
add rdx, 4
lea rax, [r8 - 1]
cmp rcx, rax
jae 0x1401d2ebe
movzx eax, word [rcx]
cmp word [rdx], ax
jne 0x1401d2ebe
add rcx, 2
add rdx, 2
cmp rcx, r8
jae 0x1401d2ecd
movzx eax, byte [rcx]
cmp byte [rdx], al
jne 0x1401d2ecd
inc rcx
sub ecx, r11d
add r10d, ecx
jmp 0x1401d2f18
tzcnt rcx, rax
shr ecx, 3
jmp 0x1401d2e1c
tzcnt rax, rax
shr eax, 3
sub eax, r10d
add ecx, eax
jmp 0x1401d2e1c
tzcnt rcx, rax
shr ecx, 3
add r10d, ecx
jmp 0x1401d2f18
tzcnt rax, rax
shr eax, 3
sub eax, r11d
add ecx, eax
add r10d, ecx
jmp 0x1401d2f18
mov r9, qword [rsp + 0x40]
cmp r10d, r14d
jle 0x1401d2f3b
mov rax, qword [rsp + 0x50]
mov r14d, r10d
mov r13d, esi
sub r13, rbx
mov qword [rsp + 0x98], rax
add r13, r9
jmp 0x1401d2f41
cmp r10d, r14d
jne 0x1401d2fe7
lea eax, [rsi + r14]
cmp eax, ebp
ja 0x1401d2fe7
lea ebx, [r14 - 3]
xor r10d, r10d
mov r11d, 1
mov r9d, reloc.WS2_32.dll_recv
test ebx, ebx
jle 0x1401d2fe2
mov rbp, qword [rsp + 0x160]
mov edi, esi
mov r15d, r9d
nop dword [rax]
nop word [rax + rax]
mov edx, r9d
lea rax, [rdi + r10]
movzx eax, ax
inc r9d
sar edx, 4
movzx ecx, word [rbp + rax*2 + 0x20000]
mov eax, r10d
cmp ecx, r11d
mov r8d, ecx
cmovbe r8d, r11d
cmovbe eax, r12d
cmova r9d, r15d
mov r12d, eax
add r10d, edx
mov r11d, r8d
cmp r10d, ebx
jl 0x1401d2f80
mov r15, qword [rsp + 0xa8]
mov ebp, dword [rsp + 0x48]
cmp r8d, 1
jbe 0x1401d2fde
cmp r8d, esi
ja 0x1401d32a8
sub esi, r8d
jmp 0x1401d3086
mov edi, dword [rsp + 0x20]
mov rbx, qword [rsp + 0x78]
mov r9, qword [rsp + 0x160]
movzx eax, si
cmp word [r9 + rax*2 + 0x20000], 1
jne 0x1401d3074
test r12d, r12d
jne 0x1401d3074
mov eax, dword [rsp + 0x60]
lea ebp, [rsi - 1]
test eax, eax
jne 0x1401d30b3
xor r8d, r8d
mov eax, edi
shr eax, 0x18
mov edx, edi
cmp dil, al
movzx eax, di
sete r8b
xor ecx, ecx
shr edx, 0x10
cmp eax, edx
sete cl
test ecx, r8d
je 0x1401d306c
mov rcx, qword [rsp + 0x50]
mov r8d, edi
mov rdx, qword [rsp + 0x58]
add rcx, 4
mov dword [rsp + 0x60], 2
call fcn.1401cb910
mov r9, qword [rsp + 0x160]
mov r15d, eax
add r15, 4
mov qword [rsp + 0xa8], r15
jmp 0x1401d30b8
mov dword [rsp + 0x60], 1
lea rcx, [rsi + r12]
movzx eax, cx
movzx ecx, word [r9 + rax*2 + 0x20000]
sub esi, ecx
mov ecx, dword [rsp + 0x180]
mov rbx, qword [rsp + 0x78]
mov r9, qword [rsp + 0x70]
mov edx, dword [rsp + 0x24]
mov ebp, dword [rsp + 0x48]
mov r8d, dword [rsp + 0x38]
cmp esi, dword [rsp + 0x4c]
jae 0x1401d2c35
jmp 0x1401d32ac
cmp eax, 2
jne 0x1401d3074
cmp ebp, dword [rsp + 0x4c]
jb 0x1401d3074
mov edx, dword [rsp + 0x180]
mov eax, edx
sub eax, ebp
dec eax
cmp eax, 3
jb 0x1401d3074
mov rcx, qword [rsp + 0x70]
mov r8d, dword [rsp + 0x38]
mov rax, qword [rsp + 0x40]
sub rcx, r8
sub rax, rbx
mov edi, ebp
cmp ebp, edx
cmovb rax, rcx
add rdi, rax
mov eax, dword [rsp + 0x20]
cmp dword [rdi], eax
jne 0x1401d3074
mov rsi, qword [rsp + 0x58]
lea rcx, [rdi + 4]
cmp ebp, edx
mov r8d, eax
cmovb rsi, qword [rsp + 0xb0]
mov rdx, rsi
call fcn.1401cb910
mov ecx, dword [rsp + 0x180]
mov ebx, eax
add rbx, 4
cmp ebp, ecx
jae 0x1401d3183
lea rax, [rbx + rdi]
cmp rax, rsi
jne 0x1401d3183
mov r8d, dword [rsp + 0x20]
mov rcx, rbx
and ecx, 3
shl rcx, 3
test rcx, rcx
je 0x1401d314c
rol r8d, cl
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x40]
call fcn.1401cb910
mov rdx, qword [rsp + 0x40]
mov rcx, rdi
mov r8d, dword [rsp + 0x20]
mov eax, eax
add rbx, rax
cmp ebp, dword [rsp + 0x180]
cmovb rdx, qword [rsp + 0x70]
call fcn.1401cb970
mov esi, eax
jmp 0x1401d31ec
mov rdx, qword [rsp + 0x40]
cmp ebp, ecx
mov r8d, dword [rsp + 0x20]
mov rcx, rdi
cmovb rdx, qword [rsp + 0x70]
call fcn.1401cb970
mov ecx, dword [rsp + 0x180]
mov esi, eax
cmp ebp, ecx
jb 0x1401d31f3
mov r9, qword [rsp + 0x40]
sub rdi, rsi
cmp rdi, r9
jne 0x1401d31f8
cmp dword [rsp + 0x38], ecx
jae 0x1401d31f8
mov r8d, dword [rsp + 0x20]
mov ecx, esi
neg ecx
and ecx, 3
shl rcx, 3
test rcx, rcx
je 0x1401d31d5
rol r8d, cl
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0xb0]
call fcn.1401cb970
mov eax, eax
add rsi, rax
mov ecx, dword [rsp + 0x180]
mov r9, qword [rsp + 0x40]
mov edx, ebp
mov eax, ebp
sub eax, esi
mov esi, dword [rsp + 0x4c]
cmp eax, esi
cmova esi, eax
sub edx, esi
add rdx, rbx
cmp rdx, r15
jb 0x1401d322e
cmp rbx, r15
ja 0x1401d322e
sub ebx, r15d
mov eax, ecx
add ebx, ebp
mov esi, ecx
sub eax, ebx
dec eax
cmp eax, 3
cmovae esi, ebx
jmp 0x1401d308d
mov eax, ecx
sub eax, esi
dec eax
cmp eax, 3
jae 0x1401d3240
mov esi, ecx
jmp 0x1401d308d
cmp rdx, r15
movsxd rax, r14d
mov rcx, r15
cmovb rcx, rdx
cmp rax, rcx
jae 0x1401d3289
mov r8, qword [rsp + 0x78]
mov r10d, 0xffff
mov r11, qword [rsp + 0x50]
mov rax, r8
mov edx, esi
sub rax, rdx
sub rax, r9
add rax, r11
cmp rax, r10
ja 0x1401d32a4
mov r13d, edx
mov qword [rsp + 0x98], r11
sub r13, r8
mov r14d, ecx
add r13, r9
mov rcx, qword [rsp + 0x160]
movzx eax, si
movzx ecx, word [rcx + rax*2 + 0x20000]
cmp ecx, esi
jbe 0x1401d3084
mov ebp, dword [rsp + 0x48]
mov edx, dword [rsp + 0x24]
mov r8, qword [rsp + 0x98]
cmp dword [rsp + 0x1a8], 1
jne 0x1401d3489
test edx, edx
jle 0x1401d3489
mov r12d, dword [rsp + 0x4c]
mov eax, ebp
sub eax, r12d
mov r15d, 0xffff
cmp eax, r15d
jae 0x1401d3489
mov r11, qword [rsp + 0xc0]
mov eax, ebp
mov r9, qword [rsp + 0x50]
mov rsi, qword [r11 + 0x40008]
imul ecx, dword [r9], 0x9e3779b1
mov rbx, qword [r11 + 0x40000]
mov edi, dword [r11 + 0x40018]
sub rbx, rsi
add rbx, rdi
sub r12d, ebx
shr rcx, 0x11
mov r11d, dword [r11 + rcx*4]
add r12d, r11d
sub eax, r12d
cmp eax, r15d
ja 0x1401d3489
mov ebp, dword [rsp + 0x180]
mov r15d, dword [rsp + 0x20]
nop word [rax + rax]
mov eax, edx
dec edx
mov dword [rsp + 0x24], edx
test eax, eax
je 0x1401d3489
mov rdx, rsi
mov eax, r11d
sub rdx, rdi
add rdx, rax
cmp dword [rdx], r15d
jne 0x1401d3457
lea r10, [r9 + 4]
mov r8, rbx
sub r8, rax
mov rax, r10
add r8, r9
cmp r8, qword [rsp + 0x58]
cmova r8, qword [rsp + 0x58]
add rdx, 4
lea r9, [r8 - 7]
cmp r10, r9
jae 0x1401d33a1
mov rcx, qword [r10]
xor rcx, qword [rdx]
jne 0x1401d3433
lea rax, [r10 + 8]
add rdx, 8
cmp rax, r9
jae 0x1401d33c9
nop word [rax + rax]
mov rcx, qword [rax]
xor rcx, qword [rdx]
jne 0x1401d343d
add rax, 8
add rdx, 8
cmp rax, r9
jb 0x1401d33b0
lea rcx, [r8 - 3]
cmp rax, rcx
jae 0x1401d33e0
mov ecx, dword [rax]
cmp dword [rdx], ecx
jne 0x1401d33e0
add rax, 4
add rdx, 4
lea rcx, [r8 - 1]
cmp rax, rcx
jae 0x1401d33f9
movzx ecx, word [rax]
cmp word [rdx], cx
jne 0x1401d33f9
add rax, 2
add rdx, 2
cmp rax, r8
jae 0x1401d3408
movzx ecx, byte [rax]
cmp byte [rdx], cl
jne 0x1401d3408
inc rax
sub eax, r10d
add eax, 4
mov r9, qword [rsp + 0x50]
cmp eax, r14d
jle 0x1401d344f
mov r13d, r12d
mov r14d, eax
sub r13, rbp
mov qword [rsp + 0x98], r9
add r13, qword [rsp + 0x40]
mov r8, r9
jmp 0x1401d3457
tzcnt rax, rcx
shr eax, 3
jmp 0x1401d340b
tzcnt rcx, rcx
shr ecx, 3
add eax, 4
sub ecx, r10d
add eax, ecx
jmp 0x1401d340e
mov r8, qword [rsp + 0x98]
mov rcx, qword [rsp + 0xc0]
mov edx, dword [rsp + 0x24]
movzx eax, r11w
movzx ecx, word [rcx + rax*2 + 0x20000]
mov eax, dword [rsp + 0x48]
sub r12d, ecx
sub r11d, ecx
sub eax, r12d
mov ecx, 0xffff
cmp eax, ecx
jbe 0x1401d3340
cmp r14d, 3
jg 0x1401d349c
mov rcx, qword [rsp + 0xe0]
jmp 0x1401d3e90
cmp dword [rsp + 0x1b0], 0
je 0x1401d34c3
xor eax, eax
cmp r14d, 0x24
mov ecx, eax
setle cl
cmp r14d, 0x12
setg al
test eax, ecx
mov eax, send
cmovne r14d, eax
sub r8d, r13d
mov dword [rsp + 0xe4], r14d
mov eax, r8d
mov dword [rsp + 0xe0], eax
jmp 0x1401d3e86
mov eax, dword [rsp + 0x28]
mov ebp, ebx
sub eax, edi
mov qword [rsp + 0xe8], 0
mov edi, dword [rbx]
sub ebp, esi
add ebp, r8d
mov dword [rsp + 0x98], eax
mov r14d, eax
mov dword [rsp + 0x48], ebp
cmp ecx, ebp
mov qword [rsp + 0x78], r9
mov r10d, ebx
mov dword [rsp + 0x20], edi
lea eax, [rbp - 0xffff]
mov rcx, r8
cmovbe r11d, eax
mov rax, rdx
mov rdx, r8
mov dword [rsp + 0x4c], r11d
sub rdx, rax
sub r10d, esi
mov rax, qword [rsp + 0x160]
add rdx, r9
add r10d, r8d
mov qword [rsp + 0xb0], rdx
mov edx, dword [rsp + 0x188]
mov dword [rsp + 0x24], edx
mov r8d, dword [rax + 0x40020]
cmp r8d, r10d
jae 0x1401d35b3
mov r9d, r8d
mov edi, 0xffff
sub r9, rcx
add r9, rsi
mov rsi, rax
imul edx, dword [r9], 0x9e3779b1
lea r9, [r9 + 1]
mov ecx, r8d
movzx eax, r8w
shr rdx, 0x11
sub ecx, dword [rsi + rdx*4]
cmp rcx, rdi
cmova rcx, rdi
mov word [rsi + rax*2 + 0x20000], cx
mov dword [rsi + rdx*4], r8d
inc r8d
cmp r8d, r10d
jb 0x1401d3570
mov edi, dword [rsp + 0x20]
mov r9, qword [rsp + 0x78]
mov edx, dword [rsp + 0x24]
jmp 0x1401d35bb
mov rsi, qword [rsp + 0x160]
mov dword [rsi + 0x40020], r10d
mov r8, rbx
imul ecx, dword [rbx], 0x9e3779b1
mov qword [rsp + 0x70], rbx
shr rcx, 0x11
mov esi, dword [rsi + rcx*4]
cmp esi, r11d
jb 0x1401d3c5c
mov ecx, dword [rsp + 0x180]
mov r8d, dword [rsp + 0x38]
mov r13d, ecx
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0x70], rbx
jmp 0x1401d3609
mov edi, dword [rsp + 0x20]
mov rbx, qword [rsp + 0x50]
test edx, edx
jle 0x1401d3c4f
dec edx
xor r10d, r10d
mov dword [rsp + 0x24], edx
cmp dword [rsp + 0x1b0], r10d
je 0x1401d3631
mov eax, ebp
sub eax, esi
cmp eax, 8
jb 0x1401d38f7
cmp esi, ecx
jb 0x1401d3725
movsxd rcx, r14d
mov r9d, esi
sub r9, r13
add r9, qword [rsp + 0x40]
movzx eax, word [rcx + r9 - 1]
cmp word [rcx + rbx - 1], ax
jne 0x1401d38f7
cmp dword [r9], edi
jne 0x1401d38f7
mov r11, qword [rsp + 0x58]
lea r10, [rbx + 4]
lea rdx, [r9 + 4]
mov rcx, r10
lea r8, [r11 - 7]
cmp r10, r8
jae 0x1401d368e
mov rax, qword [r10]
xor rax, qword [rdx]
jne 0x1401d370c
lea rcx, [r10 + 8]
add rdx, 8
cmp rcx, r8
jae 0x1401d36a8
mov rax, qword [rcx]
xor rax, qword [rdx]
jne 0x1401d3716
add rcx, 8
add rdx, 8
cmp rcx, r8
jb 0x1401d3693
lea rax, [r11 - 3]
cmp rcx, rax
jae 0x1401d36bf
mov eax, dword [rcx]
cmp dword [rdx], eax
jne 0x1401d36bf
add rcx, 4
add rdx, 4
lea rax, [r11 - 1]
cmp rcx, rax
jae 0x1401d36d8
movzx eax, word [rcx]
cmp word [rdx], ax
jne 0x1401d36d8
add rcx, 2
add rdx, 2
cmp rcx, r11
jae 0x1401d36e7
movzx eax, byte [rcx]
cmp byte [rdx], al
jne 0x1401d36e7
inc rcx
sub ecx, r10d
lea r10d, [rcx + 4]
cmp r10d, r14d
jle 0x1401d38fa
mov r14d, r10d
mov qword [rsp + 0xa8], r9
mov qword [rsp + 0x70], rbx
jmp 0x1401d3900
tzcnt rcx, rax
shr ecx, 3
jmp 0x1401d36ea
tzcnt rax, rax
shr eax, 3
sub eax, r10d
add ecx, eax
jmp 0x1401d36ea
mov edx, esi
lea eax, [rcx - 4]
sub edx, r8d
add rdx, r9
cmp esi, eax
ja 0x1401d38f7
cmp dword [rdx], edi
jne 0x1401d38f7
mov r9d, ecx
lea r10, [rbx + 4]
sub r9d, esi
mov rcx, r10
add r9, rbx
cmp r9, qword [rsp + 0x58]
cmova r9, qword [rsp + 0x58]
add rdx, 4
lea r8, [r9 - 7]
cmp r10, r8
jae 0x1401d377c
mov rax, qword [rdx]
xor rax, qword [r10]
jne 0x1401d3890
lea rcx, [r10 + 8]
add rdx, 8
cmp rcx, r8
jae 0x1401d379a
mov rax, qword [rdx]
xor rax, qword [rcx]
jne 0x1401d389d
add rcx, 8
add rdx, 8
cmp rcx, r8
jb 0x1401d3781
lea rax, [r9 - 3]
cmp rcx, rax
jae 0x1401d37b1
mov eax, dword [rcx]
cmp dword [rdx], eax
jne 0x1401d37b1
add rcx, 4
add rdx, 4
lea rax, [r9 - 1]
cmp rcx, rax
jae 0x1401d37ca
movzx eax, word [rcx]
cmp word [rdx], ax
jne 0x1401d37ca
add rcx, 2
add rdx, 2
cmp rcx, r9
jae 0x1401d37d9
movzx eax, byte [rcx]
cmp byte [rdx], al
jne 0x1401d37d9
inc rcx
sub ecx, r10d
lea r10d, [rcx + 4]
movsxd r11, r10d
add r11, rbx
cmp r11, r9
jne 0x1401d38ce
mov rbx, qword [rsp + 0x58]
cmp r9, rbx
mov r9, qword [rsp + 0x40]
jae 0x1401d38d3
lea r8, [rbx - 7]
mov rdx, r9
mov rcx, r11
cmp r11, r8
jae 0x1401d3825
mov rax, qword [r9]
xor rax, qword [r11]
jne 0x1401d38af
lea rcx, [r11 + 8]
lea rdx, [r9 + 8]
cmp rcx, r8
jae 0x1401d3849
nop word [rax + rax]
mov rax, qword [rdx]
xor rax, qword [rcx]
jne 0x1401d38bc
add rcx, 8
add rdx, 8
cmp rcx, r8
jb 0x1401d3830
lea rax, [rbx - 3]
cmp rcx, rax
jae 0x1401d3860
mov eax, dword [rcx]
cmp dword [rdx], eax
jne 0x1401d3860
add rcx, 4
add rdx, 4
lea rax, [rbx - 1]
cmp rcx, rax
jae 0x1401d3879
movzx eax, word [rcx]
cmp word [rdx], ax
jne 0x1401d3879
add rcx, 2
add rdx, 2
cmp rcx, rbx
jae 0x1401d3888
movzx eax, byte [rcx]
cmp byte [rdx], al
jne 0x1401d3888
inc rcx
sub ecx, r11d
add r10d, ecx
jmp 0x1401d38d3
tzcnt rcx, rax
shr ecx, 3
jmp 0x1401d37dc
tzcnt rax, rax
shr eax, 3
sub eax, r10d
add ecx, eax
jmp 0x1401d37dc
tzcnt rcx, rax
shr ecx, 3
add r10d, ecx
jmp 0x1401d38d3
tzcnt rax, rax
shr eax, 3
sub eax, r11d
add ecx, eax
add r10d, ecx
jmp 0x1401d38d3
mov r9, qword [rsp + 0x40]
cmp r10d, r14d
jle 0x1401d38fa
mov rax, qword [rsp + 0x50]
mov r14d, r10d
mov ebx, esi
sub rbx, r13
mov qword [rsp + 0x70], rax
add rbx, r9
mov qword [rsp + 0xa8], rbx
jmp 0x1401d3900
cmp r10d, r14d
jne 0x1401d3992
lea eax, [r14 + rsi]
cmp eax, ebp
ja 0x1401d3992
lea r11d, [r14 - 3]
xor r10d, r10d
mov edi, 1
mov r9d, reloc.WS2_32.dll_recv
test r11d, r11d
jle 0x1401d398e
mov r13, qword [rsp + 0x160]
mov ebx, esi
mov ebp, r9d
mov edx, r9d
lea rax, [rbx + r10]
movzx eax, ax
inc r9d
sar edx, 4
movzx ecx, word [r13 + rax*2 + 0x20000]
mov eax, r10d
cmp ecx, edi
mov r8d, ecx
cmovbe r8d, edi
cmovbe eax, r12d
cmova r9d, ebp
mov r12d, eax
add r10d, edx
mov edi, r8d
cmp r10d, r11d
jl 0x1401d3930
mov r13, qword [rsp + 0xc8]
mov ebp, dword [rsp + 0x48]
cmp r8d, 1
jbe 0x1401d398e
cmp r8d, esi
ja 0x1401d3c4b
sub esi, r8d
jmp 0x1401d3a2c
mov edi, dword [rsp + 0x20]
mov r9, qword [rsp + 0x160]
movzx eax, si
cmp word [r9 + rax*2 + 0x20000], 1
jne 0x1401d3a1a
test r12d, r12d
jne 0x1401d3a1a
mov ebx, dword [rsp + 0x60]
lea ebp, [rsi - 1]
test ebx, ebx
jne 0x1401d3a54
xor r8d, r8d
mov eax, edi
shr eax, 0x18
mov edx, edi
cmp dil, al
movzx eax, di
sete r8b
xor ecx, ecx
shr edx, 0x10
cmp eax, edx
sete cl
test ecx, r8d
je 0x1401d3a12
mov rcx, qword [rsp + 0x50]
mov r8d, edi
mov rbx, qword [rsp + 0x58]
add rcx, 4
mov rdx, rbx
mov dword [rsp + 0x60], 2
call fcn.1401cb910
mov r9, qword [rsp + 0x160]
mov r15d, eax
add r15, 4
jmp 0x1401d3a5e
mov dword [rsp + 0x60], 1
lea rcx, [rsi + r12]
movzx eax, cx
movzx ecx, word [r9 + rax*2 + 0x20000]
sub esi, ecx
mov ecx, dword [rsp + 0x180]
mov r9, qword [rsp + 0x78]
mov edx, dword [rsp + 0x24]
mov ebp, dword [rsp + 0x48]
mov r8d, dword [rsp + 0x38]
cmp esi, dword [rsp + 0x4c]
jae 0x1401d3600
jmp 0x1401d3c4f
cmp ebx, 2
jne 0x1401d3a1a
mov rbx, qword [rsp + 0x58]
cmp ebp, dword [rsp + 0x4c]
jb 0x1401d3a1a
mov edx, dword [rsp + 0x180]
mov eax, edx
sub eax, ebp
dec eax
cmp eax, 3
jb 0x1401d3a1a
mov rcx, qword [rsp + 0x78]
mov r8d, dword [rsp + 0x38]
mov rax, qword [rsp + 0x40]
sub rcx, r8
sub rax, r13
mov edi, ebp
cmp ebp, edx
cmovb rax, rcx
add rdi, rax
mov eax, dword [rsp + 0x20]
cmp dword [rdi], eax
jne 0x1401d3a1a
cmp ebp, edx
lea rcx, [rdi + 4]
mov rsi, rbx
mov r8d, eax
cmovb rsi, qword [rsp + 0xb0]
mov rdx, rsi
call fcn.1401cb910
mov ecx, dword [rsp + 0x180]
mov ebx, eax
add rbx, 4
cmp ebp, ecx
jae 0x1401d3b27
lea rax, [rbx + rdi]
cmp rax, rsi
jne 0x1401d3b27
mov r8d, dword [rsp + 0x20]
mov rcx, rbx
and ecx, 3
shl rcx, 3
test rcx, rcx
je 0x1401d3af0
rol r8d, cl
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x40]
call fcn.1401cb910
mov rdx, qword [rsp + 0x40]
mov rcx, rdi
mov r8d, dword [rsp + 0x20]
mov eax, eax
add rbx, rax
cmp ebp, dword [rsp + 0x180]
cmovb rdx, qword [rsp + 0x78]
call fcn.1401cb970
mov esi, eax
jmp 0x1401d3b90
mov rdx, qword [rsp + 0x40]
cmp ebp, ecx
mov r8d, dword [rsp + 0x20]
mov rcx, rdi
cmovb rdx, qword [rsp + 0x78]
call fcn.1401cb970
mov ecx, dword [rsp + 0x180]
mov esi, eax
cmp ebp, ecx
jb 0x1401d3b97
mov r9, qword [rsp + 0x40]
sub rdi, rsi
cmp rdi, r9
jne 0x1401d3b9c
cmp dword [rsp + 0x38], ecx
jae 0x1401d3b9c
mov r8d, dword [rsp + 0x20]
mov ecx, esi
neg ecx
and ecx, 3
shl rcx, 3
test rcx, rcx
je 0x1401d3b79
rol r8d, cl
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0xb0]
call fcn.1401cb970
mov eax, eax
add rsi, rax
mov ecx, dword [rsp + 0x180]
mov r9, qword [rsp + 0x40]
mov edx, ebp
mov eax, ebp
sub eax, esi
mov esi, dword [rsp + 0x4c]
cmp eax, esi
cmova esi, eax
sub edx, esi
add rdx, rbx
cmp rdx, r15
jb 0x1401d3bd2
cmp rbx, r15
ja 0x1401d3bd2
sub ebx, r15d
mov eax, ecx
add ebx, ebp
mov esi, ecx
sub eax, ebx
dec eax
cmp eax, 3
cmovae esi, ebx
jmp 0x1401d3a33
mov eax, ecx
sub eax, esi
dec eax
cmp eax, 3
jae 0x1401d3be4
mov esi, ecx
jmp 0x1401d3a33
cmp rdx, r15
movsxd rax, r14d
mov rcx, r15
cmovb rcx, rdx
cmp rax, rcx
jae 0x1401d3c2c
mov r8, qword [rsp + 0x50]
mov rax, r13
mov edx, esi
mov r10d, 0xffff
sub rax, rdx
sub rax, r9
add rax, r8
cmp rax, r10
ja 0x1401d3c47
mov ebx, edx
mov qword [rsp + 0x70], r8
sub rbx, r13
mov r14d, ecx
add rbx, r9
mov qword [rsp + 0xa8], rbx
mov rcx, qword [rsp + 0x160]
movzx eax, si
movzx ecx, word [rcx + rax*2 + 0x20000]
cmp ecx, esi
jbe 0x1401d3a2a
mov ebp, dword [rsp + 0x48]
mov edx, dword [rsp + 0x24]
mov r13, qword [rsp + 0xa8]
mov r8, qword [rsp + 0x70]
cmp dword [rsp + 0x1a8], 1
jne 0x1401d3e36
test edx, edx
jle 0x1401d3e36
mov r12d, dword [rsp + 0x4c]
mov eax, ebp
sub eax, r12d
mov r15d, 0xffff
cmp eax, r15d
jae 0x1401d3e36
mov r11, qword [rsp + 0xc0]
mov eax, ebp
mov r9, qword [rsp + 0x50]
mov rsi, qword [r11 + 0x40008]
imul ecx, dword [r9], 0x9e3779b1
mov rbx, qword [r11 + 0x40000]
mov edi, dword [r11 + 0x40018]
sub rbx, rsi
add rbx, rdi
sub r12d, ebx
shr rcx, 0x11
mov r11d, dword [r11 + rcx*4]
add r12d, r11d
sub eax, r12d
cmp eax, r15d
ja 0x1401d3e36
mov ebp, dword [rsp + 0x180]
mov r15d, dword [rsp + 0x20]
nop dword [rax]
nop word [rax + rax]
mov eax, edx
dec edx
mov dword [rsp + 0x24], edx
test eax, eax
je 0x1401d3e36
mov edx, r11d
sub rdx, rdi
mov eax, r11d
add rdx, rsi
cmp dword [rdx], r15d
jne 0x1401d3e04
lea r10, [r9 + 4]
mov r8, rbx
sub r8, rax
mov rcx, r10
add r8, r9
cmp r8, qword [rsp + 0x58]
cmova r8, qword [rsp + 0x58]
add rdx, 4
lea r9, [r8 - 7]
cmp r10, r9
jae 0x1401d3d51
mov rax, qword [r10]
xor rax, qword [rdx]
jne 0x1401d3de0
lea rcx, [r10 + 8]
add rdx, 8
cmp rcx, r9
jae 0x1401d3d79
nop word [rax + rax]
mov rax, qword [rcx]
xor rax, qword [rdx]
jne 0x1401d3ded
add rcx, 8
add rdx, 8
cmp rcx, r9
jb 0x1401d3d60
lea rax, [r8 - 3]
cmp rcx, rax
jae 0x1401d3d90
mov eax, dword [rcx]
cmp dword [rdx], eax
jne 0x1401d3d90
add rcx, 4
add rdx, 4
lea rax, [r8 - 1]
cmp rcx, rax
jae 0x1401d3da9
movzx eax, word [rcx]
cmp word [rdx], ax
jne 0x1401d3da9
add rcx, 2
add rdx, 2
cmp rcx, r8
jae 0x1401d3db8
movzx eax, byte [rcx]
cmp byte [rdx], al
jne 0x1401d3db8
inc rcx
sub ecx, r10d
lea eax, [rcx + 4]
mov r9, qword [rsp + 0x50]
cmp eax, r14d
jle 0x1401d3dff
mov r13d, r12d
mov r14d, eax
sub r13, rbp
mov qword [rsp + 0x70], r9
add r13, qword [rsp + 0x40]
mov r8, r9
jmp 0x1401d3e04
tzcnt rax, rax
shr eax, 3
add eax, 4
jmp 0x1401d3dbe
tzcnt rax, rax
shr eax, 3
sub eax, r10d
add eax, 4
add eax, ecx
jmp 0x1401d3dbe
mov r8, qword [rsp + 0x70]
mov rcx, qword [rsp + 0xc0]
mov edx, dword [rsp + 0x24]
movzx eax, r11w
movzx ecx, word [rcx + rax*2 + 0x20000]
mov eax, dword [rsp + 0x48]
sub r12d, ecx
sub r11d, ecx
sub eax, r12d
mov ecx, 0xffff
cmp eax, ecx
jbe 0x1401d3cf0
cmp r14d, dword [rsp + 0x98]
jg 0x1401d3e4a
mov rcx, qword [rsp + 0xe8]
jmp 0x1401d3e90
cmp dword [rsp + 0x1b0], 0
je 0x1401d3e71
xor eax, eax
cmp r14d, 0x24
mov ecx, eax
setle cl
cmp r14d, 0x12
setg al
test eax, ecx
mov eax, send
cmovne r14d, eax
sub r8d, r13d
mov dword [rsp + 0xec], r14d
mov eax, r8d
mov dword [rsp + 0xe8], eax
mov ecx, r14d
shl rcx, 0x20
or rcx, rax
mov edi, dword [rsp + 0x88]
mov rdx, rcx
shr rdx, 0x20
mov r8, rcx
test edx, edx
je 0x1401d42b3
movsxd rax, edx
mov r9d, edx
cmp rax, qword [rsp + 0xf0]
ja 0x1401d4392
lea eax, [rdx + rdi]
cmp eax, 0x1000
jge 0x1401d4392
mov r14, qword [rsp + 0x80]
mov r13, qword [rsp + 0xa0]
mov rax, r14
add rax, rax
mov r9d, dword [r13 + rax*8 + 0xc]
mov ebx, r9d
lea r10d, [r9 - 0xf]
cmp r9d, 0xf
jl 0x1401d3f0d
mov eax, 0x80808081
imul r10d
add edx, r10d
sar edx, 7
mov ebx, edx
shr ebx, 0x1f
inc ebx
add ebx, edx
add ebx, r9d
lea r11d, [r9 + 1]
mov r8d, r11d
cmp r11d, 0xf
jl 0x1401d3f3d
lea r8d, [r11 - 0xf]
mov eax, 0x80808081
imul r8d
add edx, r8d
sar edx, 7
mov r8d, edx
shr r8d, 0x1f
add r8d, 2
add r8d, edx
add r8d, r9d
mov rax, r14
add rax, rax
mov edx, dword [r13 + rax*8]
lea rax, [r14 + 1]
sub edx, ebx
add rax, rax
add edx, r8d
cmp edx, dword [r13 + rax*8]
jge 0x1401d3f77
mov dword [r13 + rax*8 + 8], 1
mov dword [r13 + rax*8 + 4], 0
mov dword [r13 + rax*8 + 0xc], r11d
mov dword [r13 + rax*8], edx
mov ebx, r9d
cmp r9d, 0xf
jl 0x1401d3f9a
mov eax, 0x80808081
imul r10d
add edx, r10d
sar edx, 7
mov ebx, edx
shr ebx, 0x1f
inc ebx
add ebx, edx
add ebx, r9d
inc r11d
mov r8d, r11d
cmp r11d, 0xf
jl 0x1401d3fc9
lea r8d, [r9 - 0xd]
mov eax, 0x80808081
imul r8d
add edx, r8d
sar edx, 7
mov r8d, edx
shr r8d, 0x1f
add r8d, 3
add r8d, edx
add r8d, r9d
mov rax, r14
add rax, rax
mov edx, dword [r13 + rax*8]
lea rax, [r14 + 2]
sub edx, ebx
add rax, rax
add edx, r8d
xor ebx, ebx
cmp edx, dword [r13 + rax*8]
jge 0x1401d4001
mov dword [r13 + rax*8 + 8], 1
mov dword [r13 + rax*8 + 4], ebx
mov dword [r13 + rax*8 + 0xc], r11d
mov dword [r13 + rax*8], edx
mov r11d, r9d
cmp r9d, 0xf
jl 0x1401d402c
lea r8d, [r9 - 0xf]
mov eax, 0x80808081
imul r8d
add edx, r8d
sar edx, 7
mov r11d, edx
shr r11d, 0x1f
inc r11d
add r11d, edx
add r11d, r9d
lea r10d, [r9 + 3]
mov r8d, r10d
cmp r10d, 0xf
jl 0x1401d405c
lea r8d, [r9 - 0xc]
mov eax, 0x80808081
imul r8d
add edx, r8d
sar edx, 7
mov r8d, edx
shr r8d, 0x1f
add r8d, 4
add r8d, edx
add r8d, r9d
mov rax, r14
add rax, rax
mov edx, dword [r13 + rax*8]
lea rax, [r14 + 3]
sub edx, r11d
add rax, rax
add edx, r8d
cmp edx, dword [r13 + rax*8]
jge 0x1401d4093
mov dword [r13 + rax*8 + 8], 1
mov dword [r13 + rax*8 + 4], ebx
mov dword [r13 + rax*8 + 0xc], r10d
mov dword [r13 + rax*8], edx
mov esi, dword [rsp + 0x28]
mov rax, rcx
shr rax, 0x20
mov ebp, 4
movsxd r15, eax
cmp rbp, r15
jg 0x1401d4223
mov rdx, r14
lea r9d, [rdi + 4]
mov r8, r14
shl rdx, 4
shl r8, 4
mov rax, r14
add rdx, 8
shl rax, 4
add rdx, r13
add r8, 0xc
add r8, r13
mov qword [rsp + 0xc8], rdx
add r13, rax
mov qword [rsp + 0xb0], r8
mov r12d, 0xffffffed
mov r14d, edi
sub r12d, edi
neg r14d
lea r11, [r13 + 0x44]
nop dword [rax]
cmp dword [rdx], 1
jne 0x1401d4182
mov r10d, dword [r8]
cmp edi, r10d
jle 0x1401d4125
mov eax, edi
sub eax, r10d
movsxd rdx, eax
mov rax, qword [rsp + 0xa0]
add rdx, rdx
mov esi, dword [rax + rdx*8]
jmp 0x1401d4127
mov esi, ebx
mov ebx, r10d
cmp r10d, 0xf
jl 0x1401d414e
lea r8d, [r10 - 0xf]
mov eax, 0x80808081
imul r8d
add edx, r8d
sar edx, 7
mov ebx, edx
shr ebx, 0x1f
inc ebx
add ebx, edx
add ebx, r10d
add ebx, 3
lea edi, [r14 + r9]
cmp edi, 0x13
jl 0x1401d4177
lea r8d, [r12 + r9]
mov eax, 0x80808081
imul r8d
inc ebx
add edx, r8d
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add ebx, edx
lea edx, [rsi + rbx]
mov esi, dword [rsp + 0x28]
xor ebx, ebx
jmp 0x1401d41b3
lea edi, [r14 + r9]
mov r10d, ebx
mov edx, 3
cmp edi, 0x13
jl 0x1401d41af
lea r8d, [r12 + r9]
mov eax, 0x80808081
imul r8d
add edx, r8d
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, 4
add edx, eax
add edx, dword [r13]
lea eax, [rsi + 3]
cmp r9d, eax
jg 0x1401d41ca
mov eax, dword [r11 - 4]
sub eax, dword [rsp + 0x1b0]
cmp edx, eax
jg 0x1401d41e9
cmp rbp, r15
jne 0x1401d41da
cmp esi, r9d
cmovl esi, r9d
mov dword [rsp + 0x28], esi
mov dword [r11 + 4], edi
mov dword [r11], ecx
mov dword [r11 + 8], r10d
mov dword [r11 - 4], edx
mov rdx, qword [rsp + 0xc8]
inc r9d
mov r8, qword [rsp + 0xb0]
inc rbp
mov edi, dword [rsp + 0x88]
add r11, 0x10
cmp rbp, r15
jle 0x1401d4100
mov r14, qword [rsp + 0x80]
mov r13, qword [rsp + 0xa0]
xor r15d, r15d
movsxd rcx, esi
lea rdx, [rcx + 1]
add rcx, rcx
shl rdx, 4
add rdx, r13
lea r8, [rcx*8]
mov dword [rdx + 8], 1
mov dword [rdx + 4], r15d
mov dword [rdx + 0xc], 1
mov eax, dword [r8 + r13]
inc eax
mov dword [rdx], eax
lea eax, [rsi + 2]
movsxd rcx, eax
add rcx, rcx
mov dword [r13 + rcx*8 + 8], 1
mov dword [r13 + rcx*8 + 4], r15d
mov dword [r13 + rcx*8 + 0xc], 2
mov eax, dword [r8 + r13]
add eax, 2
mov dword [r13 + rcx*8], eax
lea eax, [rsi + 3]
movsxd rcx, eax
add rcx, rcx
mov dword [r13 + rcx*8 + 8], 1
mov dword [r13 + rcx*8 + 4], r15d
mov dword [r13 + rcx*8 + 0xc], 3
mov eax, dword [r8 + r13]
add eax, 3
mov dword [r13 + rcx*8], eax
jmp 0x1401d42ca
mov esi, dword [rsp + 0x28]
xor r15d, r15d
mov r14, qword [rsp + 0x80]
mov r13, qword [rsp + 0xa0]
inc edi
inc r14
mov dword [rsp + 0x88], edi
mov qword [rsp + 0x80], r14
cmp edi, esi
jl 0x1401d2a50
movsxd rax, esi
mov edi, esi
add rax, rax
mov r9d, dword [r13 + rax*8 + 8]
sub edi, r9d
mov r8d, dword [r13 + rax*8 + 4]
movsxd rax, edi
add rax, rax
mov edx, dword [r13 + rax*8 + 8]
mov r10d, dword [r13 + rax*8 + 4]
mov dword [r13 + rax*8 + 4], r8d
mov r8d, edx
mov dword [r13 + rax*8 + 8], r9d
cmp edx, edi
jg 0x1401d4344
nop dword [rax]
sub edi, edx
movsxd rcx, edi
shl rcx, 4
add rcx, r13
mov edx, dword [rcx + 8]
mov eax, dword [rcx + 4]
mov dword [rcx + 8], r8d
mov r8d, edx
mov dword [rcx + 4], r10d
mov r10d, eax
cmp edx, edi
jle 0x1401d4320
xor r15d, r15d
mov ebp, r15d
test esi, esi
jle 0x1401d4571
nop dword [rax]
nop word [rax + rax]
mov r11, qword [rsp + 0x30]
mov r10, qword [rsp + 0x68]
movsxd rax, ebp
add rax, rax
movsxd r12, dword [r13 + rax*8 + 8]
movsxd r13, dword [r13 + rax*8 + 4]
cmp r12d, 1
jne 0x1401d43a6
mov rcx, qword [rsp + 0x90]
inc r11
inc ebp
jmp 0x1401d4557
mov r13, qword [rsp + 0xa0]
lea esi, [rdi + 1]
mov dword [rsp + 0x28], esi
jmp 0x1401d42fb
mov rbx, qword [rsp + 0x90]
mov r15, r11
mov rdi, r11
mov qword [rsp + 0x80], r10
mov r14, r10
mov r9, r10
inc r10
sub r15, r13
sub rdi, rbx
mov qword [rsp + 0x68], r10
add ebp, r12d
movabs r8, 0x8080808080808081
cmp dword [rsp + 0x198], 0
je 0x1401d4409
mov rax, r8
mul rdi
lea rax, [rdi + 8]
shr rdx, 7
add rax, rdx
add rax, r10
cmp rax, qword [rsp + 0xb8]
ja 0x1401d458f
cmp rdi, 0xf
jb 0x1401d4468
lea rsi, [rdi - 0xf]
mov byte [r14], 0xf0
cmp rsi, 0xff
jb 0x1401d445c
mov rax, r8
mov rcx, r10
mul rsi
mov rbx, rdx
mov dl, 0xff
shr rbx, 7
mov r8, rbx
call sub.VCRUNTIME140.dll_memset
mov r10, qword [rsp + 0x68]
mov r9, r14
mov r11, qword [rsp + 0x30]
add r10, rbx
imul rax, rbx, 0xffffffffffffff01
mov rbx, qword [rsp + 0x90]
add rsi, rax
mov byte [r10], sil
inc r10
mov esi, dword [rsp + 0x28]
jmp 0x1401d4472
movzx eax, dil
shl al, 4
mov byte [r14], al
mov rdx, rbx
lea r8, [rdi + r10]
sub rdx, r10
mov rcx, r10
nop
mov rax, qword [rdx + rcx]
mov qword [rcx], rax
add rcx, 8
cmp rcx, r8
jb 0x1401d4480
add r10, rdi
lea rcx, [r12 - 4]
movzx eax, r11w
movabs r8, 0x8080808080808081
sub ax, r15w
mov word [r10], ax
add r10, 2
cmp dword [rsp + 0x198], 0
mov qword [rsp + 0x68], r10
je 0x1401d44e0
mov rax, r8
mul rcx
shr rdx, 7
lea rax, [rdx + 6]
add rax, r10
cmp rax, qword [rsp + 0xb8]
ja 0x1401d458f
movzx eax, byte [r9]
cmp rcx, 0xf
jb 0x1401d4544
add al, 0xf
sub rcx, 0xf
mov byte [r14], al
cmp rcx, 0x1fe
jb 0x1401d4520
mov rax, r8
mul rcx
shr rdx, 8
imul rax, rdx, 0xfffffffffffffe02
add rcx, rax
mov word [r10], 0xffff
add r10, 2
sub rdx, 1
jne 0x1401d4510
cmp rcx, 0xff
jb 0x1401d4537
sub rcx, 0xff
mov byte [r10], 0xff
inc r10
mov byte [r10], cl
inc r10
mov qword [rsp + 0x68], r10
jmp 0x1401d4549
add al, cl
mov byte [r14], al
add r11, r12
mov rcx, r11
mov qword [rsp + 0x90], rcx
mov r13, qword [rsp + 0xa0]
mov qword [rsp + 0x30], r11
cmp ebp, esi
jl 0x1401d4360
jmp 0x1401d25a5
mov r10, qword [rsp + 0x68]
mov r11, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x90]
mov esi, dword [rsp + 0x198]
jmp 0x1401d25af
mov esi, dword [rsp + 0x198]
mov rbp, r11
sub rbp, r13
cmp esi, 2
jne 0x1401d4892
mov r9, qword [rsp + 0x80]
mov rdi, r11
mov r13, qword [rsp + 0xb8]
sub rdi, rbx
movabs r14, 0x8080808080808081
mov r10, r9
mov rax, r14
lea rcx, [rdi + 0xf0]
mul rcx
lea r8, [rdi + 1]
shr rdx, 7
lea rcx, [r13 - 3]
add r8, rdx
lea rax, [r8 + r9]
cmp rax, rcx
ja 0x1401d4752
sub rcx, r8
movsxd rax, r12d
sub rcx, r9
imul rcx, rcx, 0xff
add rcx, 0x12
cmp rax, rcx
cmova r12d, ecx
movsxd rax, r12d
sub rax, r8
sub rax, r9
add rax, 2
add rax, r13
cmp rax, 0xc
jl 0x1401d4752
lea r10, [r9 + 1]
mov qword [rsp + 0x68], r10
cmp rdi, 0xf
jb 0x1401d4696
lea rsi, [rdi - 0xf]
mov byte [r9], 0xf0
cmp rsi, 0xff
jb 0x1401d4687
mov rax, r14
mov rcx, r10
mul rsi
mov rbx, rdx
mov dl, 0xff
shr rbx, 7
mov r8, rbx
call sub.VCRUNTIME140.dll_memset
mov r10, qword [rsp + 0x68]
mov r9, qword [rsp + 0x80]
add r10, rbx
mov r11, qword [rsp + 0x30]
imul rax, rbx, 0xffffffffffffff01
mov rbx, qword [rsp + 0x90]
add rsi, rax
mov byte [r10], sil
inc r10
mov esi, dword [rsp + 0x198]
jmp 0x1401d46a0
movzx eax, dil
shl al, 4
mov byte [r9], al
mov rcx, r10
lea rdx, [rdi + r10]
sub rbx, r10
nop word [rax + rax]
mov rax, qword [rcx + rbx]
mov qword [rcx], rax
add rcx, 8
cmp rcx, rdx
jb 0x1401d46b0
add r10, rdi
movsxd rcx, r12d
movzx eax, r11w
sub rcx, 4
sub ax, bp
mov word [r10], ax
add r10, 2
movzx eax, byte [r9]
cmp rcx, 0xf
jb 0x1401d473f
add al, 0xf
sub rcx, 0xf
mov byte [r9], al
cmp rcx, 0x1fe
jb 0x1401d4720
mov rax, r14
mul rcx
shr rdx, 8
imul rax, rdx, 0xfffffffffffffe02
add rcx, rax
nop dword [rax]
mov word [r10], 0xffff
add r10, 2
sub rdx, 1
jne 0x1401d4710
cmp rcx, 0xff
jb 0x1401d4737
sub rcx, 0xff
mov byte [r10], 0xff
inc r10
mov byte [r10], cl
inc r10
jmp 0x1401d4744
add cl, al
mov byte [r9], cl
movsxd rbx, r12d
add rbx, r11
mov qword [rsp + 0x90], rbx
mov rbp, qword [rsp + 0x100]
mov rax, r14
sub rbp, rbx
mov r8, r10
lea rcx, [rbp + 0xf0]
mul rcx
shr rdx, 7
add rdx, rbp
add r13, 5
jmp 0x1401d47c5
mov rbp, qword [rsp + 0x100]
mov r13, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0x90]
movabs r14, 0x8080808080808081
sub rbp, rbx
mov rax, r14
mov r8, r10
lea rcx, [rbp + 0xf0]
mul rcx
shr rdx, 7
add rdx, rbp
cmp esi, 2
jne 0x1401d47c1
add r13, 5
jmp 0x1401d47c5
test esi, esi
je 0x1401d47f1
lea rax, [r10 + 1]
add rax, rdx
cmp rax, r13
jbe 0x1401d47f1
cmp esi, 1
je 0x1401d4892
mov rbp, r13
sub rbp, r10
dec rbp
lea rax, [rbp + 0xf1]
shr rax, 8
sub rbp, rax
lea rsi, [rbx + rbp]
cmp rbp, 0xf
jb 0x1401d4850
mov byte [r10], 0xf0
lea rdi, [rbp - 0xf]
inc r10
mov qword [rsp + 0x68], r10
cmp rdi, 0xff
jb 0x1401d4848
mov rax, r14
mov rcx, r10
mul rdi
mov rbx, rdx
mov dl, 0xff
shr rbx, 7
mov r8, rbx
call sub.VCRUNTIME140.dll_memset
mov r10, qword [rsp + 0x68]
imul rax, rbx, 0xffffffffffffff01
add r10, rbx
mov rbx, qword [rsp + 0x90]
add rdi, rax
mov r8, r10
mov byte [r10], dil
jmp 0x1401d485a
movzx eax, bpl
shl al, 4
mov byte [r10], al
inc r10
lea rcx, [r8 + 1]
mov r8, rbp
mov qword [rsp + 0x68], r10
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcpy
sub esi, dword [rsp + 0x168]
mov rax, qword [rsp + 0x178]
sub ebp, dword [rsp + 0x170]
add ebp, dword [rsp + 0x68]
mov r15d, ebp
mov dword [rax], esi
jmp 0x1401d4895
xor r15d, r15d
mov r13, qword [rsp + 0xa0]
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, r15d
add rsp, 0x118
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret