Function at 0x140178a00
Capabilities:
Enumerate pe sections

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1de0]
mov eax, 0x1ee0
call fcn.1403f59c0
sub rsp, rax
vmovaps xmmword [rsp + 0x1ed0], xmm6
vmovaps xmmword [rsp + 0x1ec0], xmm7
mov rax, qword [0x14143b040]
xor rax, rsp
mov qword [rbp + 0x1db0], rax
mov dword [rsp + 0x48], r8d
mov rsi, rdx
mov r12, rcx
mov qword [rsp + 0x40], rcx
mov qword [rbp + 0x5b8], rcx
xor r15d, r15d
call fcn.140170aa0
nop
lea rcx, [r12 + 0x30]
call fcn.1400716c0
nop
lea rcx, [r12 + 0x58]
call fcn.1400071d0
nop
lea rcx, [r12 + 0x68]
call fcn.1400071d0
nop
lea rcx, [r12 + 0x78]
xor edx, edx
call fcn.1400118c0
lea rcx, [r12 + 0x79]
mov dl, 1
call fcn.1400118c0
lea rcx, [r12 + 0x7a]
xor edx, edx
call fcn.1400118c0
lea rcx, [r12 + 0x7b]
mov dl, 1
call fcn.1400118c0
lea rcx, [r12 + 0x80]
call fcn.1400071d0
nop
lea rcx, [r12 + 0xa8]
call fcn.1400716c0
nop
lea rcx, [r12 + 0xc8]
call fcn.1400716c0
nop
lea rcx, [r12 + 0xf8]
call fcn.1400716c0
nop
mov word [r12 + 0x128], r15w
mov byte [r12 + 0x12a], r15b
mov qword [r12 + 0x130], r15
mov qword [r12 + 0x138], r15
mov word [r12 + 0x149], r15w
mov byte [r12 + 0x14b], r15b
lea rcx, [r12 + 0x14c]
lea r9, [fcn.1400033b0]
mov edx, 6
mov r8d, 0x100
call fcn.140011410
mov dword [r12 + 0x74c], r15d
mov word [r12 + 0x750], r15w
xor eax, eax
mov qword [r12 + 0x752], rax
mov word [r12 + 0x75a], ax
mov byte [r12 + 0x75c], al
lea rcx, [r12 + 0x760]
call fcn.140049c00
nop
lea rcx, [r12 + 0x7a0]
call fcn.140049c00
nop
lea rcx, [r12 + 0x7e0]
call fcn.140049c00
nop
vpxor xmm0, xmm0, xmm0
vmovups xmmword [r12 + 0x820], xmm0
lea rcx, [r12 + 0x830]
call fcn.140049c00
nop
lea rcx, [r12 + 0x870]
call fcn.140049c00
nop
lea rcx, [r12 + 0x8b0]
call fcn.140049c00
nop
vpxor xmm0, xmm0, xmm0
vmovups xmmword [r12 + 0x8f0], xmm0
vpxor xmm1, xmm1, xmm1
vmovups xmmword [r12 + 0x900], xmm1
mov qword [r12 + 0x940], r15
mov qword [r12 + 0x948], r15
mov dword [r12 + 0x950], r15d
mov qword [r12 + 0x958], r15
lea rcx, [r12 + 0x960]
call fcn.1401ab190
nop
mov qword [r12 + 0x990], 0xffffffffffffffff
lea rcx, [r12 + 0x998]
call fcn.140177c80
nop
lea rcx, [r12 + 0x2218]
call fcn.140176c90
nop
lea rcx, [r12 + 0x2254]
xor edx, edx
call fcn.140176dc0
mov dword [r12 + 0x2260], r15d
vpxor xmm0, xmm0, xmm0
vmovups xmmword [r12 + 0x2268], xmm0
lea rcx, [r12 + 0x2278]
call fcn.1400716c0
nop
mov qword [r12 + 0x2298], r15
xor eax, eax
mov qword [r12 + 0x22a0], rax
mov word [r12 + 0x22a8], ax
mov byte [r12 + 0x22aa], al
mov qword [r12 + 0x22ab], rax
mov word [r12 + 0x22b3], ax
mov byte [r12 + 0x22b5], al
lea rcx, [r12 + 0x22c8]
call fcn.140049c00
nop
mov qword [r12 + 0x2308], r15
mov qword [r12 + 0x2310], r15
lea rcx, [r12 + 0x2318]
call fcn.1401d48c0
nop
mov qword [r12 + 0x2350], r15
mov qword [r12 + 0x2358], r15
mov qword [r12 + 0x2360], r15
mov qword [r12 + 0x2368], r15
mov qword [r12 + 0x2370], r15
mov qword [r12 + 0x2378], r15
lea rcx, [r12 + 0x2380]
xor edx, edx
call fcn.14002e2a0
lea rcx, [r12 + 0x2388]
xor edx, edx
call fcn.14002e2a0
lea rcx, [r12 + 0x2390]
call fcn.1400492d0
nop
lea rcx, [r12 + 0x23a8]
call fcn.140011890
lea rcx, [r12 + 0x23f8]
call fcn.1400072b0
nop
mov dword [r12 + 0x2440], r15d
lea rcx, [r12 + 0x2448]
call fcn.140011890
lea rcx, [r12 + 0x2498]
call fcn.1400072b0
nop
xor eax, eax
mov qword [r12 + 0x24e0], rax
mov word [r12 + 0x24e8], ax
mov byte [r12 + 0x24ea], al
mov qword [r12 + 0x24f0], r15
mov qword [r12 + 0x24f8], r15
lea rcx, [r12 + 0x2500]
call fcn.140049c00
nop
lea rcx, [r12 + 0x2540]
call fcn.140049c00
nop
mov dword [r12 + 0x2580], r15d
lea rcx, [r12 + 0x2588]
call fcn.140049c00
nop
xor eax, eax
mov qword [r12 + 0x25c8], rax
mov word [r12 + 0x25d0], ax
mov byte [r12 + 0x25d2], al
lea rcx, [r12 + 0x25d8]
call fcn.1400492d0
nop
lea rcx, [rbp + 0x480]
call fcn.140006ac0
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x140178e31
mov rax, qword [rsi + 8]
mov rcx, qword [rcx + rax]
mov qword [rbp + 0xc80], rcx
add qword [rsi + 0x20], 8
jmp 0x140178e46
mov r8d, 8
lea rdx, [rbp + 0xc80]
mov rcx, rsi
call fcn.1401761a0
mov rax, qword [0x140db1840]
cmp eax, dword [rbp + 0xc80]
jne 0x14017faae
movzx eax, byte [0x140db1844]
cmp al, byte [rbp + 0xc84]
jne 0x14017faae
movzx ebx, byte [rbp + 0xc85]
shl ebx, 8
movzx eax, byte [rbp + 0xc86]
or ebx, eax
shl ebx, 8
movzx eax, byte [rbp + 0xc87]
or ebx, eax
mov dword [rbp - 0x80], ebx
cmp ebx, 0xb01
ja 0x14017fad3
cmp ebx, 0x900
jb 0x14017faf5
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x140178ecf
mov rax, qword [rsi + 8]
mov rcx, qword [rcx + rax]
mov qword [r12 + 0x90], rcx
add qword [rsi + 0x20], 8
jmp 0x140178ef3
mov r8d, 8
lea rdx, [rbp + 0x240]
mov rcx, rsi
call fcn.1401761a0
mov rax, qword [rbp + 0x240]
mov qword [r12 + 0x90], rax
mov dword [r12 + 0x2250], ebx
xor r8d, r8d
mov edx, 0xb
lea rcx, [0x141446a30]
call fcn.140081a20
xor r8d, r8d
xor edx, edx
lea rcx, [0x141446a40]
call fcn.140081a20
xor r8d, r8d
xor edx, edx
lea rcx, [0x141446a38]
call fcn.140081a20
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 0x35
jb 0x140178ff3
mov rax, qword [rsi + 8]
mov rcx, qword [rcx + rax]
mov qword [r12 + 0x98], rcx
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 8]
mov rcx, qword [rcx + rax + 8]
mov qword [r12 + 0xa0], rcx
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 8]
mov rcx, qword [rcx + rax + 0x10]
mov qword [r12 + 0xc30], rcx
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 8]
mov rcx, qword [rcx + rax + 0x18]
mov qword [r12 + 0xc38], rcx
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 8]
mov rcx, qword [rcx + rax + 0x20]
mov qword [r12 + 0x118], rcx
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 8]
mov rcx, qword [rcx + rax + 0x28]
mov qword [r12 + 0x120], rcx
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 8]
movzx ecx, byte [rcx + rax + 0x30]
mov byte [r12 + 0xc40], cl
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 8]
mov ecx, dword [rcx + rax + 0x31]
mov dword [r12 + 0xc44], ecx
add qword [rsi + 0x20], 0x35
jmp 0x14017907f
mov r8d, 0x35
lea rdx, [rbp + 0xf18]
mov rcx, rsi
call fcn.1401761a0
mov rax, qword [rbp + 0xf18]
mov qword [r12 + 0x98], rax
mov rax, qword [rbp + 0xf20]
mov qword [r12 + 0xa0], rax
mov rax, qword [rbp + 0xf28]
mov qword [r12 + 0xc30], rax
mov rax, qword [rbp + 0xf30]
mov qword [r12 + 0xc38], rax
mov rax, qword [rbp + 0xf38]
mov qword [r12 + 0x118], rax
mov rax, qword [rbp + 0xf40]
mov qword [r12 + 0x120], rax
movzx eax, byte [rbp + 0xf48]
mov byte [r12 + 0xc40], al
mov eax, dword [rbp + 0xf49]
mov dword [r12 + 0xc44], eax
lea rdx, [r12 + 0xc48]
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 0xc
jb 0x1401790b4
mov rax, qword [rsi + 8]
vmovsd xmm0, qword [rax + rcx]
vmovsd qword [rdx], xmm0
mov eax, dword [rax + rcx + 8]
mov dword [rdx + 8], eax
add qword [rsi + 0x20], 0xc
jmp 0x1401790c2
mov r8d, recv
mov rcx, rsi
call fcn.1401761a0
mov byte [r12 + 0xc54], 0
mov edx, 1
mov qword [rbp + 0x68], rdx
cmp ebx, 0x902
jb 0x140179118
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, rdx
jb 0x140179101
mov rax, qword [rsi + 8]
movzx edx, byte [rcx + rax]
lea rax, [rcx + 1]
mov qword [rsi + 0x20], rax
test dl, dl
jmp 0x140179121
mov r8, rdx
lea rdx, [rbp - 0x70]
mov rcx, rsi
call fcn.1401761a0
movzx edx, byte [rbp - 0x70]
test dl, dl
jmp 0x140179121
cmp qword [r12 + 0xc38], 0
setne al
mov byte [r12 + 0x144], al
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x140179150
mov rax, qword [rsi + 8]
mov rbx, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017916c
mov r8d, 8
lea rdx, [rbp + 0x248]
mov rcx, rsi
call fcn.1401761a0
mov rbx, qword [rbp + 0x248]
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
mov r8, rbx
cmp rbx, rax
ja 0x140179199
mov rdx, qword [rsi + 8]
add rdx, rcx
lea rcx, [rbp + 0x11b0]
call sub.VCRUNTIME140.dll_memcpy
add qword [rsi + 0x20], rbx
jmp 0x1401791a8
lea rdx, [rbp + 0x11b0]
mov rcx, rsi
call fcn.1401761a0
lea rcx, [rbp - 0x56]
call fcn.1400033b0
lea r8, [rbp + 0x11b0]
add r8, rbx
mov r9, rax
lea rdx, [rbp + 0x11b0]
lea rcx, [rbp + 0xac0]
call fcn.1400037e0
mov rdx, rax
lea rcx, [r12 + 0xa8]
call fcn.14001bd50
lea rcx, [rbp + 0xac0]
call fcn.1400033a0
lea rcx, [r12 + 0xa8]
call fcn.14001bcf0
test al, al
je 0x140179216
mov rcx, rsi
call fcn.140077a90
mov rdx, rax
lea rcx, [r12 + 0xa8]
call fcn.14001bd20
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017923a
mov rax, qword [rsi + 8]
mov rbx, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x140179256
mov r8d, 8
lea rdx, [rbp + 0x250]
mov rcx, rsi
call fcn.1401761a0
mov rbx, qword [rbp + 0x250]
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
mov r8, rbx
cmp rbx, rax
ja 0x140179283
mov rdx, qword [rsi + 8]
add rdx, rcx
lea rcx, [rbp + 0x15b0]
call sub.VCRUNTIME140.dll_memcpy
add qword [rsi + 0x20], rbx
jmp 0x140179292
lea rdx, [rbp + 0x15b0]
mov rcx, rsi
call fcn.1401761a0
lea rcx, [rbp - 0x55]
call fcn.1400033b0
lea r8, [rbp + 0x15b0]
add r8, rbx
mov r9, rax
lea rdx, [rbp + 0x15b0]
lea rcx, [rbp + 0xae0]
call fcn.1400037e0
lea rcx, [r12 + 0xc8]
mov rdx, rax
call fcn.14001bd50
lea rcx, [rbp + 0xae0]
call fcn.1400033a0
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x140179300
mov rax, qword [rsi + 8]
mov rcx, qword [rcx + rax]
mov qword [r12 + 0xe8], rcx
add qword [rsi + 0x20], 8
jmp 0x140179324
mov r8d, 8
lea rdx, [rbp + 0x258]
mov rcx, rsi
call fcn.1401761a0
mov rax, qword [rbp + 0x258]
mov qword [r12 + 0xe8], rax
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017934d
mov rax, qword [rsi + 8]
mov rcx, qword [rcx + rax]
mov qword [r12 + 0xf0], rcx
add qword [rsi + 0x20], 8
jmp 0x140179371
mov r8d, 8
lea rdx, [rbp + 0x260]
mov rcx, rsi
call fcn.1401761a0
mov rax, qword [rbp + 0x260]
mov qword [r12 + 0xf0], rax
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x140179395
mov rax, qword [rsi + 8]
mov rbx, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x1401793b1
mov r8d, 8
lea rdx, [rbp + 0x268]
mov rcx, rsi
call fcn.1401761a0
mov rbx, qword [rbp + 0x268]
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
mov r8, rbx
cmp rbx, rax
ja 0x1401793de
mov rdx, qword [rsi + 8]
add rdx, rcx
lea rcx, [rbp + 0x19b0]
call sub.VCRUNTIME140.dll_memcpy
add qword [rsi + 0x20], rbx
jmp 0x1401793ed
lea rdx, [rbp + 0x19b0]
mov rcx, rsi
call fcn.1401761a0
lea rcx, [rbp - 0x54]
call fcn.1400033b0
lea r8, [rbp + 0x19b0]
add r8, rbx
mov r9, rax
lea rdx, [rbp + 0x19b0]
lea rcx, [rbp + 0xb00]
call fcn.1400037e0
lea rcx, [r12 + 0xf8]
mov rdx, rax
call fcn.14001bd50
lea rcx, [rbp + 0xb00]
call fcn.1400033a0
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x140179456
mov rax, qword [rsi + 8]
mov rbx, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x140179472
mov r8d, 8
lea rdx, [rbp + 0x270]
mov rcx, rsi
call fcn.1401761a0
mov rbx, qword [rbp + 0x270]
mov qword [rsp + 0x60], rbx
lea rdi, [r12 + 0x2088]
mov qword [rbp - 0x78], rdi
mov rdx, rbx
mov rcx, rdi
call fcn.1401ab840
test rbx, rbx
je 0x140179697
nop word [rax + rax]
mov rdx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rdx
cmp rax, 0xc
jb 0x1401794cb
mov rcx, qword [rsi + 8]
mov eax, dword [rdx + rcx]
mov dword [rbp - 0x44], eax
mov r12, qword [rdx + rcx + 4]
lea rax, [rdx + 0xc]
mov qword [rsi + 0x20], rax
jmp 0x1401794f0
mov r8d, recv
lea rdx, [rbp + 0xd90]
mov rcx, rsi
call fcn.1401761a0
mov eax, dword [rbp + 0xd90]
mov dword [rbp - 0x44], eax
mov r12, qword [rbp + 0xd94]
lea rcx, [rbp + 0x978]
call fcn.140049c00
nop
mov r9, rax
lea r8, [rbp - 0x44]
lea rdx, [rbp + 0x8a0]
mov rcx, rdi
call fcn.1401b04f0
mov rcx, rax
call fcn.1400072a0
mov r13, rax
lea rcx, [rbp + 0x978]
call fcn.1401aacc0
mov rdx, r12
lea rcx, [r13 + 8]
call fcn.1401aab00
test r12, r12
je 0x140179683
nop
mov rdx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rdx
cmp rax, 0xc
jb 0x14017956b
mov rcx, qword [rsi + 8]
mov eax, dword [rcx + rdx]
mov dword [rbp - 0x40], eax
mov rdi, qword [rcx + rdx + 4]
lea rax, [rdx + 0xc]
mov qword [rsi + 0x20], rax
jmp 0x140179590
mov r8d, recv
lea rdx, [rbp + 0xd80]
mov rcx, rsi
call fcn.1401761a0
mov eax, dword [rbp + 0xd80]
mov dword [rbp - 0x40], eax
mov rdi, qword [rbp + 0xd84]
lea rcx, [rbp + 0x5e0]
call fcn.1400492d0
nop
mov r9, rax
lea r8, [rbp - 0x40]
lea rdx, [rbp + 0x8b8]
lea rcx, [r13 + 8]
call fcn.1401b05f0
mov rcx, rax
call fcn.1400072a0
mov rbx, rax
lea rcx, [rbp + 0x5e0]
call fcn.1400492c0
mov rdx, rdi
lea rcx, [rbx + 8]
call fcn.140049280
test rdi, rdi
je 0x140179675
mov r15, qword [rsp + 0x40]
nop word [rax + rax]
mov rdx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rdx
cmp rax, 4
jb 0x140179616
mov rax, qword [rsi + 8]
mov ecx, dword [rdx + rax]
mov dword [rbp - 0x3c], ecx
lea rax, [rdx + 4]
mov qword [rsi + 0x20], rax
jmp 0x14017962e
mov r8d, 4
lea rdx, [rbp + 0x28]
mov rcx, rsi
call fcn.1401761a0
mov eax, dword [rbp + 0x28]
mov dword [rbp - 0x3c], eax
lea rdx, [rbp - 0x3c]
lea rcx, [rbx + 8]
call fcn.140064d10
mov eax, dword [rbp - 0x44]
mov dword [rbp + 0xa0], eax
mov eax, dword [rbp - 0x40]
mov dword [rbp + 0xa4], eax
lea r9, [rbp + 0xa0]
lea r8, [rbp - 0x3c]
lea rdx, [rbp + 0x8d0]
lea rcx, [r15 + 0x20c8]
call fcn.1401b0790
sub rdi, 1
jne 0x1401795f0
sub r12, 1
jne 0x140179540
mov rdi, qword [rbp - 0x78]
sub qword [rsp + 0x60], 1
jne 0x1401794a0
mov r12, qword [rsp + 0x40]
xor r15d, r15d
lea rdx, [r12 + 0x1439]
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 0x1c
jb 0x1401796d7
mov rax, qword [rsi + 8]
vmovups xmm0, xmmword [rax + rcx]
vmovups xmmword [rdx], xmm0
vmovsd xmm1, qword [rax + rcx + 0x10]
vmovsd qword [rdx + 0x10], xmm1
mov eax, dword [rax + rcx + 0x18]
mov dword [rdx + 0x18], eax
add qword [rsi + 0x20], 0x1c
jmp 0x1401796e5
mov r8d, 0x1c
mov rcx, rsi
call fcn.1401761a0
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x140179709
mov rax, qword [rsi + 8]
mov rdi, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x140179725
mov r8d, 8
lea rdx, [rbp + 0x278]
mov rcx, rsi
call fcn.1401761a0
mov rdi, qword [rbp + 0x278]
mov qword [rsp + 0x60], rdi
lea r13, [r12 + 0x960]
mov qword [rbp - 0x78], r13
or byte [r12 + 0x9f2], 0x7f
mov dword [r12 + 0x9ee], edi
mov ebx, edi
shl rbx, 3
mov edx, dword [r13 + 8]
mov ecx, edx
lea rax, [rbx + rdx]
cmp rax, 0x4000000
ja 0x14017976c
add rcx, qword [r13]
lea eax, [rdx + rbx]
mov dword [r13 + 8], eax
jmp 0x1401797d0
cmp rbx, 0x4000000
ja 0x140179794
mov eax, 0x4000000
sub rax, rcx
cmp rax, 0x400
ja 0x140179794
mov edx, ebx
mov rcx, r13
call fcn.1401ad8a0
mov rcx, rax
jmp 0x1401797d0
xor r8d, r8d
mov rdx, rbx
lea rcx, [0x141443c50]
call fcn.14004a120
add qword [r13 + 0x28], rbx
mov rcx, rbx
call fcn.1403f4de8
mov qword [rbp + 0xa8], rax
lea rcx, [r13 + 0x10]
lea rdx, [rbp + 0xa8]
call fcn.1401ab100
mov rcx, qword [rbp + 0xa8]
mov rax, rcx
shr rax, 0x20
mov dword [r12 + 0x9e8], ecx
mov word [r12 + 0x9ec], ax
mov qword [rsp + 0x68], r15
test rdi, rdi
je 0x140179c07
nop word [rax + rax]
mov ecx, dword [r13 + 8]
lea rax, [rcx + 0x38]
cmp rax, 0x4000000
jbe 0x140179822
mov edx, 0x38
mov rcx, r13
call fcn.1401ad8a0
mov rdi, rax
jmp 0x140179830
mov rdi, qword [r13]
add rdi, rcx
lea eax, [rcx + 0x38]
mov dword [r13 + 8], eax
mov rdx, rdi
mov ecx, 0x38
call fcn.140002a90
mov rcx, rax
call fcn.1401b04b0
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 0x11
jb 0x140179889
mov rax, qword [rsi + 8]
mov rcx, qword [rcx + rax]
mov qword [rdi], rcx
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 8]
movzx ecx, byte [rcx + rax + 8]
mov byte [rdi + 0x13], cl
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 8]
mov r12, qword [rcx + rax + 9]
lea rax, [rcx + 0x11]
mov qword [rsi + 0x20], rax
jmp 0x1401798b9
mov r8d, reloc.WS2_32.dll_recvfrom
lea rdx, [rbp + 0xda0]
mov rcx, rsi
call fcn.1401761a0
mov rax, qword [rbp + 0xda0]
mov qword [rdi], rax
movzx eax, byte [rbp + 0xda8]
mov byte [rdi + 0x13], al
mov r12, qword [rbp + 0xda9]
mov qword [rsp + 0x50], r12
or byte [rdi + 0x12], 0x7f
mov dword [rdi + 0xe], r12d
mov eax, r12d
lea rbx, [rax + rax*4]
shl rbx, 2
mov edx, dword [r13 + 8]
mov ecx, edx
lea rax, [rdx + rbx]
cmp rax, 0x4000000
ja 0x1401798f0
add rcx, qword [r13]
lea eax, [rdx + rbx]
mov dword [r13 + 8], eax
jmp 0x140179954
cmp rbx, 0x4000000
ja 0x140179918
mov eax, 0x4000000
sub rax, rcx
cmp rax, 0x400
ja 0x140179918
mov edx, ebx
mov rcx, r13
call fcn.1401ad8a0
mov rcx, rax
jmp 0x140179954
xor r8d, r8d
mov rdx, rbx
lea rcx, [0x141443c50]
call fcn.14004a120
add qword [r13 + 0x28], rbx
mov rcx, rbx
call fcn.1403f4de8
mov qword [rbp + 0xb0], rax
lea rcx, [r13 + 0x10]
lea rdx, [rbp + 0xb0]
call fcn.1401ab100
mov rcx, qword [rbp + 0xb0]
mov rax, rcx
shr rax, 0x20
mov dword [rdi + 8], ecx
mov word [rdi + 0xc], ax
mov rbx, r15
test r12, r12
je 0x140179bce
cmp byte [rdi + 0x13], 0
je 0x140179a50
nop dword [rax + rax]
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x1401799a4
mov rax, qword [rsi + 8]
mov rdx, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x1401799c0
mov r8d, 8
lea rdx, [rbp + 0x280]
mov rcx, rsi
call fcn.1401761a0
mov rdx, qword [rbp + 0x280]
add rbx, rdx
movzx ecx, word [rdi + 0xc]
shl rcx, 0x20
mov eax, dword [rdi + 8]
or rcx, rax
mov qword [rcx + r15], rbx
movzx ecx, word [rdi + 0xc]
shl rcx, 0x20
mov eax, dword [rdi + 8]
or rcx, rax
mov qword [rcx + r15 + 8], 0xffffffffffffffff
movzx edx, word [rdi + 0xc]
shl rdx, 0x20
mov eax, dword [rdi + 8]
or rdx, rax
add rdx, 0x10
add rdx, r15
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 4
jb 0x140179a23
mov rax, qword [rsi + 8]
mov ecx, dword [rcx + rax]
mov dword [rdx], ecx
add qword [rsi + 0x20], 4
jmp 0x140179a31
mov r8d, 4
mov rcx, rsi
call fcn.1401761a0
add r15, 0x14
sub r12, 1
jne 0x140179980
jmp 0x140179b4e
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x140179a74
mov rax, qword [rsi + 8]
mov rdx, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x140179a90
mov r8d, 8
lea rdx, [rbp + 0x288]
mov rcx, rsi
call fcn.1401761a0
mov rdx, qword [rbp + 0x288]
add rbx, rdx
movzx ecx, word [rdi + 0xc]
shl rcx, 0x20
mov eax, dword [rdi + 8]
or rcx, rax
mov qword [rcx + r15], rbx
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x140179ac9
mov rax, qword [rsi + 8]
mov rdx, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x140179ae5
mov r8d, 8
lea rdx, [rbp + 0x290]
mov rcx, rsi
call fcn.1401761a0
mov rdx, qword [rbp + 0x290]
add rbx, rdx
movzx ecx, word [rdi + 0xc]
shl rcx, 0x20
mov eax, dword [rdi + 8]
or rcx, rax
mov qword [rcx + r15 + 8], rbx
movzx edx, word [rdi + 0xc]
shl rdx, 0x20
mov eax, dword [rdi + 8]
or rdx, rax
add rdx, 0x10
add rdx, r15
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 4
jb 0x140179b32
mov rax, qword [rsi + 8]
mov ecx, dword [rcx + rax]
mov dword [rdx], ecx
add qword [rsi + 0x20], 4
jmp 0x140179b40
mov r8d, 4
mov rcx, rsi
call fcn.1401761a0
add r15, 0x14
sub r12, 1
jne 0x140179a50
xor r15d, r15d
mov r12, qword [rsp + 0x50]
mov r13, qword [rsp + 0x40]
nop dword [rax + rax]
mov r8, r15
mov rdx, rdi
mov rcx, r13
call fcn.140184370
mov qword [rbp - 0x10], rax
test rax, rax
jle 0x140179bbf
lea rdx, [rbp - 0x10]
lea rcx, [rdi + 0x18]
call fcn.14004a5f0
mov rcx, qword [rax]
mov qword [rdi + 0x18], rcx
lea rdx, [rbp - 0x10]
lea rcx, [rdi + 0x20]
call fcn.140061970
mov rcx, qword [rax]
mov qword [rdi + 0x20], rcx
mov rax, qword [rbp - 0x10]
add qword [rdi + 0x28], rax
vxorps xmm0, xmm0, xmm0
vcvtsi2sd xmm0, xmm0, qword [rbp - 0x10]
vmulsd xmm0, xmm0, xmm0
vaddsd xmm1, xmm0, qword [rdi + 0x30]
vmovsd qword [rdi + 0x30], xmm1
inc r15
cmp r15, r12
jb 0x140179b60
mov r13, qword [rbp - 0x78]
xor r15d, r15d
mov r12, qword [rsp + 0x40]
movzx ecx, word [r12 + 0x9ec]
shl rcx, 0x20
mov eax, dword [r12 + 0x9e8]
or rcx, rax
mov r8, qword [rsp + 0x68]
mov qword [rcx + r8*8], rdi
inc r8
mov qword [rsp + 0x68], r8
cmp r8, qword [rsp + 0x60]
jb 0x140179800
movzx ecx, word [r12 + 0x9ec]
shl rcx, 0x20
mov eax, dword [r12 + 0x9e8]
or rcx, rax
mov rax, qword [rcx]
mov qword [r12 + 0xab8], rax
lea rcx, [rbp + 0x550]
call fcn.140049c00
nop
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x140179c5b
mov rax, qword [rsi + 8]
mov r15, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x140179c77
mov r8d, 8
lea rdx, [rbp + 0x298]
mov rcx, rsi
call fcn.1401761a0
mov r15, qword [rbp + 0x298]
lea rcx, [r12 + 0xca8]
mov rdx, r15
call fcn.1401acc80
cmp byte [r12 + 0x14b], 0
jne 0x140179d4e
lea rdi, [r12 + 0x960]
or byte [r12 + 0xca2], 0x7f
mov dword [r12 + 0xc9e], r15d
mov ebx, r15d
shl rbx, 3
mov edx, dword [rdi + 8]
mov ecx, edx
lea rax, [rbx + rdx]
cmp rax, 0x4000000
ja 0x140179cd2
add rcx, qword [rdi]
lea eax, [rdx + rbx]
mov dword [rdi + 8], eax
jmp 0x140179d36
cmp rbx, 0x4000000
ja 0x140179cfa
mov eax, 0x4000000
sub rax, rcx
cmp rax, 0x400
ja 0x140179cfa
mov edx, ebx
mov rcx, rdi
call fcn.1401ad8a0
mov rcx, rax
jmp 0x140179d36
xor r8d, r8d
mov rdx, rbx
lea rcx, [0x141443c50]
call fcn.14004a120
add qword [rdi + 0x28], rbx
mov rcx, rbx
call fcn.1403f4de8
mov qword [rbp + 0xb8], rax
lea rcx, [rdi + 0x10]
lea rdx, [rbp + 0xb8]
call fcn.1401ab100
mov rcx, qword [rbp + 0xb8]
mov rax, rcx
shr rax, 0x20
mov dword [r12 + 0xc98], ecx
mov word [r12 + 0xc9c], ax
xor r13d, r13d
mov qword [rbp - 8], r13
test r15, r15
je 0x140179f2f
mov r13, qword [rsp + 0x40]
lea rbx, [r13 + 0xc98]
nop word [rax + rax]
mov rdx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rdx
cmp rax, 0x10
jb 0x140179da0
mov rcx, qword [rsi + 8]
mov rax, qword [rcx + rdx]
mov qword [rbp + 0xc0], rax
mov rdi, qword [rcx + rdx + 8]
lea rax, [rdx + 0x10]
mov qword [rsi + 0x20], rax
jmp 0x140179dca
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rbp + 0xe68]
mov rcx, rsi
call fcn.1401761a0
mov rax, qword [rbp + 0xe68]
mov qword [rbp + 0xc0], rax
mov rdi, qword [rbp + 0xe70]
lea rdx, [rdi + 1]
mov r8d, dword [r12 + 0x968]
mov ecx, r8d
lea rax, [rdx + r8]
cmp rax, 0x4000000
jbe 0x140179df7
lea rcx, [r12 + 0x960]
call fcn.1401ad8a0
mov rcx, rax
jmp 0x140179e0b
add rcx, qword [r12 + 0x960]
lea eax, [rdx + r8]
mov dword [r12 + 0x968], eax
mov qword [rbp - 0x20], rcx
mov rdx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rdx
mov r8, rdi
cmp rdi, rax
ja 0x140179e32
add rdx, qword [rsi + 8]
call sub.VCRUNTIME140.dll_memcpy
add qword [rsi + 0x20], rdi
jmp 0x140179e3d
mov rdx, rcx
mov rcx, rsi
call fcn.1401761a0
mov rax, qword [rbp - 0x20]
mov byte [rax + rdi], 0
mov rax, qword [rbp - 0x20]
mov qword [rbp + 0x518], rax
mov qword [rbp + 0x520], rdi
lea r9, [rbp - 8]
lea r8, [rbp + 0x518]
lea rdx, [rbp + 0x8e8]
lea rcx, [r12 + 0xca8]
call fcn.1401b0850
mov eax, dword [rbx]
cmp byte [r13 + 0x14b], 0
je 0x140179ede
movzx ecx, word [rbx + 4]
shl rcx, 0x20
or rcx, rax
jne 0x140179e93
xor eax, eax
jmp 0x140179ea4
movzx eax, byte [rbx + 0xa]
and eax, 0x7f
mov ecx, 1
shlx eax, ecx, eax
cmp dword [rbx + 6], eax
jne 0x140179eb1
mov rcx, rbx
call fcn.140111ff0
movzx ecx, word [rbx + 4]
shl rcx, 0x20
mov eax, dword [rbx]
or rcx, rax
mov eax, dword [rbx + 6]
lea rdx, [rcx + rax*8]
mov ecx, 8
call fcn.140002a90
mov rcx, rax
mov rax, qword [rbp - 0x20]
mov qword [rcx], rax
inc dword [rbx + 6]
jmp 0x140179ef5
movzx edx, word [rbx + 4]
shl rdx, 0x20
or rdx, rax
mov rcx, qword [rbp - 8]
mov rax, qword [rbp - 0x20]
mov qword [rdx + rcx*8], rax
lea r9, [rbp - 0x20]
lea r8, [rbp + 0xc0]
lea rdx, [rbp + 0x7f8]
lea rcx, [rbp + 0x550]
call fcn.1401b0910
mov rax, qword [rbp - 8]
inc rax
mov qword [rbp - 8], rax
cmp rax, r15
jb 0x140179d70
mov r12, qword [rsp + 0x40]
xor r13d, r13d
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x140179f53
mov rax, qword [rsi + 8]
mov rdi, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x140179f6f
mov r8d, 8
lea rdx, [rbp + 0x2a0]
mov rcx, rsi
call fcn.1401761a0
mov rdi, qword [rbp + 0x2a0]
test rdi, rdi
je 0x14017a05d
nop dword [rax + rax]
mov rdx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rdx
cmp rax, 0x10
jb 0x140179fb7
mov rcx, qword [rsi + 8]
mov rax, qword [rcx + rdx]
mov qword [rbp + 0xd0], rax
mov rax, qword [rcx + rdx + 8]
mov qword [rbp + 0xc8], rax
lea rax, [rdx + 0x10]
mov qword [rsi + 0x20], rax
jmp 0x140179fe8
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rbp + 0xe78]
mov rcx, rsi
call fcn.1401761a0
mov rax, qword [rbp + 0xe78]
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xe80]
mov qword [rbp + 0xc8], rax
lea r8, [rbp + 0xc8]
lea rdx, [rbp + 0x498]
lea rcx, [rbp + 0x550]
call fcn.1401acd30
lea rdx, [rbp + 0x698]
lea rcx, [rbp + 0x550]
call fcn.1400ca0a0
mov rdx, rax
lea rcx, [rbp + 0x498]
call fcn.1400cb1f0
test al, al
je 0x14017a053
lea rcx, [rbp + 0x498]
call fcn.1400072a0
lea r9, [rax + 8]
lea r8, [rbp + 0xd0]
lea rdx, [rbp + 0x840]
lea rcx, [r12 + 0xc58]
call fcn.1401b0910
sub rdi, 1
jne 0x140179f80
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017a081
mov rax, qword [rsi + 8]
mov rdi, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017a09d
mov r8d, 8
lea rdx, [rbp + 0x2a8]
mov rcx, rsi
call fcn.1401761a0
mov rdi, qword [rbp + 0x2a8]
test rdi, rdi
je 0x14017a18d
nop word [rax + rax]
mov rdx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rdx
cmp rax, 0x10
jb 0x14017a0e7
mov rcx, qword [rsi + 8]
mov rax, qword [rcx + rdx]
mov qword [rbp + 0xe0], rax
mov rax, qword [rcx + rdx + 8]
mov qword [rbp + 0xd8], rax
lea rax, [rdx + 0x10]
mov qword [rsi + 0x20], rax
jmp 0x14017a118
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rbp + 0xf08]
mov rcx, rsi
call fcn.1401761a0
mov rax, qword [rbp + 0xf08]
mov qword [rbp + 0xe0], rax
mov rax, qword [rbp + 0xf10]
mov qword [rbp + 0xd8], rax
lea r8, [rbp + 0xd8]
lea rdx, [rbp + 0x4b8]
lea rcx, [rbp + 0x550]
call fcn.1401acd30
lea rdx, [rbp + 0x688]
lea rcx, [rbp + 0x550]
call fcn.1400ca0a0
mov rdx, rax
lea rcx, [rbp + 0x4b8]
call fcn.1400cb1f0
test al, al
je 0x14017a183
lea rcx, [rbp + 0x4b8]
call fcn.1400072a0
lea r9, [rax + 8]
lea r8, [rbp + 0xe0]
lea rdx, [rbp + 0x810]
lea rcx, [r12 + 0xce8]
call fcn.1401b0910
sub rdi, 1
jne 0x14017a0b0
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017a1b1
mov rax, qword [rsi + 8]
mov r14, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017a1cd
mov r8d, 8
lea rdx, [rbp + 0x2b0]
mov rcx, rsi
call fcn.1401761a0
mov r14, qword [rbp + 0x2b0]
test r14, r14
je 0x14017a339
nop word [rax + rax]
mov rdx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rdx
cmp rax, 0x18
jb 0x14017a223
mov rcx, qword [rsi + 8]
mov rax, qword [rcx + rdx]
mov qword [rbp + 0xf8], rax
mov rax, qword [rcx + rdx + 8]
mov qword [rbp + 0xe8], rax
mov rax, qword [rcx + rdx + 0x10]
mov qword [rbp + 0xf0], rax
lea rax, [rdx + 0x18]
mov qword [rsi + 0x20], rax
jmp 0x14017a262
mov r8d, 0x18
lea rdx, [rbp + 0xf60]
mov rcx, rsi
call fcn.1401761a0
mov rax, qword [rbp + 0xf60]
mov qword [rbp + 0xf8], rax
mov rax, qword [rbp + 0xf68]
mov qword [rbp + 0xe8], rax
mov rax, qword [rbp + 0xf70]
mov qword [rbp + 0xf0], rax
lea r8, [rbp + 0xe8]
lea rdx, [rbp + 0x4d8]
lea rcx, [rbp + 0x550]
call fcn.1401acd30
lea r8, [rbp + 0xf0]
lea rdx, [rbp + 0x4c8]
lea rcx, [rbp + 0x550]
call fcn.1401acd30
lea rdx, [rbp + 0x638]
lea rcx, [rbp + 0x550]
call fcn.1400ca0a0
mov rdx, rax
lea rcx, [rbp + 0x4d8]
call fcn.1400cb1f0
test al, al
je 0x14017a32f
lea rdx, [rbp + 0x628]
lea rcx, [rbp + 0x550]
call fcn.1400ca0a0
mov rdx, rax
lea rcx, [rbp + 0x4c8]
call fcn.1400cb1f0
test al, al
je 0x14017a32f
lea rcx, [rbp + 0x4c8]
call fcn.1400072a0
mov rbx, rax
lea rcx, [rbp + 0x4d8]
call fcn.1400072a0
lea rdx, [rax + 8]
lea r8, [rbx + 8]
lea rcx, [rbp + 0x6a8]
call fcn.1401b09d0
mov r9, rax
lea r8, [rbp + 0xf8]
lea rdx, [rbp + 0x7e0]
lea rcx, [r12 + 0xd28]
call fcn.1401b09f0
sub r14, 1
jne 0x14017a1e0
lea rcx, [r12 + 0x12e8]
mov rdx, rsi
call fcn.1401d4e20
lea rcx, [r12 + 0x1348]
mov rdx, rsi
call fcn.1401d4e20
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017a37d
mov rax, qword [rsi + 8]
mov rbx, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017a399
mov r8d, 8
lea rdx, [rbp + 0x2b8]
mov rcx, rsi
call fcn.1401761a0
mov rbx, qword [rbp + 0x2b8]
call fcn.140176190
movsx rdx, ax
cmp rbx, rdx
ja 0x14017fb17
test rbx, rbx
je 0x14017a4a6
nop dword [rax]
nop dword [rax + rax]
mov rdx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rdx
cmp rax, 8
jb 0x14017a3eb
mov rax, qword [rsi + 8]
mov rcx, qword [rdx + rax]
mov qword [rbp + 0x100], rcx
lea rax, [rdx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017a40e
mov r8d, 8
lea rdx, [rbp + 0x2c0]
mov rcx, rsi
call fcn.1401761a0
mov rax, qword [rbp + 0x2c0]
mov qword [rbp + 0x100], rax
lea rcx, [rbp + 0x528]
call fcn.1401aa2b0
mov rdx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rdx
cmp rax, 0x23
jb 0x14017a45b
mov rcx, qword [rsi + 8]
vmovups ymm0, ymmword [rcx + rdx]
vmovups ymmword [rbp + 0x528], ymm0
movzx eax, word [rcx + rdx + 0x20]
mov word [rbp + 0x548], ax
movzx eax, byte [rcx + rdx + 0x22]
mov byte [rbp + 0x54a], al
add qword [rsi + 0x20], 0x23
jmp 0x14017a470
mov r8d, 0x23
lea rdx, [rbp + 0x528]
mov rcx, rsi
call fcn.1401761a0
mov dword [rbp + 0x54b], r13d
lea r9, [rbp + 0x528]
lea r8, [rbp + 0x100]
lea rdx, [rbp + 0x798]
lea rcx, [r12 + 0xd68]
vzeroupper
call fcn.1401b0ae0
sub rbx, 1
jne 0x14017a3c0
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017a4ca
mov rax, qword [rsi + 8]
mov r12, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017a4e6
mov r8d, 8
lea rdx, [rbp + 0x2c8]
mov rcx, rsi
call fcn.1401761a0
mov r12, qword [rbp + 0x2c8]
mov qword [rsp + 0x50], r12
mov r13, qword [rsp + 0x40]
lea rdi, [r13 + 0x960]
or byte [r13 + 0xe02], 0x7f
mov dword [r13 + 0xdfe], r12d
mov ebx, r12d
shl rbx, 3
mov edx, dword [rdi + 8]
mov ecx, edx
lea rax, [rdx + rbx]
cmp rax, 0x4000000
ja 0x14017a529
add rcx, qword [rdi]
lea eax, [rbx + rdx]
mov dword [rdi + 8], eax
jmp 0x14017a58d
cmp rbx, 0x4000000
ja 0x14017a551
mov eax, 0x4000000
sub rax, rcx
cmp rax, 0x400
ja 0x14017a551
mov edx, ebx
mov rcx, rdi
call fcn.1401ad8a0
mov rcx, rax
jmp 0x14017a58d
xor r8d, r8d
mov rdx, rbx
lea rcx, [0x141443c50]
call fcn.14004a120
add qword [rdi + 0x28], rbx
mov rcx, rbx
call fcn.1403f4de8
mov qword [rbp + 0x108], rax
lea rcx, [rdi + 0x10]
lea rdx, [rbp + 0x108]
call fcn.1401ab100
mov rcx, qword [rbp + 0x108]
mov rax, rcx
shr rax, 0x20
mov dword [r13 + 0xdf8], ecx
mov word [r13 + 0xdfc], ax
lea rbx, [r12*8]
movzx ecx, ax
shl rcx, 0x20
mov eax, dword [r13 + 0xdf8]
or rcx, rax
mov rdx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rdx
mov r8, rbx
cmp rbx, rax
ja 0x14017a5df
add rdx, qword [rsi + 8]
call sub.VCRUNTIME140.dll_memcpy
add qword [rsi + 0x20], rbx
jmp 0x14017a5ea
mov rdx, rcx
mov rcx, rsi
call fcn.1401761a0
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017a60e
mov rax, qword [rsi + 8]
mov r15, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017a62a
mov r8d, 8
lea rdx, [rbp + 0x2d0]
mov rcx, rsi
call fcn.1401761a0
mov r15, qword [rbp + 0x2d0]
cmp r15, 0x7fff
ja 0x14017fa58
lea rdi, [r13 + 0x960]
or byte [r13 + 0xdb2], 0x7f
mov dword [r13 + 0xdae], r15d
mov eax, r15d
lea rbx, [rax + rax*2]
add rbx, rbx
mov edx, dword [rdi + 8]
mov ecx, edx
lea rax, [rdx + rbx]
cmp rax, 0x4000000
ja 0x14017a673
add rcx, qword [rdi]
lea eax, [rbx + rdx]
mov dword [rdi + 8], eax
jmp 0x14017a6d7
cmp rbx, 0x4000000
ja 0x14017a69b
mov eax, 0x4000000
sub rax, rcx
cmp rax, 0x400
ja 0x14017a69b
mov edx, ebx
mov rcx, rdi
call fcn.1401ad8a0
mov rcx, rax
jmp 0x14017a6d7
xor r8d, r8d
mov rdx, rbx
lea rcx, [0x141443c50]
call fcn.14004a120
add qword [rdi + 0x28], rbx
mov rcx, rbx
call fcn.1403f4de8
mov qword [rbp + 0x110], rax
lea rcx, [rdi + 0x10]
lea rdx, [rbp + 0x110]
call fcn.1401ab100
mov rcx, qword [rbp + 0x110]
mov rax, rcx
shr rax, 0x20
mov dword [r13 + 0xda8], ecx
mov word [r13 + 0xdac], ax
xor eax, eax
mov r14d, eax
test r15, r15
je 0x14017a7fe
mov edi, eax
mov r12, qword [rsp + 0x40]
mov ecx, dword [r13 + 0x968]
mov edx, ecx
lea rax, [rcx + 0x27]
cmp rax, 0x4000000
jbe 0x14017a72d
mov edx, 0x27
lea rcx, [r13 + 0x960]
call fcn.1401ad8a0
mov rdx, rax
jmp 0x14017a73e
add rdx, qword [r13 + 0x960]
lea eax, [rcx + 0x27]
mov dword [r13 + 0x968], eax
mov qword [rbp + 0x58], rdx
mov r8, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, r8
cmp rax, 0x23
jb 0x14017a77c
mov rcx, qword [rsi + 8]
vmovups ymm0, ymmword [rcx + r8]
vmovups ymmword [rdx], ymm0
movzx eax, word [rcx + r8 + 0x20]
mov word [rdx + 0x20], ax
movzx eax, byte [rcx + r8 + 0x22]
mov byte [rdx + 0x22], al
add qword [rsi + 0x20], 0x23
jmp 0x14017a78a
mov r8d, 0x23
mov rcx, rsi
call fcn.1401761a0
mov rax, qword [rbp + 0x58]
mov dword [rax + 0x23], 0
mov rdx, qword [rbp + 0x58]
mov r8, rdx
shr r8, 0x20
movzx ecx, word [r12 + 0xdac]
shl rcx, 0x20
mov eax, dword [r12 + 0xda8]
or rcx, rax
mov dword [rcx + rdi], edx
mov word [rcx + rdi + 4], r8w
mov word [rbp - 0x52], r14w
lea r9, [rbp - 0x52]
lea r8, [rbp + 0x58]
lea rdx, [rbp + 0x780]
lea rcx, [r13 + 0xdb8]
vzeroupper
call fcn.1401b0bc0
inc r14
add rdi, 6
cmp r14, r15
jb 0x14017a702
mov r12, qword [rsp + 0x50]
mov r13, qword [rsp + 0x40]
lea r14, [r13 + 0xe08]
lea rdx, [r12 + r15]
xor r8d, r8d
mov rcx, r14
call fcn.1401ae110
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017a838
mov rax, qword [rsi + 8]
mov rdi, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017a854
mov r8d, 8
lea rdx, [rbp + 0x2d8]
mov rcx, rsi
call fcn.1401761a0
mov rdi, qword [rbp + 0x2d8]
test rdi, rdi
je 0x14017a964
mov r13d, 1
nop dword [rax]
nop word [rax + rax]
mov rdx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rdx
cmp rax, 0xa
jb 0x14017a89d
mov rcx, qword [rsi + 8]
movzx eax, word [rcx + rdx]
mov word [rbp - 0x60], ax
mov rbx, qword [rcx + rdx + 2]
lea rax, [rdx + 0xa]
mov qword [rsi + 0x20], rax
jmp 0x14017a8c4
mov r8d, 0xa
lea rdx, [rbp + 0xce0]
mov rcx, rsi
call fcn.1401761a0
movzx eax, word [rbp + 0xce0]
mov word [rbp - 0x60], ax
mov rbx, qword [rbp + 0xce2]
xor edx, edx
mov r8d, 0xa8
lea rcx, [rbp + 0xbd0]
call sub.VCRUNTIME140.dll_memset
lea rcx, [rbp + 0xbd0]
call fcn.140178960
nop
mov r9, rax
lea r8, [rbp - 0x60]
lea rdx, [rbp + 0x5f8]
mov rcx, r14
call fcn.1401b0c70
nop
lea rcx, [rbp + 0xc38]
call fcn.1401ad390
nop
lea rcx, [rbp + 0xbd0]
call fcn.1401aa210
mov r8, qword [rbp + 0x5f8]
test rbx, rbx
je 0x14017a955
movzx ecx, word [r8 + 0xc]
shl rcx, 0x20
mov eax, dword [r8 + 8]
or rcx, rax
jne 0x14017a937
xor eax, eax
jmp 0x14017a944
movzx eax, byte [r8 + 0x12]
and eax, 0x7f
shlx eax, r13d, eax
cmp rbx, rax
jbe 0x14017a955
mov rdx, rbx
lea rcx, [r8 + 8]
call fcn.1400ca840
sub rdi, 1
jne 0x14017a870
mov r13, qword [rsp + 0x40]
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017a988
mov rax, qword [rsi + 8]
mov rdi, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017a9a4
mov r8d, 8
lea rdx, [rbp + 0x2e0]
mov rcx, rsi
call fcn.1401761a0
mov rdi, qword [rbp + 0x2e0]
test rdi, rdi
je 0x14017aaaa
lea r14, [r13 + 0xe50]
mov r13d, 1
nop word [rax + rax]
mov rdx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rdx
cmp rax, 0xa
jb 0x14017a9ed
mov rcx, qword [rsi + 8]
movzx eax, word [rcx + rdx]
mov word [rbp - 0x5c], ax
mov rbx, qword [rcx + rdx + 2]
lea rax, [rdx + 0xa]
mov qword [rsi + 0x20], rax
jmp 0x14017aa14
mov r8d, 0xa
lea rdx, [rbp + 0xcd0]
mov rcx, rsi
call fcn.1401761a0
movzx eax, word [rbp + 0xcd0]
mov word [rbp - 0x5c], ax
mov rbx, qword [rbp + 0xcd2]
vpxor xmm0, xmm0, xmm0
vmovups ymmword [rbp + 0xa90], ymm0
vmovups xmmword [rbp + 0xab0], xmm0
lea rcx, [rbp + 0xa90]
vzeroupper
call fcn.14017fb70
nop
mov r9, rax
lea r8, [rbp - 0x5c]
lea rdx, [rbp + 0x610]
mov rcx, r14
call fcn.1401b0dc0
nop
lea rcx, [rbp + 0xa90]
call fcn.1401aa210
mov r8, qword [rbp + 0x610]
test rbx, rbx
je 0x14017aa9b
movzx ecx, word [r8 + 0xc]
shl rcx, 0x20
mov eax, dword [r8 + 8]
or rcx, rax
jne 0x14017aa7d
xor eax, eax
jmp 0x14017aa8a
movzx eax, byte [r8 + 0x12]
and eax, 0x7f
shlx eax, r13d, eax
cmp rbx, rax
jbe 0x14017aa9b
mov rdx, rbx
lea rcx, [r8 + 8]
call fcn.1400ca840
sub rdi, 1
jne 0x14017a9c0
mov r13, qword [rsp + 0x40]
xor r8d, r8d
mov edi, 1
mov edx, edi
lea rcx, [0x141446a38]
call fcn.140081a20
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017aae4
mov rax, qword [rsi + 8]
mov rbx, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017ab00
mov r8d, 8
lea rdx, [rbp + 0x2e8]
mov rcx, rsi
call fcn.1401761a0
mov rbx, qword [rbp + 0x2e8]
mov qword [rsp + 0x68], rbx
mov r15d, dword [rsp + 0x48]
test dil, r15b
je 0x14017b1a0
xor r8d, r8d
mov rdx, rbx
lea rcx, [0x141446a40]
call fcn.140081a20
xor eax, eax
mov qword [rsp + 0x50], rax
test rbx, rbx
je 0x14017b30b
lea r15, [r13 + 0x960]
lea rcx, [r13 + 0x12a8]
mov qword [rbp - 0x78], rcx
nop word [rax + rax]
xor r8d, r8d
mov rdx, rax
lea rcx, [0x141446a48]
call fcn.140081a20
mov ecx, dword [r15 + 8]
lea rax, [rcx + 0x483]
cmp rax, 0x4000000
jbe 0x14017ab87
mov edx, 0x483
mov rcx, r15
call fcn.1401ad8a0
mov rdi, rax
jmp 0x14017ab97
mov rdi, qword [r15]
add rdi, rcx
lea eax, [rcx + 0x483]
mov dword [r15 + 8], eax
mov rcx, rdi
call fcn.1401b0f80
mov qword [rbp + 0x310], rdi
mov rdx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rdx
cmp rax, 0x23
jb 0x14017ac40
mov rcx, qword [rsi + 8]
mov eax, dword [rdx + rcx]
mov dword [rbp - 0x28], eax
movzx eax, word [rdx + rcx + 4]
mov word [rdi], ax
movzx eax, byte [rdx + rcx + 6]
mov byte [rdi + 2], al
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 8]
movzx ecx, word [rcx + rax + 7]
mov word [rdi + 3], cx
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 8]
movzx ecx, byte [rcx + rax + 9]
mov byte [rdi + 0x68], cl
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 8]
movzx ecx, byte [rcx + rax + 0xa]
mov byte [rdi + 0x79], cl
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 8]
mov rcx, qword [rcx + rax + 0xb]
mov qword [rdi + 0x69], rcx
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 8]
mov rcx, qword [rcx + rax + 0x13]
mov qword [rdi + 0x71], rcx
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 8]
mov rbx, qword [rax + rcx + 0x1b]
lea rax, [rcx + 0x23]
mov qword [rsi + 0x20], rax
jmp 0x14017acae
mov r8d, 0x23
lea rdx, [rbp + 0xcf0]
mov rcx, rsi
call fcn.1401761a0
mov eax, dword [rbp + 0xcf0]
mov dword [rbp - 0x28], eax
movzx eax, word [rbp + 0xcf4]
mov word [rdi], ax
movzx eax, byte [rbp + 0xcf6]
mov byte [rdi + 2], al
movzx eax, word [rbp + 0xcf7]
mov word [rdi + 3], ax
movzx eax, byte [rbp + 0xcf9]
mov byte [rdi + 0x68], al
movzx eax, byte [rbp + 0xcfa]
mov byte [rdi + 0x79], al
mov rax, qword [rbp + 0xcfb]
mov qword [rdi + 0x69], rax
mov rax, qword [rbp + 0xd03]
mov qword [rdi + 0x71], rax
mov rbx, qword [rbp + 0xd0b]
mov byte [rdi + 0x7a], 0
xor r8d, r8d
mov rdx, rbx
lea rcx, [rdi + 0x10]
call fcn.1401adb20
mov rdx, rbx
lea rcx, [rdi + 0x50]
call fcn.140049d00
mov qword [rbp + 0x48], 0
test rbx, rbx
je 0x14017ad5d
nop
mov rdx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rdx
cmp rax, 8
jb 0x14017ad08
mov rax, qword [rsi + 8]
mov rcx, qword [rdx + rax]
mov qword [rbp + 0x70], rcx
lea rax, [rdx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017ad28
mov r8d, 8
lea rdx, [rbp + 0x2f0]
mov rcx, rsi
call fcn.1401761a0
mov rax, qword [rbp + 0x2f0]
mov qword [rbp + 0x70], rax
lea r9, [rbp + 0x48]
lea r8, [rbp + 0x70]
lea rdx, [rbp + 0x768]
lea rcx, [rdi + 0x10]
call fcn.1401b1010
lea rdx, [rbp + 0x70]
lea rcx, [rdi + 0x50]
call fcn.14004aa10
mov rax, qword [rbp + 0x48]
inc rax
mov qword [rbp + 0x48], rax
cmp rax, rbx
jb 0x14017ace0
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017ad81
mov rax, qword [rsi + 8]
mov r14, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017ad9d
mov r8d, 8
lea rdx, [rbp + 0x2f8]
mov rcx, rsi
call fcn.1401761a0
mov r14, qword [rbp + 0x2f8]
mov qword [rsp + 0x60], r14
or byte [rdi + 0xf], 0x7f
mov dword [rdi + 0xb], r14d
mov ebx, r14d
shl rbx, 4
mov edx, dword [r15 + 8]
mov ecx, edx
lea rax, [rbx + rdx]
cmp rax, 0x4000000
ja 0x14017adcf
add rcx, qword [r15]
lea eax, [rbx + rdx]
mov dword [r15 + 8], eax
jmp 0x14017ae33
cmp rbx, 0x4000000
ja 0x14017adf7
mov eax, 0x4000000
sub rax, rcx
cmp rax, 0x400
ja 0x14017adf7
mov edx, ebx
mov rcx, r15
call fcn.1401ad8a0
mov rcx, rax
jmp 0x14017ae33
xor r8d, r8d
mov rdx, rbx
lea rcx, [0x141443c50]
call fcn.14004a120
add qword [r15 + 0x28], rbx
mov rcx, rbx
call fcn.1403f4de8
mov qword [rbp + 0x118], rax
lea rcx, [r15 + 0x10]
lea rdx, [rbp + 0x118]
call fcn.1401ab100
mov rcx, qword [rbp + 0x118]
mov rax, rcx
shr rax, 0x20
mov dword [rdi + 5], ecx
mov word [rdi + 9], ax
movzx r13d, ax
shl r13, 0x20
mov eax, dword [rdi + 5]
or r13, rax
mov rbx, qword [rdi + 0x69]
test r14, r14
je 0x14017b148
cmp byte [rdi + 0x68], 0
jne 0x14017afe0
nop word [rax + rax]
mov ecx, dword [r15 + 8]
lea rax, [rcx + 0xa]
cmp rax, 0x4000000
jbe 0x14017ae92
mov edx, 0xa
mov rcx, r15
call fcn.1401ad8a0
mov r14, rax
jmp 0x14017ae9f
mov r14, qword [r15]
add r14, rcx
lea eax, [rcx + 0xa]
mov dword [r15 + 8], eax
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017aec3
mov rax, qword [rsi + 8]
mov rdx, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017aedf
mov r8d, 8
lea rdx, [rbp + 0x300]
mov rcx, rsi
call fcn.1401761a0
mov rdx, qword [rbp + 0x300]
add rbx, rdx
mov dword [r14 + 2], ebx
mov rax, rbx
sar rax, 0x20
mov word [r14 + 6], ax
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 2
jb 0x14017af16
mov rax, qword [rsi + 8]
movzx edx, word [rcx + rax]
lea rax, [rcx + 2]
mov qword [rsi + 0x20], rax
jmp 0x14017af2c
mov r8d, 2
lea rdx, [rbp - 0x50]
mov rcx, rsi
call fcn.1401761a0
movzx edx, word [rbp - 0x50]
mov word [r14], dx
lea r12, [r14 + 8]
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 2
jb 0x14017af5a
mov rax, qword [rsi + 8]
movzx ecx, word [rcx + rax]
mov word [r12], cx
add qword [rsi + 0x20], 2
jmp 0x14017af6b
mov r8d, 2
mov rdx, r12
mov rcx, rsi
call fcn.1401761a0
mov dword [rbp + 0x9c0], r14d
shr r14, 0x20
mov word [rbp + 0x9c4], r14w
xor eax, eax
mov qword [rbp + 0x9c6], rax
mov word [rbp + 0x9ce], ax
vmovups xmm0, xmmword [rbp + 0x9c0]
vmovups xmmword [r13], xmm0
add r13, 0x10
movzx eax, byte [r12]
add rax, rax
cmp qword [rdi + rax*8 + 0x83], rbx
jle 0x14017afba
mov qword [rdi + rax*8 + 0x83], rbx
cmp qword [rdi + rax*8 + 0x8b], rbx
jge 0x14017afcc
mov qword [rdi + rax*8 + 0x8b], rbx
sub qword [rsp + 0x60], 1
jne 0x14017ae70
jmp 0x14017b148
mov ecx, dword [r15 + 8]
lea rax, [rcx + 0x1a]
cmp rax, 0x4000000
jbe 0x14017b002
mov edx, 0x1a
mov rcx, r15
call fcn.1401ad8a0
mov r14, rax
jmp 0x14017b00f
mov r14, qword [r15]
add r14, rcx
lea eax, [rcx + 0x1a]
mov dword [r15 + 8], eax
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017b033
mov rax, qword [rsi + 8]
mov rdx, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017b04f
mov r8d, 8
lea rdx, [rbp + 0x308]
mov rcx, rsi
call fcn.1401761a0
mov rdx, qword [rbp + 0x308]
add rbx, rdx
mov dword [r14 + 2], ebx
mov rax, rbx
sar rax, 0x20
mov word [r14 + 6], ax
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 2
jb 0x14017b086
mov rax, qword [rsi + 8]
movzx edx, word [rcx + rax]
lea rax, [rcx + 2]
mov qword [rsi + 0x20], rax
jmp 0x14017b09c
mov r8d, 2
lea rdx, [rbp - 0x4c]
mov rcx, rsi
call fcn.1401761a0
movzx edx, word [rbp - 0x4c]
mov word [r14], dx
lea r12, [r14 + 8]
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 2
jb 0x14017b0ca
mov rax, qword [rsi + 8]
movzx ecx, word [rcx + rax]
mov word [r12], cx
add qword [rsi + 0x20], 2
jmp 0x14017b0db
mov r8d, 2
mov rdx, r12
mov rcx, rsi
call fcn.1401761a0
mov dword [rbp + 0x9f8], r14d
shr r14, 0x20
mov word [rbp + 0x9fc], r14w
xor eax, eax
mov qword [rbp + 0x9fe], rax
mov word [rbp + 0xa06], ax
vmovups xmm0, xmmword [rbp + 0x9f8]
vmovups xmmword [r13], xmm0
add r13, 0x10
movzx eax, byte [r12]
add rax, rax
cmp qword [rdi + rax*8 + 0x83], rbx
jle 0x14017b12a
mov qword [rdi + rax*8 + 0x83], rbx
cmp qword [rdi + rax*8 + 0x8b], rbx
jge 0x14017b13c
mov qword [rdi + rax*8 + 0x8b], rbx
sub qword [rsp + 0x60], 1
jne 0x14017afe0
xor edx, edx
mov rcx, rdi
cmp byte [rdi + 0x68], dl
jne 0x14017b159
call fcn.140176dd0
jmp 0x14017b15e
call fcn.140176ee0
lea r9, [rbp + 0x310]
lea r8, [rbp - 0x28]
lea rdx, [rbp + 0x750]
mov rcx, qword [rbp - 0x78]
call fcn.1401b10c0
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
cmp rax, qword [rsp + 0x68]
jb 0x14017ab50
mov r13, qword [rsp + 0x40]
mov r15d, dword [rsp + 0x48]
jmp 0x14017b30b
test rbx, rbx
je 0x14017b30b
nop dword [rax]
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 9
jb 0x14017b1cc
lea rax, [rcx + 9]
mov qword [rsi + 0x20], rax
jmp 0x14017b1d9
mov edx, 9
mov rcx, rsi
call fcn.140176250
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, rdi
jb 0x14017b1f4
lea rax, [rcx + 1]
mov qword [rsi + 0x20], rax
jmp 0x14017b203
mov r8, rdi
lea rdx, [rbp - 0x6f]
mov rcx, rsi
call fcn.1401761a0
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 0x11
jb 0x14017b21f
lea rax, [rcx + 0x11]
mov qword [rsi + 0x20], rax
jmp 0x14017b22c
mov edx, reloc.WS2_32.dll_recvfrom
mov rcx, rsi
call fcn.140176250
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017b250
mov rax, qword [rsi + 8]
mov rdx, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017b26c
mov r8d, 8
lea rdx, [rbp + 0x318]
mov rcx, rsi
call fcn.1401761a0
mov rdx, qword [rbp + 0x318]
lea rdx, [rdx*8]
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rdx, rax
ja 0x14017b28f
lea rax, [rdx + rcx]
mov qword [rsi + 0x20], rax
jmp 0x14017b297
mov rcx, rsi
call fcn.140176250
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017b2bb
mov rax, qword [rsi + 8]
mov rdx, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017b2d7
mov r8d, 8
lea rdx, [rbp + 0x320]
mov rcx, rsi
call fcn.1401761a0
mov rdx, qword [rbp + 0x320]
lea rdx, [rdx + rdx*2]
shl rdx, 2
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rdx, rax
ja 0x14017b2fa
lea rax, [rdx + rcx]
mov qword [rsi + 0x20], rax
jmp 0x14017b302
mov rcx, rsi
call fcn.140176250
sub rbx, rdi
jne 0x14017b1b0
xor r8d, r8d
xor edx, edx
lea rcx, [0x141446a40]
call fcn.140081a20
xor r8d, r8d
mov edx, 2
lea rcx, [0x141446a38]
call fcn.140081a20
lea rcx, [rbp + 0x6e0]
call fcn.140049c00
nop
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017b361
mov rax, qword [rsi + 8]
mov r14, qword [rcx + rax]
add rcx, 8
mov qword [rsi + 0x20], rcx
jmp 0x14017b381
mov r8d, 8
lea rdx, [rbp + 0x328]
mov rcx, rsi
call fcn.1401761a0
mov r14, qword [rbp + 0x328]
mov rcx, qword [rsi + 0x20]
test r15b, 2
je 0x14017b63b
lea rdi, [r13 + 0x960]
or byte [r13 + 0xad5], 0x7f
mov dword [r13 + 0xad1], r14d
mov eax, r14d
lea rbx, [rax + rax*2]
add rbx, rbx
mov edx, dword [rdi + 8]
mov ecx, edx
lea rax, [rbx + rdx]
cmp rax, 0x4000000
ja 0x14017b3c7
add rcx, qword [rdi]
lea eax, [rbx + rdx]
mov dword [rdi + 8], eax
jmp 0x14017b42b
cmp rbx, 0x4000000
ja 0x14017b3ef
mov eax, 0x4000000
sub rax, rcx
cmp rax, 0x400
ja 0x14017b3ef
mov edx, ebx
mov rcx, rdi
call fcn.1401ad8a0
mov rcx, rax
jmp 0x14017b42b
xor r8d, r8d
mov rdx, rbx
lea rcx, [0x141443c50]
call fcn.14004a120
add qword [rdi + 0x28], rbx
mov rcx, rbx
call fcn.1403f4de8
mov qword [rbp + 0x120], rax
lea rcx, [rdi + 0x10]
lea rdx, [rbp + 0x120]
call fcn.1401ab100
mov rcx, qword [rbp + 0x120]
mov rax, rcx
shr rax, 0x20
mov dword [r13 + 0xacb], ecx
mov word [r13 + 0xacf], ax
xor eax, eax
mov r12d, eax
test r14, r14
je 0x14017b661
mov r15d, eax
nop dword [rax]
nop word [rax + rax]
mov rdx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rdx
cmp rax, 8
jb 0x14017b48b
mov rax, qword [rsi + 8]
mov rcx, qword [rdx + rax]
mov qword [rbp + 0x128], rcx
lea rax, [rdx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017b4ae
mov r8d, 8
lea rdx, [rbp + 0x330]
mov rcx, rsi
call fcn.1401761a0
mov rax, qword [rbp + 0x330]
mov qword [rbp + 0x128], rax
mov edx, dword [r13 + 0x968]
mov ecx, edx
lea rax, [rdx + 0x1a]
cmp rax, 0x4000000
jbe 0x14017b4d9
mov edx, 0x1a
lea rcx, [r13 + 0x960]
call fcn.1401ad8a0
mov rcx, rax
jmp 0x14017b4ea
add rcx, qword [r13 + 0x960]
lea eax, [rdx + 0x1a]
mov dword [r13 + 0x968], eax
mov qword [rbp], rcx
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017b512
mov rax, qword [rsi + 8]
mov rdx, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017b52e
mov r8d, 8
lea rdx, [rbp + 0x338]
mov rcx, rsi
call fcn.1401761a0
mov rdx, qword [rbp + 0x338]
add r12, rdx
mov rax, qword [rbp]
mov qword [rax], r12
mov rbx, qword [rbp]
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 0x10
jb 0x14017b593
mov rax, qword [rsi + 8]
vmovsd xmm0, qword [rcx + rax]
vmovsd qword [rbx + 8], xmm0
movzx eax, byte [rcx + rax + 8]
mov byte [rbx + 0x10], al
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 8]
mov ecx, dword [rcx + rax + 9]
mov dword [rbx + 0x13], ecx
mov rdx, qword [rsi + 0x20]
mov rcx, qword [rsi + 8]
movzx eax, word [rdx + rcx + 0xd]
mov word [rbx + 0x17], ax
movzx eax, byte [rdx + rcx + 0xf]
mov byte [rbx + 0x19], al
add qword [rsi + 0x20], 0x10
jmp 0x14017b5dd
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rbp + 0xcc0]
mov rcx, rsi
call fcn.1401761a0
vmovsd xmm0, qword [rbp + 0xcc0]
vmovsd qword [rbx + 8], xmm0
movzx eax, byte [rbp + 0xcc8]
mov byte [rbx + 0x10], al
mov eax, dword [rbp + 0xcc9]
mov dword [rbx + 0x13], eax
movzx eax, word [rbp + 0xccd]
mov word [rbx + 0x17], ax
movzx eax, byte [rbp + 0xccf]
mov byte [rbx + 0x19], al
mov rdx, qword [rbp]
mov r8, rdx
shr r8, 0x20
movzx ecx, word [r13 + 0xacf]
shl rcx, 0x20
mov eax, dword [r13 + 0xacb]
or rcx, rax
mov dword [rcx + r15], edx
mov word [rcx + r15 + 4], r8w
lea r9, [rbp]
lea r8, [rbp + 0x128]
lea rdx, [rbp + 0x7b0]
lea rcx, [rbp + 0x6e0]
call fcn.1401b1170
add r15, 6
sub r14, 1
jne 0x14017b460
mov r15d, dword [rsp + 0x48]
jmp 0x14017b661
shl r14, 5
mov eax, 0x10000
sub rax, rcx
cmp r14, rax
ja 0x14017b656
lea rax, [r14 + rcx]
mov qword [rsi + 0x20], rax
jmp 0x14017b661
mov rdx, r14
mov rcx, rsi
call fcn.140176250
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017b685
mov rax, qword [rsi + 8]
mov r14, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017b6a1
mov r8d, 8
lea rdx, [rbp + 0x340]
mov rcx, rsi
call fcn.1401761a0
mov r14, qword [rbp + 0x340]
lea rdi, [r13 + 0x960]
or byte [r13 + 0xbbd], 0x7f
mov dword [r13 + 0xbb9], r14d
mov eax, r14d
lea rbx, [rax + rax*2]
shl rbx, 2
mov edx, dword [rdi + 8]
mov ecx, edx
lea rax, [rbx + rdx]
cmp rax, 0x4000000
ja 0x14017b6de
add rcx, qword [rdi]
lea eax, [rbx + rdx]
mov dword [rdi + 8], eax
jmp 0x14017b742
cmp rbx, 0x4000000
ja 0x14017b706
mov eax, 0x4000000
sub rax, rcx
cmp rax, 0x400
ja 0x14017b706
mov edx, ebx
mov rcx, rdi
call fcn.1401ad8a0
mov rcx, rax
jmp 0x14017b742
xor r8d, r8d
mov rdx, rbx
lea rcx, [0x141443c50]
call fcn.14004a120
add qword [rdi + 0x28], rbx
mov rcx, rbx
call fcn.1403f4de8
mov qword [rbp + 0x130], rax
lea rcx, [rdi + 0x10]
lea rdx, [rbp + 0x130]
call fcn.1401ab100
mov rcx, qword [rbp + 0x130]
mov rax, rcx
shr rax, 0x20
mov dword [r13 + 0xbb3], ecx
mov word [r13 + 0xbb7], ax
lea rbx, [r14 + r14*2]
shl rbx, 2
movzx ecx, ax
shl rcx, 0x20
mov eax, dword [r13 + 0xbb3]
or rcx, rax
mov rdx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rdx
mov r8, rbx
cmp rbx, rax
ja 0x14017b794
add rdx, qword [rsi + 8]
call sub.VCRUNTIME140.dll_memcpy
add qword [rsi + 0x20], rbx
jmp 0x14017b79f
mov rdx, rcx
mov rcx, rsi
call fcn.1401761a0
xor r8d, r8d
mov edx, 3
lea rcx, [0x141446a38]
call fcn.140081a20
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017b7d7
mov rax, qword [rsi + 8]
mov rdx, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017b7f3
mov r8d, 8
lea rdx, [rbp + 0x348]
mov rcx, rsi
call fcn.1401761a0
mov rdx, qword [rbp + 0x348]
xor r8d, r8d
lea rcx, [0x141446a40]
call fcn.140081a20
xor r8d, r8d
xor edx, edx
lea rcx, [0x141446a48]
call fcn.140081a20
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017b837
mov rax, qword [rsi + 8]
mov r14, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017b853
mov r8d, 8
lea rdx, [rbp + 0x350]
mov rcx, rsi
call fcn.1401761a0
mov r14, qword [rbp + 0x350]
lea rdi, [r13 + 0x960]
or byte [r13 + 0x13b2], 0x7f
mov dword [r13 + 0x13ae], r14d
mov eax, r14d
imul rbx, rax, 0xb
mov edx, dword [rdi + 8]
mov ecx, edx
lea rax, [rdx + rbx]
cmp rax, 0x4000000
ja 0x14017b88c
add rcx, qword [rdi]
lea eax, [rdx + rbx]
mov dword [rdi + 8], eax
jmp 0x14017b8f0
cmp rbx, 0x4000000
ja 0x14017b8b4
mov eax, 0x4000000
sub rax, rcx
cmp rax, 0x400
ja 0x14017b8b4
mov edx, ebx
mov rcx, rdi
call fcn.1401ad8a0
mov rcx, rax
jmp 0x14017b8f0
xor r8d, r8d
mov rdx, rbx
lea rcx, [0x141443c50]
call fcn.14004a120
add qword [rdi + 0x28], rbx
mov rcx, rbx
call fcn.1403f4de8
mov qword [rbp + 0x138], rax
lea rcx, [rdi + 0x10]
lea rdx, [rbp + 0x138]
call fcn.1401ab100
mov rcx, qword [rbp + 0x138]
mov rax, rcx
shr rax, 0x20
mov dword [r13 + 0x13a8], ecx
mov word [r13 + 0x13ac], ax
imul r8, r14, 0xb
movzx ecx, ax
shl rcx, 0x20
mov eax, dword [r13 + 0x13a8]
or rcx, rax
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov dword [rbp - 0x38], 0
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017b94d
mov rax, qword [rsi + 8]
mov r14, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017b969
mov r8d, 8
lea rdx, [rbp + 0x358]
mov rcx, rsi
call fcn.1401761a0
mov r14, qword [rbp + 0x358]
mov qword [rsp + 0x68], r14
lea rdi, [r13 + 0x960]
or byte [r13 + 0xbb2], 0x7f
mov dword [r13 + 0xbae], r14d
mov ebx, r14d
shl rbx, 3
mov edx, dword [rdi + 8]
mov ecx, edx
lea rax, [rdx + rbx]
cmp rax, 0x4000000
ja 0x14017b9a7
add rcx, qword [rdi]
lea eax, [rbx + rdx]
mov dword [rdi + 8], eax
jmp 0x14017ba0b
cmp rbx, 0x4000000
ja 0x14017b9cf
mov eax, 0x4000000
sub rax, rcx
cmp rax, 0x400
ja 0x14017b9cf
mov edx, ebx
mov rcx, rdi
call fcn.1401ad8a0
mov rcx, rax
jmp 0x14017ba0b
xor r8d, r8d
mov rdx, rbx
lea rcx, [0x141443c50]
call fcn.14004a120
add qword [rdi + 0x28], rbx
mov rcx, rbx
call fcn.1403f4de8
mov qword [rbp + 0x140], rax
lea rcx, [rdi + 0x10]
lea rdx, [rbp + 0x140]
call fcn.1401ab100
mov rcx, qword [rbp + 0x140]
mov rax, rcx
shr rax, 0x20
mov dword [r13 + 0xba8], ecx
mov word [r13 + 0xbac], ax
xor edi, edi
mov qword [rsp + 0x50], rdi
test r14, r14
je 0x14017c2b6
and r15d, 2
mov dword [rsp + 0x60], r15d
lea r14, [r13 + 0x12e8]
lea r12, [r13 + 0x960]
jmp 0x14017ba52
xor edi, edi
mov ecx, dword [r12 + 8]
lea rax, [rcx + 0xc0]
cmp rax, 0x4000000
jbe 0x14017ba78
mov edx, 0xc0
mov rcx, r12
call fcn.1401ad8a0
mov rbx, rax
jmp 0x14017ba8a
mov rbx, qword [r12]
add rbx, rcx
lea eax, [rcx + 0xc0]
mov dword [r12 + 8], eax
mov rcx, rbx
call fcn.1401b5d60
mov qword [rbp - 0x68], rbx
mov rdx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rdx
cmp dword [rbp - 0x80], 0xb01
jb 0x14017bb64
cmp rax, 0x1d
jb 0x14017bb0d
mov rcx, qword [rsi + 8]
mov rax, qword [rdx + rcx]
mov qword [rbp - 0x30], rax
mov rax, qword [rdx + rcx + 8]
mov qword [rbx + 8], rax
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 8]
mov rcx, qword [rcx + rax + 0x10]
mov qword [rbx + 0x98], rcx
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 8]
movzx ecx, byte [rcx + rax + 0x18]
mov byte [rbx + 0xa0], cl
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 8]
mov ecx, dword [rcx + rax + 0x19]
mov dword [rbx + 0xb8], ecx
add qword [rsi + 0x20], 0x1d
jmp 0x14017bbfd
mov r8d, 0x1d
lea rdx, [rbp + 0xe28]
mov rcx, rsi
call fcn.1401761a0
mov rax, qword [rbp + 0xe28]
mov qword [rbp - 0x30], rax
mov rax, qword [rbp + 0xe30]
mov qword [rbx + 8], rax
mov rax, qword [rbp + 0xe38]
mov qword [rbx + 0x98], rax
movzx eax, byte [rbp + 0xe40]
mov byte [rbx + 0xa0], al
mov eax, dword [rbp + 0xe41]
mov dword [rbx + 0xb8], eax
jmp 0x14017bbfd
cmp rax, 0x19
jb 0x14017bbad
mov rcx, qword [rsi + 8]
mov rax, qword [rdx + rcx]
mov qword [rbp - 0x30], rax
mov rax, qword [rdx + rcx + 8]
mov qword [rbx + 8], rax
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 8]
mov rcx, qword [rcx + rax + 0x10]
mov qword [rbx + 0x98], rcx
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 8]
movzx ecx, byte [rcx + rax + 0x18]
mov byte [rbx + 0xa0], cl
add qword [rsi + 0x20], 0x19
jmp 0x14017bbf3
mov r8d, 0x19
lea rdx, [rbp + 0xe48]
mov rcx, rsi
call fcn.1401761a0
mov rax, qword [rbp + 0xe48]
mov qword [rbp - 0x30], rax
mov rax, qword [rbp + 0xe50]
mov qword [rbx + 8], rax
mov rax, qword [rbp + 0xe58]
mov qword [rbx + 0x98], rax
movzx eax, byte [rbp + 0xe60]
mov byte [rbx + 0xa0], al
mov rax, qword [rbp - 0x68]
mov dword [rax + 0xb8], edi
mov rcx, qword [rbp - 0x68]
mov rax, qword [rbp - 0x30]
mov qword [rcx], rax
mov rax, qword [rbp - 0x68]
mov rcx, qword [rax + 8]
add qword [r13 + 0xc08], rcx
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 4
jb 0x14017bc3b
mov rax, qword [rsi + 8]
mov r9d, dword [rcx + rax]
lea rax, [rcx + 4]
mov qword [rsi + 0x20], rax
jmp 0x14017bc51
mov r8d, 4
lea rdx, [rbp + 0x2c]
mov rcx, rsi
call fcn.1401761a0
mov r9d, dword [rbp + 0x2c]
test r9d, r9d
je 0x14017bc77
mov r8, qword [rbp - 0x68]
add r8, 0x10
lea rax, [rbp - 0x38]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
mov rdx, rsi
mov rcx, r13
call fcn.1401a4540
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017bc9b
mov rax, qword [rsi + 8]
mov rdi, qword [rcx + rax]
add rcx, 8
mov qword [rsi + 0x20], rcx
jmp 0x14017bcbb
mov r8d, 8
lea rdx, [rbp + 0x360]
mov rcx, rsi
call fcn.1401761a0
mov rdi, qword [rbp + 0x360]
mov rcx, qword [rsi + 0x20]
test r15d, r15d
je 0x14017be3b
mov rdx, qword [rbp - 0x30]
cmp qword [r14 + 0x50], rdx
jne 0x14017bcd5
movzx r15d, word [r14 + 0x58]
jmp 0x14017bce1
mov rcx, r14
call fcn.1401d5240
movzx r15d, ax
mov r14, qword [rbp - 0x68]
or byte [r14 + 0x30], 0x7f
mov dword [r14 + 0x2c], edi
mov eax, edi
lea rbx, [rax + rax*2]
add rbx, rbx
mov edx, dword [r12 + 8]
mov ecx, edx
lea rax, [rbx + rdx]
cmp rax, 0x4000000
ja 0x14017bd18
add rcx, qword [r12]
lea eax, [rbx + rdx]
mov dword [r12 + 8], eax
jmp 0x14017bd7e
cmp rbx, 0x4000000
ja 0x14017bd40
mov eax, 0x4000000
sub rax, rcx
cmp rax, 0x400
ja 0x14017bd40
mov edx, ebx
mov rcx, r12
call fcn.1401ad8a0
mov rcx, rax
jmp 0x14017bd7e
xor r8d, r8d
mov rdx, rbx
lea rcx, [0x141443c50]
call fcn.14004a120
add qword [r12 + 0x28], rbx
mov rcx, rbx
call fcn.1403f4de8
mov qword [rbp + 0x148], rax
lea rcx, [r12 + 0x10]
lea rdx, [rbp + 0x148]
call fcn.1401ab100
mov rcx, qword [rbp + 0x148]
mov rax, rcx
shr rax, 0x20
mov dword [r14 + 0x26], ecx
mov word [r14 + 0x2a], ax
test rdi, rdi
je 0x14017be62
xor ebx, ebx
nop dword [rax]
mov rdx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rdx
cmp rax, 8
jb 0x14017bdcb
mov rax, qword [rsi + 8]
mov rcx, qword [rdx + rax]
mov qword [rbp + 0x150], rcx
lea rax, [rdx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017bdee
mov r8d, 8
lea rdx, [rbp + 0x368]
mov rcx, rsi
call fcn.1401761a0
mov rax, qword [rbp + 0x368]
mov qword [rbp + 0x150], rax
lea rdx, [rbp + 0x150]
lea rcx, [rbp + 0x6e0]
call fcn.1401b1230
mov r8, qword [rax]
mov rdx, r8
shr rdx, 0x20
mov rax, qword [rbp - 0x68]
movzx ecx, word [rax + 0x2a]
shl rcx, 0x20
mov eax, dword [rax + 0x26]
or rcx, rax
mov dword [rcx + rbx], r8d
mov word [rcx + rbx + 4], dx
mov word [r8 + 0x11], r15w
add rbx, 6
sub rdi, 1
jne 0x14017bda0
jmp 0x14017be62
lea rdx, [rdi*8]
mov eax, 0x10000
sub rax, rcx
cmp rdx, rax
ja 0x14017be5a
lea rax, [rdx + rcx]
mov qword [rsi + 0x20], rax
jmp 0x14017be62
mov rcx, rsi
call fcn.140176250
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017be86
mov rax, qword [rsi + 8]
mov r14, qword [rcx + rax]
add rcx, 8
mov qword [rsi + 0x20], rcx
jmp 0x14017bea6
mov r8d, 8
lea rdx, [rbp + 0x370]
mov rcx, rsi
call fcn.1401761a0
mov r14, qword [rbp + 0x370]
mov rcx, qword [rsi + 0x20]
mov ebx, dword [rsp + 0x48]
test r14, r14
je 0x14017c044
test bl, 0x40
je 0x14017c068
xor r15d, r15d
mov rdi, qword [rbp - 0x68]
or byte [rdi + 0x95], 0x7f
mov dword [rdi + 0x91], r14d
mov eax, r14d
lea rbx, [rax + rax*8]
mov edx, dword [r12 + 8]
mov ecx, edx
lea rax, [rdx + rbx]
cmp rax, 0x4000000
ja 0x14017bef9
add rcx, qword [r12]
lea eax, [rbx + rdx]
mov dword [r12 + 8], eax
jmp 0x14017bf5f
cmp rbx, 0x4000000
ja 0x14017bf21
mov eax, 0x4000000
sub rax, rcx
cmp rax, 0x400
ja 0x14017bf21
mov edx, ebx
mov rcx, r12
call fcn.1401ad8a0
mov rcx, rax
jmp 0x14017bf5f
xor r8d, r8d
mov rdx, rbx
lea rcx, [0x141443c50]
call fcn.14004a120
add qword [r12 + 0x28], rbx
mov rcx, rbx
call fcn.1403f4de8
mov qword [rbp + 0x1c0], rax
lea rcx, [r12 + 0x10]
lea rdx, [rbp + 0x1c0]
call fcn.1401ab100
mov rcx, qword [rbp + 0x1c0]
mov rax, rcx
shr rax, 0x20
mov dword [rdi + 0x8b], ecx
mov word [rdi + 0x8f], ax
mov rax, qword [rbp - 0x68]
movzx edi, word [rax + 0x8f]
shl rdi, 0x20
mov eax, dword [rax + 0x8b]
or rdi, rax
test r14, r14
je 0x14017c040
lea rbx, [rdi + 6]
nop dword [rax + rax]
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017bfc4
mov rax, qword [rsi + 8]
mov rdx, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017bfe0
mov r8d, 8
lea rdx, [rbp + 0x378]
mov rcx, rsi
call fcn.1401761a0
mov rdx, qword [rbp + 0x378]
add r15, rdx
mov dword [rdi], r15d
mov rax, r15
sar rax, 0x20
mov word [rbx - 2], ax
mov rdx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rdx
cmp rax, 3
jb 0x14017c01d
mov rcx, qword [rsi + 8]
movzx eax, word [rcx + rdx]
mov word [rbx], ax
movzx eax, byte [rcx + rdx + 2]
mov byte [rbx + 2], al
add qword [rsi + 0x20], 3
jmp 0x14017c02e
mov r8d, 3
mov rdx, rbx
mov rcx, rsi
call fcn.1401761a0
add rdi, 9
add rbx, 9
sub r14, 1
jne 0x14017bfa0
mov ebx, dword [rsp + 0x48]
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017c08d
mov rax, qword [rsi + 8]
mov r14, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017c0a9
imul rdx, r14, 0xb
mov eax, 0x10000
sub rax, rcx
cmp rdx, rax
ja 0x14017c083
lea rax, [rcx + rdx]
mov qword [rsi + 0x20], rax
jmp 0x14017c044
mov rcx, rsi
call fcn.140176250
jmp 0x14017c044
mov r8d, 8
lea rdx, [rbp + 0x380]
mov rcx, rsi
call fcn.1401761a0
mov r14, qword [rbp + 0x380]
test r14, r14
je 0x14017c259
test bl, 0x40
je 0x14017c232
add qword [r13 + 0xc18], r14
xor r15d, r15d
mov rdi, qword [rbp - 0x68]
or byte [rdi + 0x81], 0x7f
mov dword [rdi + 0x7d], r14d
mov eax, r14d
lea rbx, [rax + rax*8]
mov edx, dword [r12 + 8]
mov ecx, edx
lea rax, [rdx + rbx]
cmp rax, 0x4000000
ja 0x14017c0fc
add rcx, qword [r12]
lea eax, [rdx + rbx]
mov dword [r12 + 8], eax
jmp 0x14017c162
cmp rbx, 0x4000000
ja 0x14017c124
mov eax, 0x4000000
sub rax, rcx
cmp rax, 0x400
ja 0x14017c124
mov edx, ebx
mov rcx, r12
call fcn.1401ad8a0
mov rcx, rax
jmp 0x14017c162
xor r8d, r8d
mov rdx, rbx
lea rcx, [0x141443c50]
call fcn.14004a120
add qword [r12 + 0x28], rbx
mov rcx, rbx
call fcn.1403f4de8
mov qword [rbp + 0x160], rax
lea rcx, [r12 + 0x10]
lea rdx, [rbp + 0x160]
call fcn.1401ab100
mov rcx, qword [rbp + 0x160]
mov rax, rcx
shr rax, 0x20
mov dword [rdi + 0x77], ecx
mov word [rdi + 0x7b], ax
mov rax, qword [rbp - 0x68]
movzx edi, word [rax + 0x7b]
shl rdi, 0x20
mov eax, dword [rax + 0x77]
or rdi, rax
test r14, r14
je 0x14017c259
lea rbx, [rdi + 6]
nop
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017c1b4
mov rax, qword [rsi + 8]
mov rdx, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017c1d0
mov r8d, 8
lea rdx, [rbp + 0x388]
mov rcx, rsi
call fcn.1401761a0
mov rdx, qword [rbp + 0x388]
add r15, rdx
mov dword [rdi], r15d
mov rax, r15
sar rax, 0x20
mov word [rbx - 2], ax
mov rdx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rdx
cmp rax, 3
jb 0x14017c20d
mov rcx, qword [rsi + 8]
movzx eax, word [rcx + rdx]
mov word [rbx], ax
movzx eax, byte [rcx + rdx + 2]
mov byte [rbx + 2], al
add qword [rsi + 0x20], 3
jmp 0x14017c21e
mov r8d, 3
mov rdx, rbx
mov rcx, rsi
call fcn.1401761a0
add rdi, 9
add rbx, 9
sub r14, 1
jne 0x14017c190
jmp 0x14017c259
imul rdx, r14, 0xb
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rdx, rax
ja 0x14017c251
lea rax, [rdx + rcx]
mov qword [rsi + 0x20], rax
jmp 0x14017c259
mov rcx, rsi
call fcn.140176250
movzx ecx, word [r13 + 0xbac]
shl rcx, 0x20
mov eax, dword [r13 + 0xba8]
or rcx, rax
mov rax, qword [rbp - 0x68]
mov rbx, qword [rsp + 0x50]
mov qword [rcx + rbx*8], rax
lea r9, [rbp - 0x68]
lea r8, [rbp - 0x30]
lea rdx, [rbp + 0x738]
lea rcx, [r13 + 0x7a0]
call fcn.1401b0910
inc rbx
mov qword [rsp + 0x50], rbx
cmp rbx, qword [rsp + 0x68]
lea r14, [r13 + 0x12e8]
mov r15d, dword [rsp + 0x60]
jb 0x14017ba50
xor r8d, r8d
mov edx, 4
lea rcx, [0x141446a38]
call fcn.140081a20
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017c2ee
mov rax, qword [rsi + 8]
mov rdx, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017c30a
mov r8d, 8
lea rdx, [rbp + 0x390]
mov rcx, rsi
call fcn.1401761a0
mov rdx, qword [rbp + 0x390]
xor r8d, r8d
lea rcx, [0x141446a40]
call fcn.140081a20
xor r8d, r8d
xor edx, edx
lea rcx, [0x141446a48]
call fcn.140081a20
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017c34e
mov rax, qword [rsi + 8]
mov r14, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017c36a
mov r8d, 8
lea rdx, [rbp + 0x398]
mov rcx, rsi
call fcn.1401761a0
mov r14, qword [rbp + 0x398]
lea rdi, [r13 + 0x960]
or byte [r13 + 0x13bd], 0x7f
mov dword [r13 + 0x13b9], r14d
mov eax, r14d
imul rbx, rax, 0xb
mov edx, dword [rdi + 8]
mov ecx, edx
lea rax, [rdx + rbx]
cmp rax, 0x4000000
ja 0x14017c3a3
add rcx, qword [rdi]
lea eax, [rbx + rdx]
mov dword [rdi + 8], eax
jmp 0x14017c407
cmp rbx, 0x4000000
ja 0x14017c3cb
mov eax, 0x4000000
sub rax, rcx
cmp rax, 0x400
ja 0x14017c3cb
mov edx, ebx
mov rcx, rdi
call fcn.1401ad8a0
mov rcx, rax
jmp 0x14017c407
xor r8d, r8d
mov rdx, rbx
lea rcx, [0x141443c50]
call fcn.14004a120
add qword [rdi + 0x28], rbx
mov rcx, rbx
call fcn.1403f4de8
mov qword [rbp + 0x168], rax
lea rcx, [rdi + 0x10]
lea rdx, [rbp + 0x168]
call fcn.1401ab100
mov rcx, qword [rbp + 0x168]
mov rax, rcx
shr rax, 0x20
mov dword [r13 + 0x13b3], ecx
mov word [r13 + 0x13b7], ax
imul r8, r14, 0xb
movzx ecx, ax
shl rcx, 0x20
mov eax, dword [r13 + 0x13b3]
or rcx, rax
xor edx, edx
call sub.VCRUNTIME140.dll_memset
xor r15d, r15d
mov dword [rbp - 0x38], r15d
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017c464
mov rax, qword [rsi + 8]
mov r13, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017c480
mov r8d, 8
lea rdx, [rbp + 0x3a0]
mov rcx, rsi
call fcn.1401761a0
mov r13, qword [rbp + 0x3a0]
mov qword [rsp + 0x50], r13
mov r14, qword [rsp + 0x40]
lea rdi, [r14 + 0x960]
or byte [r14 + 0xaca], 0x7f
mov dword [r14 + 0xac6], r13d
mov ebx, r13d
shl rbx, 3
mov edx, dword [rdi + 8]
mov ecx, edx
lea rax, [rbx + rdx]
cmp rax, 0x4000000
ja 0x14017c4c3
add rcx, qword [rdi]
lea eax, [rbx + rdx]
mov dword [rdi + 8], eax
jmp 0x14017c527
cmp rbx, 0x4000000
ja 0x14017c4eb
mov eax, 0x4000000
sub rax, rcx
cmp rax, 0x400
ja 0x14017c4eb
mov edx, ebx
mov rcx, rdi
call fcn.1401ad8a0
mov rcx, rax
jmp 0x14017c527
xor r8d, r8d
mov rdx, rbx
lea rcx, [0x141443c50]
call fcn.14004a120
add qword [rdi + 0x28], rbx
mov rcx, rbx
call fcn.1403f4de8
mov qword [rbp + 0x170], rax
lea rcx, [rdi + 0x10]
lea rdx, [rbp + 0x170]
call fcn.1401ab100
mov rcx, qword [rbp + 0x170]
mov rax, rcx
shr rax, 0x20
mov dword [r14 + 0xac0], ecx
mov word [r14 + 0xac4], ax
mov r12, r15
test r13, r13
je 0x14017c852
lea r15, [r14 + 0x960]
mov qword [rbp - 0x78], r15
vmovss xmm7, dword [0x14140e870]
nop dword [rax]
mov ecx, dword [r15 + 8]
lea rax, [rcx + 0x60090]
cmp rax, 0x4000000
jbe 0x14017c585
mov edx, 0x60090
mov rcx, r15
call fcn.1401ad8a0
mov rbx, rax
jmp 0x14017c595
mov rbx, qword [r15]
add rbx, rcx
lea eax, [rcx + 0x60090]
mov dword [r15 + 8], eax
mov rcx, rbx
call fcn.1401b12d0
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 0x21
jb 0x14017c622
mov rax, qword [rsi + 8]
mov rcx, qword [rcx + rax]
mov qword [rbx + 8], rcx
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 8]
movzx r8d, byte [rcx + rax + 8]
mov rax, qword [rcx + rax + 9]
mov qword [rbx + 0x10], rax
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 8]
mov ecx, dword [rcx + rax + 0x11]
mov dword [rbx + 0x18], ecx
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 8]
movzx ecx, byte [rcx + rax + 0x15]
mov byte [rbx + 0x1c], cl
mov rdx, qword [rsi + 0x20]
mov rcx, qword [rsi + 8]
movzx eax, word [rdx + rcx + 0x16]
mov word [rbx + 0x4c], ax
movzx eax, byte [rdx + rcx + 0x18]
mov byte [rbx + 0x4e], al
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 8]
mov rcx, qword [rcx + rax + 0x19]
mov qword [rbx + 0x40], rcx
add qword [rsi + 0x20], 0x21
jmp 0x14017c688
mov r8d, 0x21
lea rdx, [rbp + 0xd18]
mov rcx, rsi
call fcn.1401761a0
mov rax, qword [rbp + 0xd18]
mov qword [rbx + 8], rax
movzx r8d, byte [rbp + 0xd20]
mov rax, qword [rbp + 0xd21]
mov qword [rbx + 0x10], rax
mov eax, dword [rbp + 0xd29]
mov dword [rbx + 0x18], eax
movzx eax, byte [rbp + 0xd2d]
mov byte [rbx + 0x1c], al
movzx eax, word [rbp + 0xd2e]
mov word [rbx + 0x4c], ax
movzx eax, byte [rbp + 0xd30]
mov byte [rbx + 0x4e], al
mov rax, qword [rbp + 0xd31]
mov qword [rbx + 0x40], rax
test r8b, r8b
setne al
mov byte [rbx + 0x1e], al
vmovss xmm0, dword [rbx + 0x18]
vucomiss xmm0, xmm7
jp 0x14017c6a2
jne 0x14017c6a2
xor al, al
jmp 0x14017c6a4
mov al, 1
mov byte [rbx + 0x1d], al
mov rax, qword [rbx + 0x10]
add qword [r14 + 0xc10], rax
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017c6d6
mov rax, qword [rsi + 8]
mov r14, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017c6f2
mov r8d, 8
lea rdx, [rbp + 0x3a8]
mov rcx, rsi
call fcn.1401761a0
mov r14, qword [rbp + 0x3a8]
test r14, r14
je 0x14017c824
mov r15, qword [rsp + 0x40]
xor r13d, r13d
nop dword [rax]
nop word [rax + rax]
mov rdx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rdx
cmp rax, 0x10
jb 0x14017c740
mov rcx, qword [rsi + 8]
mov rax, qword [rcx + rdx]
mov qword [rbp + 0x178], rax
mov rdi, qword [rcx + rdx + 8]
lea rax, [rdx + 0x10]
mov qword [rsi + 0x20], rax
jmp 0x14017c76a
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rbp + 0xef8]
mov rcx, rsi
call fcn.1401761a0
mov rax, qword [rbp + 0xef8]
mov qword [rbp + 0x178], rax
mov rdi, qword [rbp + 0xf00]
test rdi, rdi
je 0x14017c811
mov qword [rbp + 0x3b8], r13
mov qword [rbp + 0x3b0], r13
lea rcx, [rbx + 0x50]
xor eax, eax
mov qword [rbp + 0xa10], rax
mov word [rbp + 0xa18], ax
mov byte [rbp + 0xa1a], al
mov qword [rbp + 0xa1b], rax
mov word [rbp + 0xa23], ax
mov byte [rbp + 0xa25], al
lea r9, [rbp + 0xa10]
lea r8, [rbp + 0x178]
lea rdx, [rbp + 0x720]
call fcn.1401b1320
vmovups xmm6, xmmword [rax]
lea rcx, [rbp + 0xa10]
call fcn.1401aa2e0
vmovq r8, xmm6
add r8, 8
lea rax, [rbp - 0x38]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x3b0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x3b8]
mov qword [rsp + 0x20], rax
mov r9, rdi
mov rdx, rsi
mov rcx, r15
call fcn.1401a49d0
sub r14, 1
jne 0x14017c710
mov r15, qword [rbp - 0x78]
mov r13, qword [rsp + 0x50]
mov r14, qword [rsp + 0x40]
movzx ecx, word [r14 + 0xac4]
shl rcx, 0x20
mov eax, dword [r14 + 0xac0]
or rcx, rax
mov qword [rcx + r12*8], rbx
inc r12
cmp r12, r13
jb 0x14017c560
xor r15d, r15d
xor r8d, r8d
mov edx, 5
lea rcx, [0x141446a38]
call fcn.140081a20
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017c88a
mov rax, qword [rsi + 8]
mov rbx, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017c8a6
mov r8d, 8
lea rdx, [rbp + 0x3c0]
mov rcx, rsi
call fcn.1401761a0
mov rbx, qword [rbp + 0x3c0]
mov qword [rsp + 0x68], rbx
mov edi, dword [rsp + 0x48]
test dil, 4
je 0x14017cc38
mov r12, qword [rsp + 0x40]
lea r13, [r12 + 0xad8]
test rbx, rbx
je 0x14017c904
movzx ecx, word [r13 + 4]
shl rcx, 0x20
mov eax, dword [r13]
or rcx, rax
jne 0x14017c8e2
mov eax, r15d
jmp 0x14017c8f4
movzx eax, byte [r13 + 0xa]
and eax, 0x7f
mov ecx, 1
shlx eax, ecx, eax
cmp rbx, rax
jbe 0x14017c904
mov rdx, rbx
mov rcx, r13
call fcn.1400ca840
xor r8d, r8d
mov rdx, rbx
lea rcx, [0x141446a40]
call fcn.140081a20
mov rax, r15
mov qword [rsp + 0x50], rax
test rbx, rbx
je 0x14017ccef
add r12, 0x960
jmp 0x14017c933
xor r15d, r15d
xor r8d, r8d
mov rdx, rax
lea rcx, [0x141446a48]
call fcn.140081a20
mov ecx, dword [r12 + 8]
lea rax, [rcx + 0x50]
cmp rax, 0x4000000
jbe 0x14017c968
mov edx, 0x50
mov rcx, r12
call fcn.1401ad8a0
mov r14, rax
jmp 0x14017c977
mov r14, qword [r12]
add r14, rcx
lea eax, [rcx + 0x50]
mov dword [r12 + 8], eax
lea rdi, [r14 + 0x20]
mov qword [rbp + 0x9c0], rdi
xor eax, eax
mov qword [rdi], rax
mov word [rdi + 8], ax
mov byte [rdi + 0xa], al
mov dword [rdi + 0xb], r15d
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 0x30
jb 0x14017ca54
mov rax, qword [rsi + 8]
movzx ecx, byte [rcx + rax]
mov byte [r14 + 0x2f], cl
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 8]
movzx ecx, byte [rcx + rax + 1]
mov byte [r14 + 0x30], cl
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 8]
movzx ecx, byte [rcx + rax + 2]
mov byte [r14 + 0x31], cl
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 8]
movzx ecx, byte [rcx + rax + 3]
mov byte [r14 + 0x32], cl
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 8]
mov ecx, dword [rcx + rax + 4]
mov dword [r14 + 0x34], ecx
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 8]
mov rcx, qword [rcx + rax + 8]
mov qword [r14], rcx
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 8]
mov rcx, qword [rcx + rax + 0x10]
mov qword [r14 + 8], rcx
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 8]
mov rcx, qword [rcx + rax + 0x18]
mov qword [r14 + 0x10], rcx
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 8]
mov rcx, qword [rcx + rax + 0x20]
mov qword [r14 + 0x18], rcx
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 8]
mov r15, qword [rax + rcx + 0x28]
lea rax, [rcx + 0x30]
mov qword [rsi + 0x20], rax
jmp 0x14017cad1
mov r8d, 0x30
lea rdx, [rbp + 0xdb8]
mov rcx, rsi
call fcn.1401761a0
movzx eax, byte [rbp + 0xdb8]
mov byte [r14 + 0x2f], al
movzx eax, byte [rbp + 0xdb9]
mov byte [r14 + 0x30], al
movzx eax, byte [rbp + 0xdba]
mov byte [r14 + 0x31], al
movzx eax, byte [rbp + 0xdbb]
mov byte [r14 + 0x32], al
mov eax, dword [rbp + 0xdbc]
mov dword [r14 + 0x34], eax
mov rax, qword [rbp + 0xdc0]
mov qword [r14], rax
mov rax, qword [rbp + 0xdc8]
mov qword [r14 + 8], rax
mov rax, qword [rbp + 0xdd0]
mov qword [r14 + 0x10], rax
mov rax, qword [rbp + 0xdd8]
mov qword [r14 + 0x18], rax
mov r15, qword [rbp + 0xde0]
or byte [rdi + 0xa], 0x7f
mov dword [rdi + 6], r15d
mov eax, r15d
imul rbx, rax, 0xe
mov edx, dword [r12 + 8]
mov ecx, edx
lea rax, [rbx + rdx]
cmp rax, 0x4000000
ja 0x14017cb01
add rcx, qword [r12]
lea eax, [rbx + rdx]
mov dword [r12 + 8], eax
jmp 0x14017cb67
cmp rbx, 0x4000000
ja 0x14017cb29
mov eax, 0x4000000
sub rax, rcx
cmp rax, 0x400
ja 0x14017cb29
mov edx, ebx
mov rcx, r12
call fcn.1401ad8a0
mov rcx, rax
jmp 0x14017cb67
xor r8d, r8d
mov rdx, rbx
lea rcx, [0x141443c50]
call fcn.14004a120
add qword [r12 + 0x28], rbx
mov rcx, rbx
call fcn.1403f4de8
mov qword [rbp + 0x180], rax
lea rcx, [r12 + 0x10]
lea rdx, [rbp + 0x180]
call fcn.1401ab100
mov rcx, qword [rbp + 0x180]
mov rax, rcx
shr rax, 0x20
mov dword [rdi], ecx
mov word [rdi + 4], ax
movzx ebx, ax
shl rbx, 0x20
mov eax, dword [rdi]
or rbx, rax
xor edi, edi
test r15, r15
je 0x14017cbfb
nop word [rax + rax]
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 0x10
jb 0x14017cbba
mov rax, qword [rsi + 8]
mov rdx, qword [rax + rcx]
mov rax, qword [rax + rcx + 8]
mov qword [rbx + 6], rax
add qword [rsi + 0x20], 0x10
jmp 0x14017cbe1
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rbp + 0xee8]
mov rcx, rsi
call fcn.1401761a0
mov rdx, qword [rbp + 0xee8]
mov rax, qword [rbp + 0xef0]
mov qword [rbx + 6], rax
add rdi, rdx
mov rax, rdi
sar rax, 0x20
mov dword [rbx], edi
mov word [rbx + 4], ax
add rbx, 0xe
sub r15, 1
jne 0x14017cb90
movzx ecx, word [r13 + 4]
shl rcx, 0x20
mov eax, dword [r13]
or rcx, rax
mov eax, dword [r13 + 6]
mov qword [rcx + rax*8], r14
inc dword [r13 + 6]
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
cmp rax, qword [rsp + 0x68]
jb 0x14017c930
mov edi, dword [rsp + 0x48]
jmp 0x14017ccea
test rbx, rbx
je 0x14017ccea
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 0x28
jb 0x14017cc6c
lea rax, [rcx + 0x28]
mov qword [rsi + 0x20], rax
jmp 0x14017cc79
mov edx, 0x28
mov rcx, rsi
call fcn.140176250
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017cc9d
mov rax, qword [rsi + 8]
mov rdx, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017ccb9
mov r8d, 8
lea rdx, [rbp + 0x3c8]
mov rcx, rsi
call fcn.1401761a0
mov rdx, qword [rbp + 0x3c8]
shl rdx, 4
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rdx, rax
ja 0x14017ccd8
lea rax, [rdx + rcx]
mov qword [rsi + 0x20], rax
jmp 0x14017cce0
mov rcx, rsi
call fcn.140176250
sub rbx, 1
jne 0x14017cc50
mov r12, qword [rsp + 0x40]
xor r8d, r8d
xor edx, edx
lea rcx, [0x141446a40]
call fcn.140081a20
xor r8d, r8d
mov edx, 6
lea rcx, [0x141446a38]
call fcn.140081a20
xor r15d, r15d
mov qword [rsp + 0x68], r15
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 0x10
jb 0x14017cd45
mov rax, qword [rsi + 8]
mov r13, qword [rax + rcx]
mov rdx, qword [rax + rcx + 8]
lea rax, [rcx + 0x10]
mov qword [rsi + 0x20], rax
jmp 0x14017cd68
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rbp + 0xed8]
mov rcx, rsi
call fcn.1401761a0
mov r13, qword [rbp + 0xed8]
mov rdx, qword [rbp + 0xee0]
mov qword [rsp + 0x50], r13
xor r8d, r8d
lea rcx, [0x141446a40]
call fcn.140081a20
test r13, r13
je 0x14017d35f
mov ebx, edi
and ebx, 8
mov dword [rsp + 0x60], ebx
lea r15, [r12 + 0x960]
mov qword [rbp - 0x78], r15
nop word [rax + rax]
mov rdx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rdx
cmp rax, 0x10
jb 0x14017cdcd
mov rcx, qword [rsi + 8]
mov rax, qword [rcx + rdx]
mov qword [rbp + 0x78], rax
mov r13, qword [rcx + rdx + 8]
lea rax, [rdx + 0x10]
mov qword [rsi + 0x20], rax
jmp 0x14017cdf4
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rbp + 0xec8]
mov rcx, rsi
call fcn.1401761a0
mov rax, qword [rbp + 0xec8]
mov qword [rbp + 0x78], rax
mov r13, qword [rbp + 0xed0]
mov qword [rbp - 0x80], r13
test ebx, ebx
je 0x14017d2d7
mov ecx, dword [r15 + 8]
lea rax, [rcx + 0x88]
cmp rax, 0x4000000
jbe 0x14017ce25
mov edx, 0x88
mov rcx, r15
call fcn.1401ad8a0
mov rbx, rax
jmp 0x14017ce35
mov rbx, qword [r15]
add rbx, rcx
lea eax, [rcx + 0x88]
mov dword [r15 + 8], eax
mov rcx, rbx
call fcn.1401b0440
mov qword [rbp + 0x3d0], rbx
lea r9, [rbp + 0x3d0]
lea r8, [rbp + 0x78]
lea rdx, [rbp + 0x5c8]
lea rcx, [r12 + 0xbc8]
call fcn.1401b0910
cmp qword [rbp + 0x78], 0
jne 0x14017ce7d
mov rax, qword [rbp + 0x5c8]
mov rcx, qword [rax + 8]
mov qword [r12 + 0xbc0], rcx
mov rax, qword [rbp + 0x5c8]
mov rdi, qword [rax + 8]
or byte [rdi + 0xa], 0x7f
mov dword [rdi + 6], r13d
mov eax, r13d
imul rbx, rax, 0x23
mov edx, dword [r15 + 8]
mov ecx, edx
lea rax, [rdx + rbx]
cmp rax, 0x4000000
ja 0x14017ceb5
add rcx, qword [r15]
lea eax, [rbx + rdx]
mov dword [r15 + 8], eax
jmp 0x14017cf19
cmp rbx, 0x4000000
ja 0x14017cedd
mov eax, 0x4000000
sub rax, rcx
cmp rax, 0x400
ja 0x14017cedd
mov edx, ebx
mov rcx, r15
call fcn.1401ad8a0
mov rcx, rax
jmp 0x14017cf19
xor r8d, r8d
mov rdx, rbx
lea rcx, [0x141443c50]
call fcn.14004a120
add qword [r15 + 0x28], rbx
mov rcx, rbx
call fcn.1403f4de8
mov qword [rbp + 0x188], rax
lea rcx, [r15 + 0x10]
lea rdx, [rbp + 0x188]
call fcn.1401ab100
mov rcx, qword [rbp + 0x188]
mov rax, rcx
shr rax, 0x20
mov dword [rdi], ecx
mov word [rdi + 4], ax
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 0x10
jb 0x14017cf4f
mov rax, qword [rsi + 8]
mov rdx, qword [rax + rcx]
mov rbx, qword [rax + rcx + 8]
lea rax, [rcx + 0x10]
mov qword [rsi + 0x20], rax
jmp 0x14017cf72
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rbp + 0xeb8]
mov rcx, rsi
call fcn.1401761a0
mov rdx, qword [rbp + 0xeb8]
mov rbx, qword [rbp + 0xec0]
lea rcx, [rdi + 0x18]
xor r8d, r8d
call fcn.1401adb20
or byte [rdi + 0x15], 0x7f
mov dword [rdi + 0x11], ebx
mov ebx, ebx
shl rbx, 2
mov edx, dword [r15 + 8]
mov ecx, edx
lea rax, [rdx + rbx]
cmp rax, 0x4000000
ja 0x14017cfa9
add rcx, qword [r15]
lea eax, [rbx + rdx]
mov dword [r15 + 8], eax
jmp 0x14017d00d
cmp rbx, 0x4000000
ja 0x14017cfd1
mov eax, 0x4000000
sub rax, rcx
cmp rax, 0x400
ja 0x14017cfd1
mov edx, ebx
mov rcx, r15
call fcn.1401ad8a0
mov rcx, rax
jmp 0x14017d00d
xor r8d, r8d
mov rdx, rbx
lea rcx, [0x141443c50]
call fcn.14004a120
add qword [r15 + 0x28], rbx
mov rcx, rbx
call fcn.1403f4de8
mov qword [rbp + 0x190], rax
lea rcx, [r15 + 0x10]
lea rdx, [rbp + 0x190]
call fcn.1401ab100
mov rcx, qword [rbp + 0x190]
mov rax, rcx
shr rax, 0x20
mov dword [rdi + 0xb], ecx
mov word [rdi + 0xf], ax
movzx r14d, word [rdi + 4]
shl r14, 0x20
mov eax, dword [rdi]
or r14, rax
xor r8d, r8d
mov rdx, r13
lea rcx, [0x141446a40]
call fcn.140081a20
xor ecx, ecx
mov r12d, ecx
mov eax, ecx
mov qword [rbp + 8], rcx
test r13, r13
je 0x14017d21f
mov r13d, ecx
lea rbx, [r14 + 0x10]
nop word [rax + rax]
mov rdx, qword [rsp + 0x68]
add rdx, rax
xor r8d, r8d
lea rcx, [0x141446a48]
call fcn.140081a20
mov r9, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, r9
cmp rax, 0x2a
jb 0x14017d0e6
mov r8, qword [rsi + 8]
mov rax, qword [r9 + r8]
mov qword [rbp + 0x50], rax
mov r10, qword [r9 + r8 + 8]
movzx eax, word [r9 + r8 + 0x10]
movzx ecx, byte [r9 + r8 + 0x12]
movzx edx, word [r9 + r8 + 0x13]
mov word [rbx], dx
movzx edx, byte [r9 + r8 + 0x15]
mov byte [rbx + 2], dl
mov r8, qword [rsi + 0x20]
mov rdx, qword [rsi + 8]
mov r11, qword [r8 + rdx + 0x16]
mov r9, qword [r8 + rdx + 0x1e]
movzx r15d, word [r8 + rdx + 0x26]
mov word [rsp + 0x70], r15w
movzx r15d, word [r8 + rdx + 0x28]
lea rdx, [r8 + 0x2a]
mov qword [rsi + 0x20], rdx
jmp 0x14017d151
mov r8d, 0x2a
lea rdx, [rbp + 0xd40]
mov rcx, rsi
call fcn.1401761a0
mov rax, qword [rbp + 0xd40]
mov qword [rbp + 0x50], rax
mov r10, qword [rbp + 0xd48]
movzx eax, word [rbp + 0xd50]
movzx ecx, byte [rbp + 0xd52]
movzx edx, word [rbp + 0xd53]
mov word [rbx], dx
movzx edx, byte [rbp + 0xd55]
mov byte [rbx + 2], dl
mov r11, qword [rbp + 0xd56]
mov r9, qword [rbp + 0xd5e]
movzx edx, word [rbp + 0xd66]
mov word [rsp + 0x70], dx
movzx r15d, word [rbp + 0xd68]
mov r8, qword [rbp + 0x50]
mov dword [rbx - 0xf], r8d
mov rdx, r8
shr rdx, 0x20
mov word [rbx - 0xb], dx
shr r8, 0x30
mov byte [rbx - 9], r8b
mov dword [rbx - 6], r10d
shr r10, 0x20
mov word [rbx - 2], r10w
movzx edx, cl
shl edx, 0x10
movzx ecx, ax
or edx, ecx
mov byte [r14], dl
shr edx, 8
mov word [rbx - 8], dx
add r12, r11
mov rcx, r12
shl rcx, 0x10
movzx eax, word [rsp + 0x70]
or rcx, rax
mov qword [rbx + 3], rcx
movzx ecx, r15w
test r9, r9
js 0x14017d1d7
lea rax, [r9 + r12]
shl rax, 0x10
or rax, rcx
mov qword [rbx + 0xb], rax
movzx ecx, word [rdi + 0xf]
shl rcx, 0x20
mov eax, dword [rdi + 0xb]
or rcx, rax
mov eax, dword [rbp + 8]
mov dword [rcx + r13], eax
add r13, 4
jmp 0x14017d1fa
shl r9, 0x10
or r9, rcx
mov qword [rbx + 0xb], r9
lea r9, [rbp + 8]
lea r8, [rbp + 0x50]
lea rdx, [rbp + 0x960]
lea rcx, [rdi + 0x18]
call fcn.1401b0910
add r14, 0x23
add rbx, 0x23
mov rax, qword [rbp + 8]
inc rax
mov qword [rbp + 8], rax
cmp rax, qword [rbp - 0x80]
jb 0x14017d060
mov r15, qword [rbp - 0x78]
mov r13, qword [rbp - 0x80]
add qword [rsp + 0x68], r13
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 0x20
jb 0x14017d27f
mov rax, qword [rsi + 8]
mov rcx, qword [rcx + rax]
mov qword [rdi + 0x58], rcx
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 8]
mov rcx, qword [rcx + rax + 8]
mov qword [rdi + 0x60], rcx
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 8]
mov rcx, qword [rcx + rax + 0x10]
mov qword [rdi + 0x68], rcx
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 8]
mov rcx, qword [rcx + rax + 0x18]
mov qword [rdi + 0x80], rcx
add qword [rsi + 0x20], 0x20
jmp 0x14017d2c3
mov r8d, 0x20
lea rdx, [rbp + 0xf78]
mov rcx, rsi
call fcn.1401761a0
mov rax, qword [rbp + 0xf78]
mov qword [rdi + 0x58], rax
mov rax, qword [rbp + 0xf80]
mov qword [rdi + 0x60], rax
mov rax, qword [rbp + 0xf88]
mov qword [rdi + 0x68], rax
mov rax, qword [rbp + 0xf90]
mov qword [rdi + 0x80], rax
mov r12, qword [rsp + 0x40]
mov ebx, dword [rsp + 0x60]
test r13, r13
je 0x14017d350
mov byte [rdi + 0x78], 1
jmp 0x14017d350
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 0x10
jb 0x14017d2f3
lea rax, [rcx + 0x10]
mov qword [rsi + 0x20], rax
jmp 0x14017d300
mov edx, reloc.WS2_32.dll_recv
mov rcx, rsi
call fcn.140176250
imul rdx, r13, 0x2a
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rdx, rax
ja 0x14017d31f
lea rax, [rcx + rdx]
mov qword [rsi + 0x20], rax
jmp 0x14017d327
mov rcx, rsi
call fcn.140176250
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 0x20
jb 0x14017d343
lea rax, [rcx + 0x20]
mov qword [rsi + 0x20], rax
jmp 0x14017d350
mov edx, 0x20
mov rcx, rsi
call fcn.140176250
sub qword [rsp + 0x50], 1
jne 0x14017cda0
xor r15d, r15d
xor r8d, r8d
xor edx, edx
lea rcx, [0x141446a40]
call fcn.140081a20
xor r8d, r8d
mov edx, 7
lea rcx, [0x141446a38]
call fcn.140081a20
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017d3a8
mov rax, qword [rsi + 8]
mov r13, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017d3c4
mov r8d, 8
lea rdx, [rbp + 0x3d8]
mov rcx, rsi
call fcn.1401761a0
mov r13, qword [rbp + 0x3d8]
lea rdi, [r12 + 0x960]
lea eax, [r13 + 1]
or byte [r12 + 0xee2], 0x7f
mov dword [r12 + 0xede], eax
lea rbx, [rax + rax*2]
add rbx, rbx
mov edx, dword [rdi + 8]
mov ecx, edx
lea rax, [rbx + rdx]
cmp rax, 0x4000000
ja 0x14017d404
add rcx, qword [rdi]
lea eax, [rdx + rbx]
mov dword [rdi + 8], eax
jmp 0x14017d468
cmp rbx, 0x4000000
ja 0x14017d42c
mov eax, 0x4000000
sub rax, rcx
cmp rax, 0x400
ja 0x14017d42c
mov edx, ebx
mov rcx, rdi
call fcn.1401ad8a0
mov rcx, rax
jmp 0x14017d468
xor r8d, r8d
mov rdx, rbx
lea rcx, [0x141443c50]
call fcn.14004a120
add qword [rdi + 0x28], rbx
mov rcx, rbx
call fcn.1403f4de8
mov qword [rbp + 0x198], rax
lea rcx, [rdi + 0x10]
lea rdx, [rbp + 0x198]
call fcn.1401ab100
mov rcx, qword [rbp + 0x198]
mov rax, rcx
shr rax, 0x20
mov dword [r12 + 0xed8], ecx
mov word [r12 + 0xedc], ax
movzx ecx, ax
shl rcx, 0x20
mov eax, dword [r12 + 0xed8]
or rcx, rax
mov dword [rcx], r15d
mov word [rcx + 4], r15w
test r13, r13
je 0x14017d5ac
lea r14, [r12 + 0x960]
mov r12, r15
nop
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 2
jb 0x14017d4d5
mov rax, qword [rsi + 8]
movzx r15d, word [rcx + rax]
lea rax, [rcx + 2]
mov qword [rsi + 0x20], rax
jmp 0x14017d4ec
mov r8d, 2
lea rdx, [rbp - 0x48]
mov rcx, rsi
call fcn.1401761a0
movzx r15d, word [rbp - 0x48]
movzx eax, r15w
lea rbx, [rax*8]
lea rcx, [rbx + 0xc]
mov edx, dword [r14 + 8]
lea rax, [rdx + rcx]
cmp rax, 0x4000000
jbe 0x14017d51b
mov edx, ecx
mov rcx, r14
call fcn.1401ad8a0
mov rdi, rax
jmp 0x14017d528
mov rdi, qword [r14]
add rdi, rdx
lea eax, [rdx + rcx]
mov dword [r14 + 8], eax
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
mov r8, rbx
cmp rbx, rax
ja 0x14017d551
mov rdx, qword [rsi + 8]
add rdx, rcx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
add qword [rsi + 0x20], rbx
jmp 0x14017d55c
mov rdx, rdi
mov rcx, rsi
call fcn.1401761a0
add rbx, rdi
mov r8, rdi
movzx edx, r15w
mov rcx, rbx
call fcn.1401aacd0
mov rdx, rbx
shr rdx, 0x20
mov rax, qword [rsp + 0x40]
movzx ecx, word [rax + 0xedc]
shl rcx, 0x20
mov eax, dword [rax + 0xed8]
or rcx, rax
mov dword [rcx + r12 + 6], ebx
mov word [rcx + r12 + 0xa], dx
add r12, 6
sub r13, 1
jne 0x14017d4b0
mov r12, qword [rsp + 0x40]
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017d5d0
mov rax, qword [rsi + 8]
mov r14, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017d5ec
mov r8d, 8
lea rdx, [rbp + 0x3e0]
mov rcx, rsi
call fcn.1401761a0
mov r14, qword [rbp + 0x3e0]
xor r8d, r8d
mov rdx, r14
lea rcx, [r12 + 0xee8]
call fcn.1401ae060
test r14, r14
je 0x14017d788
lea rdi, [r12 + 0x960]
mov ecx, dword [rdi + 8]
lea rax, [rcx + 0xa]
cmp rax, 0x4000000
jbe 0x14017d631
mov edx, 0xa
mov rcx, rdi
call fcn.1401ad8a0
mov rbx, rax
jmp 0x14017d63d
mov rbx, qword [rdi]
add rbx, rcx
lea eax, [rcx + 0xa]
mov dword [rdi + 8], eax
mov qword [rbp + 0x10], rbx
mov rdx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rdx
cmp rax, 0xc
jb 0x14017d68a
mov rcx, qword [rsi + 8]
mov rax, qword [rdx + rcx]
mov qword [rbp + 0x1a0], rax
movzx eax, byte [rdx + rcx + 8]
mov byte [rbx + 6], al
mov rdx, qword [rsi + 0x20]
mov rcx, qword [rsi + 8]
movzx eax, word [rdx + rcx + 9]
mov word [rbx + 7], ax
movzx eax, byte [rdx + rcx + 0xb]
mov byte [rbx + 9], al
add qword [rsi + 0x20], 0xc
jmp 0x14017d6cc
mov r8d, recv
lea rdx, [rbp + 0xcb0]
mov rcx, rsi
call fcn.1401761a0
mov rax, qword [rbp + 0xcb0]
mov qword [rbp + 0x1a0], rax
movzx eax, byte [rbp + 0xcb8]
mov byte [rbx + 6], al
movzx eax, word [rbp + 0xcb9]
mov word [rbx + 7], ax
movzx eax, byte [rbp + 0xcbb]
mov byte [rbx + 9], al
mov rax, qword [rbp + 0x10]
movzx ecx, byte [rax + 6]
lea rdx, [rcx + rcx*8]
add rdx, rdx
mov ecx, dword [rdi + 8]
mov r8d, ecx
lea rax, [rdx + rcx]
cmp rax, 0x4000000
jbe 0x14017d6fa
mov rcx, rdi
call fcn.1401ad8a0
mov r8, rax
jmp 0x14017d703
add r8, qword [rdi]
lea eax, [rcx + rdx]
mov dword [rdi + 8], eax
mov rcx, r8
shr rcx, 0x20
mov rax, qword [rbp + 0x10]
mov dword [rax], r8d
mov word [rax + 4], cx
mov rdx, qword [rbp + 0x10]
movzx eax, byte [rdx + 6]
lea rbx, [rax + rax*8]
add rbx, rbx
movzx ecx, word [rdx + 4]
shl rcx, 0x20
mov eax, dword [rdx]
or rcx, rax
mov rdx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rdx
mov r8, rbx
cmp rbx, rax
ja 0x14017d754
add rdx, qword [rsi + 8]
call sub.VCRUNTIME140.dll_memcpy
add qword [rsi + 0x20], rbx
jmp 0x14017d75f
mov rdx, rcx
mov rcx, rsi
call fcn.1401761a0
lea r9, [rbp + 0x10]
lea r8, [rbp + 0x1a0]
lea rdx, [rbp + 0x948]
lea rcx, [r12 + 0xee8]
call fcn.1401b14c0
sub r14, 1
jne 0x14017d610
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017d7ac
mov rax, qword [rsi + 8]
mov r14, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017d7c8
mov r8d, 8
lea rdx, [rbp + 0x3e8]
mov rcx, rsi
call fcn.1401761a0
mov r14, qword [rbp + 0x3e8]
test r14, r14
je 0x14017d8cd
lea rdi, [r12 + 0x960]
or byte [r12 + 0x1438], 0x7f
mov dword [r12 + 0x1434], r14d
mov eax, r14d
lea rbx, [rax + rax*8]
mov edx, dword [rdi + 8]
mov ecx, edx
lea rax, [rdx + rbx]
cmp rax, 0x4000000
ja 0x14017d80d
add rcx, qword [rdi]
lea eax, [rbx + rdx]
mov dword [rdi + 8], eax
jmp 0x14017d871
cmp rbx, 0x4000000
ja 0x14017d835
mov eax, 0x4000000
sub rax, rcx
cmp rax, 0x400
ja 0x14017d835
mov edx, ebx
mov rcx, rdi
call fcn.1401ad8a0
mov rcx, rax
jmp 0x14017d871
xor r8d, r8d
mov rdx, rbx
lea rcx, [0x141443c50]
call fcn.14004a120
add qword [rdi + 0x28], rbx
mov rcx, rbx
call fcn.1403f4de8
mov qword [rbp + 0x1a8], rax
lea rcx, [rdi + 0x10]
lea rdx, [rbp + 0x1a8]
call fcn.1401ab100
mov rcx, qword [rbp + 0x1a8]
mov rax, rcx
shr rax, 0x20
mov dword [r12 + 0x142e], ecx
mov word [r12 + 0x1432], ax
lea rbx, [r14 + r14*8]
movzx ecx, ax
shl rcx, 0x20
mov eax, dword [r12 + 0x142e]
or rcx, rax
mov rdx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rdx
mov r8, rbx
cmp rbx, rax
ja 0x14017d8c2
add rdx, qword [rsi + 8]
call sub.VCRUNTIME140.dll_memcpy
add qword [rsi + 0x20], rbx
jmp 0x14017d8cd
mov rdx, rcx
mov rcx, rsi
call fcn.1401761a0
xor r8d, r8d
xor edx, edx
lea rcx, [0x141446a40]
call fcn.140081a20
xor r8d, r8d
mov edx, 8
lea rcx, [0x141446a38]
call fcn.140081a20
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
mov r15d, dword [rsp + 0x48]
test r15b, 0x10
je 0x14017e0d0
cmp rax, 4
jb 0x14017d924
mov rax, qword [rsi + 8]
mov edx, dword [rcx + rax]
lea rax, [rcx + 4]
mov qword [rsi + 0x20], rax
jmp 0x14017d939
mov r8d, 4
lea rdx, [rbp + 0x30]
mov rcx, rsi
call fcn.1401761a0
mov edx, dword [rbp + 0x30]
mov ebx, edx
mov ecx, edx
call fcn.1403f4de8
mov rdi, rax
mov rdx, qword [rsi + 0x20]
mov ecx, 0x10000
sub rcx, rdx
mov r8d, ebx
cmp rbx, rcx
ja 0x14017d96b
add rdx, qword [rsi + 8]
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
add qword [rsi + 0x20], rbx
jmp 0x14017d976
mov rdx, rdi
mov rcx, rsi
call fcn.1401761a0
mov r8d, 3
mov rdx, rbx
mov rcx, rdi
call fcn.14032c670
mov r13, rax
mov qword [rbp - 0x78], rax
xor eax, eax
mov qword [rbp + 0x9f8], rax
mov qword [rbp + 0xa00], rax
mov qword [rbp + 0xa08], rax
vmovups xmm0, xmmword [rbp + 0x9f8]
vmovups xmmword [rbp + 0x9c0], xmm0
vmovsd xmm1, qword [rbp + 0xa08]
vmovsd qword [rbp + 0x9d0], xmm1
lea rax, [rbp + 0x9c0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov rcx, rdi
call fcn.14032ee30
mov qword [r12 + 0x2338], rax
mov rcx, rdi
call fcn.1403f4db4
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017da16
mov rax, qword [rsi + 8]
mov r14, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017da32
mov r8d, 8
lea rdx, [rbp + 0x3f0]
mov rcx, rsi
call fcn.1401761a0
mov r14, qword [rbp + 0x3f0]
mov qword [rsp + 0x60], r14
lea rdi, [r12 + 0x960]
or byte [r12 + 0x142d], 0x7f
mov dword [r12 + 0x1429], r14d
mov eax, r14d
lea rbx, [rax + rax*2]
add rbx, rbx
mov edx, dword [rdi + 8]
mov ecx, edx
lea rax, [rdx + rbx]
cmp rax, 0x4000000
ja 0x14017da76
add rcx, qword [rdi]
lea eax, [rbx + rdx]
mov dword [rdi + 8], eax
jmp 0x14017dada
cmp rbx, 0x4000000
ja 0x14017da9e
mov eax, 0x4000000
sub rax, rcx
cmp rax, 0x400
ja 0x14017da9e
mov edx, ebx
mov rcx, rdi
call fcn.1401ad8a0
mov rcx, rax
jmp 0x14017dada
xor r8d, r8d
mov rdx, rbx
lea rcx, [0x141443c50]
call fcn.14004a120
add qword [rdi + 0x28], rbx
mov rcx, rbx
call fcn.1403f4de8
mov qword [rbp + 0x1b0], rax
lea rcx, [rdi + 0x10]
lea rdx, [rbp + 0x1b0]
call fcn.1401ab100
mov rcx, qword [rbp + 0x1b0]
mov rax, rcx
shr rax, 0x20
mov dword [r12 + 0x1423], ecx
mov word [r12 + 0x1427], ax
xor r8d, r8d
mov rdx, r14
lea rcx, [0x141446a40]
call fcn.140081a20
test r14, r14
je 0x14017e0c0
mov ebx, 2
call qword [sym.imp.MSVCP140.dll__Thrd_hardware_concurrency]
sub eax, ebx
cmp eax, ebx
cmovl eax, ebx
mov dword [rbp - 0x6c], eax
lea r8, [0x1413cd1a8]
lea rdx, [rbp - 0x6c]
lea rcx, [rbp + 0x18]
call fcn.1401b1580
nop
movsxd rdx, dword [rbp - 0x6c]
lea rcx, [rsp + 0x78]
call fcn.1401b15d0
nop
xor eax, eax
mov qword [rsp + 0x68], rax
test r14, r14
je 0x14017deef
lea r13, [r12 + 0x960]
xor r12d, r12d
mov qword [rbp - 0x80], r12
jmp 0x14017db73
xor r12d, r12d
xor r8d, r8d
mov rdx, rax
lea rcx, [0x141446a48]
call fcn.140081a20
mov ecx, dword [r13 + 8]
lea rax, [rcx + 0x13]
cmp rax, 0x4000000
jbe 0x14017dbac
mov edx, reloc.WS2_32.dll_send
mov rcx, r13
call fcn.1401ad8a0
mov rbx, rax
mov qword [rsp + 0x50], rax
jmp 0x14017dbbf
mov rbx, qword [r13]
add rbx, rcx
mov qword [rsp + 0x50], rbx
lea eax, [rcx + 0x13]
mov dword [r13 + 8], eax
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 5
jb 0x14017dc05
mov rax, qword [rsi + 8]
movzx ecx, word [rcx + rax]
mov word [rbx + 0xa], cx
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 8]
movzx ecx, word [rcx + rax + 2]
mov word [rbx + 0xc], cx
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 8]
movzx ecx, byte [rcx + rax + 4]
mov byte [rbx + 0x12], cl
add qword [rsi + 0x20], 5
jmp 0x14017dc3a
mov r8d, 5
lea rdx, [rbp + 0xc88]
mov rcx, rsi
call fcn.1401761a0
movzx eax, word [rbp + 0xc88]
mov word [rbx + 0xa], ax
movzx eax, word [rbp + 0xc8a]
mov word [rbx + 0xc], ax
movzx eax, byte [rbp + 0xc8c]
mov byte [rbx + 0x12], al
movzx ecx, word [rbx + 0xc]
movzx eax, word [rbx + 0xa]
imul eax, ecx
cdq
sub eax, edx
sar eax, 1
movsxd rcx, eax
mov qword [rbp + 0x9c0], rcx
mov r15d, 0xffffffff
mov r14, 0xffffffffffffffff
nop dword [rax]
nop word [rax + rax]
mov ebx, r12d
mov rdi, r12
cmp dword [rbp - 0x6c], 0
jle 0x14017dd85
mov rcx, r12
mov rax, qword [rsp + 0x78]
mov edx, dword [rcx + rax + 0x40]
test edx, edx
jne 0x14017dca3
inc ebx
inc rdi
sub rcx, 0xffffffffffffff80
cmp ebx, dword [rbp - 0x6c]
jl 0x14017dc83
jmp 0x14017dd80
cmp edx, 2
jne 0x14017dd7a
mov r12, rdi
shl r12, 7
mov rax, qword [rsp + 0x78]
mov rcx, qword [r12 + rax]
mov r14d, dword [rcx + 6]
mov edx, dword [r13 + 8]
lea rax, [rdx + r14]
cmp rax, 0x4000000
ja 0x14017dce1
mov r15, qword [r13]
add r15, rdx
lea eax, [rdx + r14]
mov dword [r13 + 8], eax
jmp 0x14017dd46
cmp r14, 0x4000000
ja 0x14017dd0a
mov eax, 0x4000000
sub rax, rdx
cmp rax, 0x400
ja 0x14017dd0a
mov edx, r14d
mov rcx, r13
call fcn.1401ad8a0
mov r15, rax
jmp 0x14017dd46
xor r8d, r8d
mov rdx, r14
lea rcx, [0x141443c50]
call fcn.14004a120
add qword [r13 + 0x28], r14
mov rcx, r14
call fcn.1403f4de8
mov qword [rbp + 0x1b8], rax
lea rcx, [r13 + 0x10]
lea rdx, [rbp + 0x1b8]
call fcn.1401ab100
mov r15, qword [rbp + 0x1b8]
mov rdx, qword [rsp + 0x78]
mov rax, qword [r12 + rdx]
mov r8d, dword [rax + 6]
mov rdx, qword [r12 + rdx + 0x18]
mov rcx, r15
call sub.VCRUNTIME140.dll_memcpy
mov rdx, r15
shr rdx, 0x20
mov rax, qword [rsp + 0x78]
mov rcx, qword [r12 + rax]
mov dword [rcx], r15d
mov word [rcx + 4], dx
xor r12d, r12d
mov r15d, ebx
mov r14, rdi
test r14, r14
jns 0x14017dd8c
pause
jmp 0x14017dc70
shl r14, 7
mov rax, qword [rsp + 0x78]
mov rbx, qword [rbp + 0x9c0]
cmp qword [r14 + rax + 0x10], rbx
jae 0x14017ddd1
mov qword [r14 + rax + 0x10], rbx
mov rax, qword [rsp + 0x78]
mov rcx, qword [r14 + rax + 8]
call fcn.1403f4db4
mov rcx, rbx
call fcn.1403f4de8
mov rcx, rax
mov rax, qword [rsp + 0x78]
mov qword [r14 + rax + 8], rcx
mov rax, qword [rsp + 0x78]
mov rcx, qword [r14 + rax + 8]
mov rdx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rdx
mov r8, rbx
cmp rbx, rax
ja 0x14017ddf9
add rdx, qword [rsi + 8]
call sub.VCRUNTIME140.dll_memcpy
add qword [rsi + 0x20], rbx
jmp 0x14017de04
mov rdx, rcx
mov rcx, rsi
call fcn.1401761a0
mov rax, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x50]
mov qword [r14 + rax], rdi
movsxd rcx, r15d
shl rcx, 7
mov rax, qword [rsp + 0x78]
add rax, 0x40
add rcx, rax
xor edx, edx
mov r8d, 3
call fcn.1401aaaf0
mov rbx, qword [rbp + 0x18]
mov r12, qword [rsp + 0x40]
mov qword [rbp + 0x590], r12
lea rax, [rsp + 0x78]
mov qword [rbp + 0x598], rax
mov dword [rbp + 0x5a0], r15d
mov qword [rbp + 0x5a8], rdi
mov rax, qword [rbp - 0x78]
mov qword [rbp + 0x5b0], rax
xor eax, eax
mov qword [rbp + 0xb58], rax
lea rdx, [rbp + 0x590]
lea rcx, [rbp + 0xb20]
call fcn.1401b78d0
nop
lea rdx, [rbp + 0xb20]
mov rcx, rbx
call fcn.1401cad20
nop
lea rcx, [rbp + 0xb20]
call fcn.140012a10
mov rdx, rdi
shr rdx, 0x20
movzx ecx, word [r12 + 0x1427]
shl rcx, 0x20
mov eax, dword [r12 + 0x1423]
or rcx, rax
mov rbx, qword [rbp - 0x80]
mov dword [rcx + rbx], edi
mov word [rcx + rbx + 4], dx
mov rax, qword [rsp + 0x68]
inc rax
mov qword [rsp + 0x68], rax
add rbx, 6
mov qword [rbp - 0x80], rbx
cmp rax, qword [rsp + 0x60]
jb 0x14017db70
mov r13, qword [rbp - 0x78]
mov rcx, qword [rbp + 0x18]
call fcn.1401cadd0
xor edx, edx
lea rcx, [rbp + 0x18]
call fcn.1401aaa80
xor ecx, ecx
mov r12d, ecx
cmp dword [rbp - 0x6c], ecx
jle 0x14017e032
mov r14, qword [rsp + 0x40]
add r14, 0x960
mov ebx, ecx
nop
mov rax, qword [rsp + 0x78]
mov ecx, dword [rbx + rax + 0x40]
cmp ecx, 2
jne 0x14017dff2
mov rax, qword [rsp + 0x78]
mov rcx, qword [rbx + rax]
mov edi, dword [rcx + 6]
mov edx, dword [r14 + 8]
lea rax, [rdi + rdx]
cmp rax, 0x4000000
ja 0x14017df5d
mov r15, qword [r14]
add r15, rdx
lea eax, [rdx + rdi]
mov dword [r14 + 8], eax
jmp 0x14017dfc1
cmp rdi, 0x4000000
ja 0x14017df85
mov eax, 0x4000000
sub rax, rdx
cmp rax, 0x400
ja 0x14017df85
mov edx, edi
mov rcx, r14
call fcn.1401ad8a0
mov r15, rax
jmp 0x14017dfc1
xor r8d, r8d
mov rdx, rdi
lea rcx, [0x141443c50]
call fcn.14004a120
add qword [r14 + 0x28], rdi
mov rcx, rdi
call fcn.1403f4de8
mov qword [rbp + 0x1c8], rax
lea rcx, [r14 + 0x10]
lea rdx, [rbp + 0x1c8]
call fcn.1401ab100
mov r15, qword [rbp + 0x1c8]
mov rdx, qword [rsp + 0x78]
mov rax, qword [rbx + rdx]
mov r8d, dword [rax + 6]
mov rdx, qword [rbx + rdx + 0x18]
mov rcx, r15
call sub.VCRUNTIME140.dll_memcpy
mov rdx, r15
shr rdx, 0x20
mov rax, qword [rsp + 0x78]
mov rcx, qword [rbx + rax]
mov dword [rcx], r15d
mov word [rcx + 4], dx
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rbx + rcx + 0x28]
call fcn.140324830
mov rax, qword [rsp + 0x78]
mov rcx, qword [rbx + rax + 8]
call fcn.1403f4db4
mov rax, qword [rsp + 0x78]
mov rcx, qword [rbx + rax + 0x18]
call fcn.1403f4db4
inc r12d
sub rbx, 0xffffffffffffff80
cmp r12d, dword [rbp - 0x6c]
jl 0x14017df20
xor ecx, ecx
mov r12, qword [rsp + 0x40]
mov r11, qword [r12 + 0xab8]
mov ebx, dword [r11 + 0xe]
mov r9d, ecx
test ebx, ebx
je 0x14017e0a7
mov r10, rcx
nop dword [rax]
movzx ecx, word [r11 + 0xc]
shl rcx, 0x20
mov eax, dword [r11 + 8]
or rcx, rax
movsxd rdx, dword [rcx + r10 + 0x10]
cmp edx, 0xffffffff
je 0x14017e09b
movzx r8d, word [r12 + 0x1427]
shl r8, 0x20
mov eax, dword [r12 + 0x1423]
or r8, rax
lea rcx, [rdx + rdx*2]
movzx edx, word [r8 + rcx*2 + 4]
shl rdx, 0x20
mov eax, dword [r8 + rcx*2]
or rdx, rax
mov dword [rdx + 0xe], r9d
inc r9d
add r10, 0x14
cmp r9d, ebx
jb 0x14017e050
lea rcx, [rsp + 0x78]
call fcn.1401aaa60
nop
lea rcx, [rbp + 0x18]
call fcn.1401aaac0
mov r15d, dword [rsp + 0x48]
mov rcx, r13
call fcn.14032c770
xor r14d, r14d
jmp 0x14017e261
cmp rax, 4
jb 0x14017e0e7
mov rax, qword [rsi + 8]
mov edx, dword [rcx + rax]
lea rax, [rcx + 4]
mov qword [rsi + 0x20], rax
jmp 0x14017e0fc
mov r8d, 4
lea rdx, [rbp + 0x34]
mov rcx, rsi
call fcn.1401761a0
mov edx, dword [rbp + 0x34]
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rdx, rax
ja 0x14017e117
lea rax, [rcx + rdx]
mov qword [rsi + 0x20], rax
jmp 0x14017e11f
mov rcx, rsi
call fcn.140176250
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017e143
mov rax, qword [rsi + 8]
mov rdi, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017e15f
mov r8d, 8
lea rdx, [rbp + 0x3f8]
mov rcx, rsi
call fcn.1401761a0
mov rdi, qword [rbp + 0x3f8]
xor r8d, r8d
mov rdx, rdi
lea rcx, [0x141446a40]
call fcn.140081a20
xor r14d, r14d
mov ebx, r14d
test rdi, rdi
je 0x14017e21b
xor r8d, r8d
mov rdx, rbx
lea rcx, [0x141446a48]
call fcn.140081a20
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 4
jb 0x14017e1bc
mov rax, qword [rsi + 8]
movzx edx, word [rax + rcx]
movzx r8d, word [rax + rcx + 2]
lea rax, [rcx + 4]
mov qword [rsi + 0x20], rax
jmp 0x14017e1d7
mov r8d, 4
lea rdx, [rbp - 0x24]
mov rcx, rsi
call fcn.1401761a0
movzx edx, word [rbp - 0x24]
movzx r8d, word [rbp - 0x22]
movzx ecx, dx
movzx eax, r8w
imul eax, ecx
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
inc rdx
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rdx, rax
ja 0x14017e207
lea rax, [rdx + rcx]
mov qword [rsi + 0x20], rax
jmp 0x14017e20f
mov rcx, rsi
call fcn.140176250
inc rbx
cmp rbx, rdi
jb 0x14017e180
mov rcx, qword [r12 + 0xab8]
movzx r8d, word [rcx + 0xc]
shl r8, 0x20
mov eax, dword [rcx + 8]
or r8, rax
mov eax, dword [rcx + 0xe]
lea rcx, [rax + rax*4]
lea rax, [r8 + rcx*4]
cmp r8, rax
je 0x14017e261
nop dword [rax]
nop word [rax + rax]
mov dword [r8 + 0x10], 0xffffffff
add r8, 0x14
cmp r8, rax
jne 0x14017e250
xor r8d, r8d
xor edx, edx
lea rcx, [0x141446a40]
call fcn.140081a20
xor r8d, r8d
mov edx, 9
lea rcx, [0x141446a38]
call fcn.140081a20
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
test r15b, 0x20
je 0x14017e60e
cmp rax, 8
jb 0x14017e2b4
mov rax, qword [rsi + 8]
mov rbx, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017e2d0
mov r8d, 8
lea rdx, [rbp + 0x400]
mov rcx, rsi
call fcn.1401761a0
mov rbx, qword [rbp + 0x400]
mov qword [rsp + 0x68], rbx
xor r8d, r8d
mov rdx, rbx
lea rcx, [0x141446a40]
call fcn.140081a20
lea rax, [r12 + 0x1458]
mov qword [rbp - 0x80], rax
xor r8d, r8d
mov rdx, rbx
mov rcx, rax
call fcn.1401adb20
xor edi, edi
mov eax, edi
mov qword [rbp - 0x78], rax
test rbx, rbx
je 0x14017e710
lea r14, [r12 + 0x960]
mov qword [rbp + 0x9c0], r14
lea r13, [r12 + 0x12e8]
nop dword [rax]
xor r8d, r8d
mov rdx, rax
lea rcx, [0x141446a48]
call fcn.140081a20
mov rdx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rdx
cmp rax, 0x10
jb 0x14017e372
mov rcx, qword [rsi + 8]
mov rax, qword [rcx + rdx]
mov qword [rbp + 0x1d8], rax
mov r15, qword [rcx + rdx + 8]
lea rax, [rdx + 0x10]
mov qword [rsi + 0x20], rax
jmp 0x14017e39c
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rbp + 0xea8]
mov rcx, rsi
call fcn.1401761a0
mov rax, qword [rbp + 0xea8]
mov qword [rbp + 0x1d8], rax
mov r15, qword [rbp + 0xeb0]
mov ecx, dword [r14 + 8]
lea rax, [rcx + 0x18]
cmp rax, 0x4000000
jbe 0x14017e3be
mov edx, 0x18
mov rcx, r14
call fcn.1401ad8a0
mov rbx, rax
jmp 0x14017e3cb
mov rbx, qword [r14]
add rbx, rcx
lea eax, [rcx + 0x18]
mov dword [r14 + 8], eax
xor eax, eax
mov qword [rbx], rax
mov word [rbx + 8], ax
mov byte [rbx + 0xa], al
mov qword [rbx + 0x10], rdi
mov qword [rbp + 0x60], rbx
or byte [rbx + 0xa], 0x7f
mov dword [rbx + 6], r15d
mov eax, r15d
lea rdi, [rax + rax*2]
shl rdi, 3
mov edx, dword [r14 + 8]
mov ecx, edx
lea rax, [rdx + rdi]
cmp rax, 0x4000000
ja 0x14017e410
add rcx, qword [r14]
lea eax, [rdi + rdx]
mov dword [r14 + 8], eax
jmp 0x14017e474
cmp rdi, 0x4000000
ja 0x14017e438
mov eax, 0x4000000
sub rax, rcx
cmp rax, 0x400
ja 0x14017e438
mov edx, edi
mov rcx, r14
call fcn.1401ad8a0
mov rcx, rax
jmp 0x14017e474
xor r8d, r8d
mov rdx, rdi
lea rcx, [0x141443c50]
call fcn.14004a120
add qword [r14 + 0x28], rdi
mov rcx, rdi
call fcn.1403f4de8
mov qword [rbp + 0x1d0], rax
lea rcx, [r14 + 0x10]
lea rdx, [rbp + 0x1d0]
call fcn.1401ab100
mov rcx, qword [rbp + 0x1d0]
mov rax, rcx
shr rax, 0x20
mov dword [rbx], ecx
mov word [rbx + 4], ax
xor edi, edi
mov ecx, edi
mov qword [rsp + 0x50], rcx
mov r12d, edi
mov rdx, qword [rbp + 0x60]
movzx ebx, word [rdx + 4]
shl rbx, 0x20
mov eax, dword [rdx]
or rbx, rax
test r15, r15
je 0x14017e5cf
nop word [rax + rax]
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 0x23
jb 0x14017e4f4
mov rax, qword [rsi + 8]
mov r9, qword [rax + rcx]
mov r10, qword [rax + rcx + 8]
mov rdx, qword [rax + rcx + 0x10]
movzx r11d, byte [rax + rcx + 0x18]
movzx edi, byte [rax + rcx + 0x19]
movzx r14d, byte [rax + rcx + 0x1a]
mov r8, qword [rax + rcx + 0x1b]
lea rax, [rcx + 0x23]
mov qword [rsi + 0x20], rax
jmp 0x14017e53c
mov r8d, 0x23
lea rdx, [rbp + 0xde8]
mov rcx, rsi
call fcn.1401761a0
mov r9, qword [rbp + 0xde8]
mov r10, qword [rbp + 0xdf0]
mov rdx, qword [rbp + 0xdf8]
movzx r11d, byte [rbp + 0xe00]
movzx edi, byte [rbp + 0xe01]
movzx r14d, byte [rbp + 0xe02]
mov r8, qword [rbp + 0xe03]
lea rcx, [r9 + r12]
mov dword [rbx + 0x10], ecx
mov rax, rcx
sar rax, 0x20
mov word [rbx + 0x14], ax
lea r9, [rcx + r10]
mov qword [rsp + 0x60], r9
mov rcx, r9
shl rcx, 0x10
movzx eax, r11b
or rcx, rax
mov qword [rbx], rcx
test rdx, rdx
jle 0x14017e572
add qword [rsp + 0x50], rdx
lea r12, [rdx + r9]
mov rcx, r12
shl rcx, 8
movsx rax, dil
or rcx, rax
shl rcx, 8
movzx eax, r14b
or rcx, rax
mov qword [rbx + 8], rcx
cmp qword [r13 + 0x50], r8
jne 0x14017e5a0
movzx eax, word [r13 + 0x58]
jmp 0x14017e5ab
mov rdx, r8
mov rcx, r13
call fcn.1401d5240
mov word [rbx + 0x16], ax
add rbx, 0x18
sub r15, 1
jne 0x14017e4b0
mov rdx, qword [rbp + 0x60]
mov r14, qword [rbp + 0x9c0]
mov rcx, qword [rsp + 0x50]
xor edi, edi
mov qword [rdx + 0x10], rcx
lea r9, [rbp + 0x60]
lea r8, [rbp + 0x1d8]
lea rdx, [rbp + 0x918]
mov rcx, qword [rbp - 0x80]
call fcn.1401b0910
mov rax, qword [rbp - 0x78]
inc rax
mov qword [rbp - 0x78], rax
cmp rax, qword [rsp + 0x68]
jb 0x14017e330
mov r15d, dword [rsp + 0x48]
jmp 0x14017e710
cmp rax, 8
jb 0x14017e626
mov rax, qword [rsi + 8]
mov rdi, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017e642
mov r8d, 8
lea rdx, [rbp + 0x408]
mov rcx, rsi
call fcn.1401761a0
mov rdi, qword [rbp + 0x408]
xor r8d, r8d
mov rdx, rdi
lea rcx, [0x141446a40]
call fcn.140081a20
mov rbx, r14
test rdi, rdi
je 0x14017e70e
xor r8d, r8d
mov rdx, rbx
lea rcx, [0x141446a48]
call fcn.140081a20
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017e68e
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017e69b
mov edx, 8
mov rcx, rsi
call fcn.140176250
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017e6bf
mov rax, qword [rsi + 8]
mov rdx, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017e6db
mov r8d, 8
lea rdx, [rbp + 0x410]
mov rcx, rsi
call fcn.1401761a0
mov rdx, qword [rbp + 0x410]
imul rdx, rdx, 0x23
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rdx, rax
ja 0x14017e6fa
lea rax, [rcx + rdx]
mov qword [rsi + 0x20], rax
jmp 0x14017e702
mov rcx, rsi
call fcn.140176250
inc rbx
cmp rbx, rdi
jb 0x14017e660
xor edi, edi
xor r8d, r8d
xor edx, edx
lea rcx, [0x141446a40]
call fcn.140081a20
xor r8d, r8d
mov edx, 0xa
lea rcx, [0x141446a38]
call fcn.140081a20
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017e759
mov rax, qword [rsi + 8]
mov rdx, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017e775
mov r8d, 8
lea rdx, [rbp + 0x418]
mov rcx, rsi
call fcn.1401761a0
mov rdx, qword [rbp + 0x418]
xor r8d, r8d
lea rcx, [0x141446a40]
call fcn.140081a20
test r15b, 0x20
je 0x14017e9b8
mov rdx, rdi
mov qword [rbp - 0x80], rdx
mov r8, qword [rsp + 0x40]
lea r13, [r8 + 0x960]
lea r15, [r8 + 0x14a2]
mov r14d, 0x100
mov qword [rbp - 0x78], r14
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017e7e4
mov rax, qword [rsi + 8]
mov r12, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017e809
mov r8d, 8
lea rdx, [rbp + 0x420]
mov rcx, rsi
call fcn.1401761a0
mov r12, qword [rbp + 0x420]
mov rdx, qword [rbp - 0x80]
mov r8, qword [rsp + 0x40]
test r12, r12
je 0x14017e984
mov rax, qword [rbp + 0x68]
mov dword [r8 + 0x1f98], eax
or byte [r15], 0x7f
mov dword [r15 - 4], r12d
mov eax, r12d
imul rbx, rax, 0xe
mov edx, dword [r13 + 8]
mov ecx, edx
lea rax, [rdx + rbx]
cmp rax, 0x4000000
ja 0x14017e84b
add rcx, qword [r13]
lea eax, [rbx + rdx]
mov dword [r13 + 8], eax
jmp 0x14017e8af
cmp rbx, 0x4000000
ja 0x14017e873
mov eax, 0x4000000
sub rax, rcx
cmp rax, 0x400
ja 0x14017e873
mov edx, ebx
mov rcx, r13
call fcn.1401ad8a0
mov rcx, rax
jmp 0x14017e8af
xor r8d, r8d
mov rdx, rbx
lea rcx, [0x141443c50]
call fcn.14004a120
add qword [r13 + 0x28], rbx
mov rcx, rbx
call fcn.1403f4de8
mov qword [rbp + 0x1e0], rax
lea rcx, [r13 + 0x10]
lea rdx, [rbp + 0x1e0]
call fcn.1401ab100
mov rcx, qword [rbp + 0x1e0]
mov rax, rcx
shr rax, 0x20
mov dword [r15 - 0xa], ecx
mov word [r15 - 6], ax
movzx ebx, ax
shl rbx, 0x20
mov eax, dword [r15 - 0xa]
or rbx, rax
test r12, r12
je 0x14017e979
mov r14, r12
nop dword [rax]
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 0x12
jb 0x14017e90f
mov rax, qword [rsi + 8]
mov rdx, qword [rax + rcx]
mov r8, qword [rax + rcx + 8]
movzx r9d, word [rax + rcx + 0x10]
lea rax, [rcx + 0x12]
mov qword [rsi + 0x20], rax
jmp 0x14017e93a
mov r8d, send
lea rdx, [rbp + 0xe10]
mov rcx, rsi
call fcn.1401761a0
mov rdx, qword [rbp + 0xe10]
mov r8, qword [rbp + 0xe18]
movzx r9d, word [rbp + 0xe20]
add rdx, rdi
mov qword [rbp + 0x9c0], rdx
mov rcx, rdx
shl rcx, 0x10
movzx eax, r9w
or rcx, rax
mov qword [rbx], rcx
lea rdi, [rdx + r8]
mov dword [rbx + 8], edi
mov rax, rdi
sar rax, 0x20
mov word [rbx + 0xc], ax
add rbx, 0xe
sub r14, 1
jne 0x14017e8e0
mov r14, qword [rbp - 0x78]
mov rdx, qword [rbp - 0x80]
add rdx, r12
mov qword [rbp - 0x80], rdx
xor r8d, r8d
lea rcx, [0x141446a48]
call fcn.140081a20
inc dword [rbp + 0x68]
add r15, 0xb
sub r14, 1
mov qword [rbp - 0x78], r14
mov rdx, qword [rbp - 0x80]
mov r8, qword [rsp + 0x40]
mov edi, 0
jne 0x14017e7c0
jmp 0x14017ea30
mov ebx, 0x100
nop dword [rax]
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017e9e4
mov rax, qword [rsi + 8]
mov rdx, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017ea00
mov r8d, 8
lea rdx, [rbp + 0x428]
mov rcx, rsi
call fcn.1401761a0
mov rdx, qword [rbp + 0x428]
lea rdx, [rdx + rdx*8]
add rdx, rdx
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rdx, rax
ja 0x14017ea22
lea rax, [rcx + rdx]
mov qword [rsi + 0x20], rax
jmp 0x14017ea2a
mov rcx, rsi
call fcn.140176250
sub rbx, 1
jne 0x14017e9c0
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017ea54
mov rax, qword [rsi + 8]
mov rbx, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017ea70
mov r8d, 8
lea rdx, [rbp + 0x430]
mov rcx, rsi
call fcn.1401761a0
mov rbx, qword [rbp + 0x430]
mov r13, qword [rsp + 0x40]
test rbx, rbx
je 0x14017eb13
nop
mov rdx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rdx
cmp rax, 0x10
jb 0x14017eab7
mov rcx, qword [rsi + 8]
mov rax, qword [rcx + rdx]
mov qword [rbp + 0x1f0], rax
mov rax, qword [rcx + rdx + 8]
mov qword [rbp + 0x1e8], rax
lea rax, [rdx + 0x10]
mov qword [rsi + 0x20], rax
jmp 0x14017eae8
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rbp + 0xe98]
mov rcx, rsi
call fcn.1401761a0
mov rax, qword [rbp + 0xe98]
mov qword [rbp + 0x1f0], rax
mov rax, qword [rbp + 0xea0]
mov qword [rbp + 0x1e8], rax
lea r9, [rbp + 0x1e8]
lea r8, [rbp + 0x1f0]
lea rdx, [rbp + 0x858]
lea rcx, [r13 + 0x1fa0]
call fcn.1401b0910
sub rbx, 1
jne 0x14017ea80
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017eb37
mov rax, qword [rsi + 8]
mov rbx, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017eb53
mov r8d, 8
lea rdx, [rbp + 0x438]
mov rcx, rsi
call fcn.1401761a0
mov rbx, qword [rbp + 0x438]
xor r12d, r12d
test rbx, rbx
je 0x14017ec05
nop
mov qword [rbp + 0x88], r12
mov qword [rbp + 0x90], r12
mov rdx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rdx
cmp rax, 0x18
jb 0x14017eba7
mov rcx, qword [rsi + 8]
mov rax, qword [rcx + rdx]
mov qword [rbp + 0x1f8], rax
vmovups xmm0, xmmword [rcx + rdx + 8]
vmovups xmmword [rbp + 0x88], xmm0
lea rax, [rdx + 0x18]
mov qword [rsi + 0x20], rax
jmp 0x14017ebda
mov r8d, 0x18
lea rdx, [rbp + 0xf98]
mov rcx, rsi
call fcn.1401761a0
mov rax, qword [rbp + 0xf98]
mov qword [rbp + 0x1f8], rax
vmovups xmm0, xmmword [rbp + 0xfa0]
vmovups xmmword [rbp + 0x88], xmm0
lea r9, [rbp + 0x88]
lea r8, [rbp + 0x1f8]
lea rdx, [rbp + 0x930]
lea rcx, [r13 + 0x1fe0]
call fcn.1401b16f0
sub rbx, 1
jne 0x14017eb60
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017ec29
mov rax, qword [rsi + 8]
mov rdx, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017ec45
mov r8d, 8
lea rdx, [rbp + 0x440]
mov rcx, rsi
call fcn.1401761a0
mov rdx, qword [rbp + 0x440]
lea rdi, [r13 + 0x960]
or byte [r13 + 0xff2], 0x7f
mov dword [r13 + 0xfee], edx
mov eax, edx
lea rbx, [rax + rax*2]
shl rbx, 2
mov edx, dword [rdi + 8]
mov ecx, edx
lea rax, [rbx + rdx]
cmp rax, 0x4000000
ja 0x14017ec81
add rcx, qword [rdi]
lea eax, [rbx + rdx]
mov dword [rdi + 8], eax
jmp 0x14017ece5
cmp rbx, 0x4000000
ja 0x14017eca9
mov eax, 0x4000000
sub rax, rcx
cmp rax, 0x400
ja 0x14017eca9
mov edx, ebx
mov rcx, rdi
call fcn.1401ad8a0
mov rcx, rax
jmp 0x14017ece5
xor r8d, r8d
mov rdx, rbx
lea rcx, [0x141443c50]
call fcn.14004a120
add qword [rdi + 0x28], rbx
mov rcx, rbx
call fcn.1403f4de8
mov qword [rbp + 0x200], rax
lea rcx, [rdi + 0x10]
lea rdx, [rbp + 0x200]
call fcn.1401ab100
mov rcx, qword [rbp + 0x200]
mov rax, rcx
shr rax, 0x20
mov dword [r13 + 0xfe8], ecx
mov word [r13 + 0xfec], ax
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017ed1f
mov rax, qword [rsi + 8]
mov rdx, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017ed3b
mov r8d, 8
lea rdx, [rbp + 0x448]
mov rcx, rsi
call fcn.1401761a0
mov rdx, qword [rbp + 0x448]
lea rdi, [r13 + 0x960]
or byte [r13 + 0xffd], 0x7f
mov dword [r13 + 0xff9], edx
mov ebx, edx
shl rbx, 3
mov edx, dword [rdi + 8]
mov ecx, edx
lea rax, [rbx + rdx]
cmp rax, 0x4000000
ja 0x14017ed73
add rcx, qword [rdi]
lea eax, [rdx + rbx]
mov dword [rdi + 8], eax
jmp 0x14017edd7
cmp rbx, 0x4000000
ja 0x14017ed9b
mov eax, 0x4000000
sub rax, rcx
cmp rax, 0x400
ja 0x14017ed9b
mov edx, ebx
mov rcx, rdi
call fcn.1401ad8a0
mov rcx, rax
jmp 0x14017edd7
xor r8d, r8d
mov rdx, rbx
lea rcx, [0x141443c50]
call fcn.14004a120
add qword [rdi + 0x28], rbx
mov rcx, rbx
call fcn.1403f4de8
mov qword [rbp + 0x208], rax
lea rcx, [rdi + 0x10]
lea rdx, [rbp + 0x208]
call fcn.1401ab100
mov rcx, qword [rbp + 0x208]
mov rax, rcx
shr rax, 0x20
mov dword [r13 + 0xff3], ecx
mov word [r13 + 0xff7], ax
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017ee11
mov rax, qword [rsi + 8]
mov r15, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017ee2d
mov r8d, 8
lea rdx, [rbp + 0x450]
mov rcx, rsi
call fcn.1401761a0
mov r15, qword [rbp + 0x450]
lea rcx, [r13 + 0xf68]
xor r8d, r8d
mov rdx, r15
call fcn.1401adfb0
test r15, r15
je 0x14017f06a
mov r14, r12
nop dword [rax + rax]
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 0x20
jb 0x14017eedd
mov rdi, qword [rsi + 8]
mov rax, qword [rdi + rcx]
mov qword [rbp + 0x20], rax
movzx edx, word [rdi + rcx + 8]
movzx r8d, byte [rdi + rcx + 0xa]
movzx r9d, word [rdi + rcx + 0xb]
movzx r10d, byte [rdi + rcx + 0xd]
mov r11d, dword [rdi + rcx + 0xe]
movzx eax, word [rdi + rcx + 0x12]
mov word [rsp + 0x60], ax
movzx eax, byte [rdi + rcx + 0x14]
mov byte [rsp + 0x70], al
movzx eax, word [rdi + rcx + 0x15]
mov word [rbp - 0x58], ax
movzx eax, byte [rdi + rcx + 0x17]
mov byte [rsp + 0x58], al
mov eax, dword [rdi + rcx + 0x18]
mov dword [rbp - 0x80], eax
movzx r13d, byte [rdi + rcx + 0x1c]
movzx ebx, word [rdi + rcx + 0x1d]
movzx edi, byte [rdi + rcx + 0x1f]
lea rax, [rcx + 0x20]
mov qword [rsi + 0x20], rax
movzx eax, word [rsp + 0x60]
movzx ecx, byte [rsp + 0x70]
jmp 0x14017ef66
mov r8d, 0x20
lea rdx, [rbp + 0xc90]
mov rcx, rsi
call fcn.1401761a0
mov rax, qword [rbp + 0xc90]
mov qword [rbp + 0x20], rax
movzx edx, word [rbp + 0xc98]
movzx r8d, byte [rbp + 0xc9a]
movzx r9d, word [rbp + 0xc9b]
movzx r10d, byte [rbp + 0xc9d]
mov r11d, dword [rbp + 0xc9e]
movzx eax, word [rbp + 0xca2]
movzx ecx, byte [rbp + 0xca4]
movzx ebx, word [rbp + 0xca5]
mov word [rbp - 0x58], bx
movzx ebx, byte [rbp + 0xca7]
mov byte [rsp + 0x58], bl
mov ebx, dword [rbp + 0xca8]
mov dword [rbp - 0x80], ebx
movzx r13d, byte [rbp + 0xcac]
movzx ebx, word [rbp + 0xcad]
movzx edi, byte [rbp + 0xcaf]
mov word [rbp + 0x9e0], dx
mov byte [rbp + 0x9e2], r8b
mov word [rbp + 0x9e3], r9w
mov byte [rbp + 0x9e5], r10b
mov dword [rbp + 0x9e6], r11d
mov word [rbp + 0x9ea], ax
mov byte [rbp + 0x9ec], cl
movzx eax, word [rbp - 0x58]
mov word [rbp + 0x9ed], ax
movzx eax, byte [rsp + 0x58]
mov byte [rbp + 0x9ef], al
mov eax, dword [rbp - 0x80]
mov dword [rbp + 0x9f0], eax
mov byte [rbp + 0x9f4], r13b
mov word [rbp + 0x9f5], bx
mov byte [rbp + 0x9f7], dil
lea r9, [rbp + 0x9e0]
lea r8, [rbp + 0x20]
lea rdx, [rbp + 0x900]
mov rcx, qword [rsp + 0x40]
add rcx, 0xf68
call fcn.1401b17b0
test r13b, r13b
mov r13, qword [rsp + 0x40]
je 0x14017f01c
movzx ecx, word [r13 + 0xff7]
shl rcx, 0x20
mov eax, dword [r13 + 0xff3]
or rcx, rax
mov rax, qword [rbp + 0x20]
mov qword [rcx + r12], rax
add r12, 8
jmp 0x14017f060
mov rax, qword [rbp + 0x20]
mov qword [rbp + 0x9c0], rax
movzx edx, dil
shl edx, 0x10
movzx eax, bx
or edx, eax
movzx ecx, word [r13 + 0xfec]
shl rcx, 0x20
mov eax, dword [r13 + 0xfe8]
or rcx, rax
vmovsd xmm0, qword [rbp + 0x9c0]
vmovsd qword [rcx + r14], xmm0
mov dword [rcx + r14 + 8], edx
add r14, 0xc
sub r15, 1
jne 0x14017ee50
movzx edx, word [r13 + 0xfec]
shl rdx, 0x20
mov eax, dword [r13 + 0xfe8]
or rdx, rax
mov eax, dword [r13 + 0xfee]
lea rcx, [rax + rax*2]
lea r8, [rdx + rcx*4]
movzx r9d, byte [rbp - 0x6f]
lea rcx, [0x1413a1907]
call fcn.1401b1890
movzx edx, word [r13 + 0xff7]
shl rdx, 0x20
mov eax, dword [r13 + 0xff3]
or rdx, rax
mov eax, dword [r13 + 0xff9]
lea r8, [rdx + rax*8]
xor r9d, r9d
lea rcx, [0x1413a1907]
call fcn.1401b7e30
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017f0f4
mov rax, qword [rsi + 8]
mov r12, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017f110
mov r8d, 8
lea rdx, [rbp + 0x458]
mov rcx, rsi
call fcn.1401761a0
mov r12, qword [rbp + 0x458]
test byte [rsp + 0x48], 0x80
je 0x14017f2b3
xor eax, eax
mov r13d, eax
mov rbx, qword [rsp + 0x40]
lea rcx, [rbx + 0x2108]
xor r8d, r8d
mov rdx, r12
call fcn.1401ada70
test r12, r12
je 0x14017f2a5
lea rdi, [rbx + 0x960]
nop word [rax + rax]
mov rdx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rdx
cmp rax, 0xc
jb 0x14017f180
mov rcx, qword [rsi + 8]
mov rax, qword [rcx + rdx]
mov qword [rbp + 0x218], rax
mov r15d, dword [rcx + rdx + 8]
lea rax, [rdx + 0xc]
mov qword [rsi + 0x20], rax
jmp 0x14017f1aa
mov r8d, recv
lea rdx, [rbp + 0xd70]
mov rcx, rsi
call fcn.1401761a0
mov rax, qword [rbp + 0xd70]
mov qword [rbp + 0x218], rax
mov r15d, dword [rbp + 0xd78]
mov ebx, r15d
add r13, rbx
mov edx, dword [rdi + 8]
lea rax, [rbx + rdx]
cmp rax, 0x4000000
ja 0x14017f1ce
mov r14, qword [rdi]
add r14, rdx
lea eax, [r15 + rdx]
mov dword [rdi + 8], eax
jmp 0x14017f233
cmp rbx, 0x4000000
ja 0x14017f1f7
mov eax, 0x4000000
sub rax, rdx
cmp rax, 0x400
ja 0x14017f1f7
mov edx, r15d
mov rcx, rdi
call fcn.1401ad8a0
mov r14, rax
jmp 0x14017f233
xor r8d, r8d
mov rdx, rbx
lea rcx, [0x141443c50]
call fcn.14004a120
add qword [rdi + 0x28], rbx
mov rcx, rbx
call fcn.1403f4de8
mov qword [rbp + 0x210], rax
lea rcx, [rdi + 0x10]
lea rdx, [rbp + 0x210]
call fcn.1401ab100
mov r14, qword [rbp + 0x210]
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
mov r8, rbx
cmp rbx, rax
ja 0x14017f25c
mov rdx, qword [rsi + 8]
add rdx, rcx
mov rcx, r14
call sub.VCRUNTIME140.dll_memcpy
add qword [rsi + 0x20], rbx
jmp 0x14017f267
mov rdx, r14
mov rcx, rsi
call fcn.1401761a0
mov qword [rbp + 0x4e8], r14
mov dword [rbp + 0x4f0], r15d
lea r9, [rbp + 0x4e8]
lea r8, [rbp + 0x218]
lea rdx, [rbp + 0x888]
mov rbx, qword [rsp + 0x40]
lea rcx, [rbx + 0x2108]
call fcn.1401b1a40
sub r12, 1
jne 0x14017f150
mov qword [rbx + 0x2148], r13
mov r13, qword [rsp + 0x40]
jmp 0x14017f328
test r12, r12
je 0x14017f328
nop dword [rax + rax]
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 0xc
jb 0x14017f2e4
mov rax, qword [rsi + 8]
mov edx, dword [rax + rcx + 8]
lea rax, [rcx + 0xc]
mov qword [rsi + 0x20], rax
jmp 0x14017f2ff
mov r8d, recv
lea rdx, [rbp + 0xf50]
mov rcx, rsi
call fcn.1401761a0
mov edx, dword [rbp + 0xf58]
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rdx, rax
ja 0x14017f31a
lea rax, [rdx + rcx]
mov qword [rsi + 0x20], rax
jmp 0x14017f322
mov rcx, rsi
call fcn.140176250
sub r12, 1
jne 0x14017f2c0
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017f34c
mov rax, qword [rsi + 8]
mov rbx, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017f368
mov r8d, 8
lea rdx, [rbp + 0x460]
mov rcx, rsi
call fcn.1401761a0
mov rbx, qword [rbp + 0x460]
xor r8d, r8d
mov rdx, rbx
lea rcx, [r13 + 0x1010]
call fcn.1401adb20
test rbx, rbx
je 0x14017f423
nop dword [rax]
nop word [rax + rax]
mov rdx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rdx
cmp rax, 0x10
jb 0x14017f3c7
mov rcx, qword [rsi + 8]
mov rax, qword [rcx + rdx]
mov qword [rbp + 0x228], rax
mov rax, qword [rcx + rdx + 8]
mov qword [rbp + 0x220], rax
lea rax, [rdx + 0x10]
mov qword [rsi + 0x20], rax
jmp 0x14017f3f8
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rbp + 0xe88]
mov rcx, rsi
call fcn.1401761a0
mov rax, qword [rbp + 0xe88]
mov qword [rbp + 0x228], rax
mov rax, qword [rbp + 0xe90]
mov qword [rbp + 0x220], rax
lea r9, [rbp + 0x220]
lea r8, [rbp + 0x228]
lea rdx, [rbp + 0x870]
lea rcx, [r13 + 0x1010]
call fcn.1401b0910
sub rbx, 1
jne 0x14017f390
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017f447
mov rax, qword [rsi + 8]
mov r14, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017f463
mov r8d, 8
lea rdx, [rbp + 0x468]
mov rcx, rsi
call fcn.1401761a0
mov r14, qword [rbp + 0x468]
xor r8d, r8d
mov rdx, r14
lea rcx, [r13 + 0x2190]
call fcn.1401ad910
test r14, r14
je 0x14017f61f
lea rdi, [r13 + 0x960]
nop word [rax + rax]
mov rdx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rdx
cmp rax, 8
jb 0x14017f4bb
mov rax, qword [rsi + 8]
mov rcx, qword [rdx + rax]
mov qword [rbp + 0x158], rcx
lea rax, [rdx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017f4de
mov r8d, 8
lea rdx, [rbp + 0x470]
mov rcx, rsi
call fcn.1401761a0
mov rax, qword [rbp + 0x470]
mov qword [rbp + 0x158], rax
xor eax, eax
mov qword [rbp + 0xa30], rax
mov word [rbp + 0xa38], ax
mov byte [rbp + 0xa3a], al
xor ecx, ecx
mov dword [rbp + 0xa3b], ecx
mov qword [rbp + 0xa3f], rax
mov word [rbp + 0xa47], ax
mov byte [rbp + 0xa49], al
mov dword [rbp + 0xa4a], ecx
mov qword [rbp + 0xa4e], rax
mov word [rbp + 0xa56], ax
mov byte [rbp + 0xa58], al
mov dword [rbp + 0xa59], ecx
mov qword [rbp + 0xa5d], rax
mov word [rbp + 0xa65], ax
mov byte [rbp + 0xa67], al
mov dword [rbp + 0xa68], ecx
mov qword [rbp + 0xa6c], rax
mov word [rbp + 0xa74], ax
mov byte [rbp + 0xa76], al
mov dword [rbp + 0xa77], ecx
mov qword [rbp + 0xa7b], rax
mov word [rbp + 0xa83], ax
mov byte [rbp + 0xa85], al
mov dword [rbp + 0xa86], ecx
lea r9, [rbp + 0xa30]
lea r8, [rbp + 0x158]
lea rdx, [rbp + 0x7c8]
lea rcx, [r13 + 0x2190]
call fcn.1401b1b00
mov rbx, qword [rax]
lea rcx, [rbp + 0xa30]
call fcn.1401aa390
mov r8, rdi
lea rdx, [rbx + 8]
mov rcx, rsi
call fcn.1401b1c10
lea rdx, [rbx + 0x17]
mov r8, rdi
mov rcx, rsi
call fcn.1401b1c10
lea rdx, [rbx + 0x26]
mov r8, rdi
mov rcx, rsi
call fcn.1401b1c10
lea rdx, [rbx + 0x35]
mov r8, rdi
mov rcx, rsi
call fcn.1401b1c10
lea rdx, [rbx + 0x44]
mov r8, rdi
mov rcx, rsi
call fcn.1401b1c10
test rax, rax
je 0x14017f606
mov byte [r13 + 0x21d0], 1
lea rdx, [rbx + 0x53]
mov r8, rdi
mov rcx, rsi
call fcn.1401b1c10
sub r14, 1
jne 0x14017f490
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 8
jb 0x14017f643
mov rax, qword [rsi + 8]
mov r12, qword [rcx + rax]
lea rax, [rcx + 8]
mov qword [rsi + 0x20], rax
jmp 0x14017f65f
mov r8d, 8
lea rdx, [rbp + 0x478]
mov rcx, rsi
call fcn.1401761a0
mov r12, qword [rbp + 0x478]
test dword [rsp + 0x48], 0x100
je 0x14017f931
xor r8d, r8d
mov rdx, r12
lea rcx, [r13 + 0x2150]
call fcn.1401ad9c0
test r12, r12
je 0x14017f873
mov rbx, qword [rsp + 0x40]
add rbx, 0x960
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 4
jb 0x14017f6c3
mov rax, qword [rsi + 8]
mov edi, dword [rcx + rax]
lea rax, [rcx + 4]
mov qword [rsi + 0x20], rax
jmp 0x14017f6d8
mov r8d, 4
lea rdx, [rbp + 0x38]
mov rcx, rsi
call fcn.1401761a0
mov edi, dword [rbp + 0x38]
lea edx, [rdi + 1]
mov eax, edx
mov r8d, dword [rbx + 8]
mov ecx, r8d
add rax, r8
cmp rax, 0x4000000
jbe 0x14017f6fc
mov rcx, rbx
call fcn.1401ad8a0
mov rcx, rax
jmp 0x14017f706
add rcx, qword [rbx]
lea eax, [rdx + r8]
mov dword [rbx + 8], eax
mov qword [rbp + 0x98], rcx
mov rdx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rdx
mov r8, rdi
cmp rdi, rax
ja 0x14017f730
add rdx, qword [rsi + 8]
call sub.VCRUNTIME140.dll_memcpy
add qword [rsi + 0x20], rdi
jmp 0x14017f73b
mov rdx, rcx
mov rcx, rsi
call fcn.1401761a0
mov rax, qword [rbp + 0x98]
mov byte [rax + rdi], 0
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 4
jb 0x14017f76a
mov r13, qword [rsp + 0x40]
xor r8d, r8d
xor edx, edx
lea rcx, [0x141446a30]
call fcn.140081a20
lea rcx, [rbp + 0x5c0]
call fcn.140006ac0
mov rcx, rax
mov rax, qword [rbp + 0x480]
mov qword [rbp + 0x488], rax
mov rax, qword [rcx]
mov qword [rbp + 0x490], rax
lea r8, [rbp + 0x488]
lea rdx, [rbp + 0x490]
lea rcx, [rbp + 0x238]
call fcn.14001ea10
mov rax, qword [rbp + 0x238]
mov qword [r13 + 0x2258], rax
lea rcx, [r13 + 0x7b]
xor r8d, r8d
xor edx, edx
call fcn.14001bbc0
mov qword [rbp + 0x4f8], r13
mov eax, dword [rsp + 0x48]
mov dword [rbp + 0x500], eax
lea rdx, [rbp + 0x4f8]
lea rcx, [rbp + 0x4a8]
call fcn.1401bb520
lea rcx, [r13 + 0x80]
lea rdx, [rbp + 0x4a8]
call fcn.140007200
cmp dword [rbp + 0x4b0], 0
je 0x14017fa05
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_terminate]
int3
test r12, r12
je 0x14017f878
nop word [rax + rax]
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 4
jb 0x14017f963
mov rax, qword [rsi + 8]
mov edx, dword [rcx + rax]
lea rax, [rcx + 4]
mov qword [rsi + 0x20], rax
jmp 0x14017f978
mov r8d, 4
lea rdx, [rbp + 0x40]
mov rcx, rsi
call fcn.1401761a0
mov edx, dword [rbp + 0x40]
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rdx, rax
ja 0x14017f993
lea rax, [rdx + rcx]
mov qword [rsi + 0x20], rax
jmp 0x14017f99b
mov rcx, rsi
call fcn.140176250
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rax, 4
jb 0x14017f9be
mov rax, qword [rsi + 8]
mov edx, dword [rcx + rax]
lea rax, [rcx + 4]
mov qword [rsi + 0x20], rax
jmp 0x14017f9d3
mov r8d, 4
lea rdx, [rbp - 0x18]
mov rcx, rsi
call fcn.1401761a0
mov edx, dword [rbp - 0x18]
mov rcx, qword [rsi + 0x20]
mov eax, 0x10000
sub rax, rcx
cmp rdx, rax
ja 0x14017f9ee
lea rcx, [rbp + 0x6e0]
call fcn.1401ad390
nop
lea rcx, [rbp + 0x550]
call fcn.1401ad390
nop
mov rax, r13
mov rcx, qword [rbp + 0x1db0]
xor rcx, rsp
call fcn.1403f4b10
lea r11, [rsp + 0x1ee0]
mov rbx, qword [r11 + 0x50]
vmovaps xmm6, xmmword [r11 - 0x10]
vmovaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
xor r8d, r8d
xor edx, edx
lea rcx, [0x141446a30]
call fcn.140081a20
mov rcx, r15
call fcn.14004a750
mov r8, rax
lea rdx, [0x1413cd150]
lea rcx, [rbp + 0x10b0]
call fcn.140005590
lea rdx, [rbp + 0x10b0]
lea rcx, [rbp + 0xb98]
call fcn.140176b20
lea rdx, [0x141437058]
lea rcx, [rbp + 0xb98]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
mov edx, 0x200
lea rcx, [rbp + 0x6b8]
call fcn.140176b00
lea rdx, [0x141437090]
lea rcx, [rbp + 0x6b8]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
mov edx, ebx
lea rcx, [rbp + 0x668]
call fcn.140176a90
lea rdx, [0x141436fa8]
lea rcx, [rbp + 0x668]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
mov edx, ebx
lea rcx, [rbp + 0x648]
call fcn.140176b00
lea rdx, [0x141437090]
lea rcx, [rbp + 0x648]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
xor r8d, r8d
xor edx, edx
lea rcx, [0x141446a30]
call fcn.140081a20
mov rcx, rbx
call fcn.14004a750
mov r8, rax
lea rdx, [0x1413cd178]
lea rcx, [rbp + 0xfb0]
call fcn.140005590
lea rdx, [rbp + 0xfb0]
lea rcx, [rbp + 0xb60]
call fcn.140176b20
lea rdx, [0x141437058]
lea rcx, [rbp + 0xb60]
call sub.VCRUNTIME140.dll__CxxThrowException
int3