Function at 0x1403167e0
Capabilities:
Terminate process

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x378
lea rbp, [rsp + 0x3b0]
xor eax, eax
mov qword [rbp - 0x348], rax
xorps xmm4, xmm4
movabs rax, 0xfffffffffffffd00
movaps xmmword [rbp + rax - 0x40], xmm4
movaps xmmword [rbp + rax - 0x30], xmm4
movaps xmmword [rbp + rax - 0x20], xmm4
add rax, 0x30
jne 0x140316811
mov qword [rbp - 0x40], rax
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov rcx, rdx
cmp dword [rcx], ecx
call fcn.1403e7ad0
nop
mov ecx, send
call fcn.1400c3a00
mov ecx, 0x35951aa4
call fcn.1403100d0
mov rcx, rax
call fcn.1400c35a0
mov rcx, qword [rbp + 0x10]
call fcn.1400cbb90
mov rdx, qword [rax + 0x20]
mov qword [rbp - 0x280], rdx
cmp byte [rdx], dl
lea rcx, [0x1404fe798]
cmp qword [rcx - 8], 0
jne 0x140318d45
mov rbx, qword [0x140cfd250]
mov rcx, qword [rbx + 8]
cmp dword [rcx], ecx
call fcn.1401d7640
mov rsi, rax
mov ecx, 0x359519cc
call fcn.1403100d0
mov rdx, rax
mov rcx, rsi
cmp dword [rcx], ecx
call fcn.140196540
test eax, eax
jne 0x14031698d
lea rcx, [0x14050f8a8]
call fcn.14000bb80
mov rsi, rax
lea rcx, [rsi + 8]
mov rdx, qword [rbp + 0x10]
call fcn.14000bd90
mov rcx, qword [rsi + 8]
mov edx, 1
call fcn.1400be270
mov edi, eax
mov rcx, qword [rsi + 8]
mov edx, 1
call fcn.1400be270
test eax, eax
je 0x14031698d
cmp edi, 0x80096010
jne 0x140316911
mov ecx, 0x3595193e
call fcn.1403100d0
mov rcx, rax
call fcn.1400c35a0
lea rcx, [0x1404fecc8]
cmp qword [rcx - 8], 0
jne 0x140318e1b
mov rsi, qword [0x140cfd7f0]
mov rcx, qword [rsi + 0x50]
test rcx, rcx
je 0x140316938
call fcn.1400cf990
mov ecx, 7
call fcn.1400c3a00
lea rdi, [0x1404fe6c8]
cmp qword [rdi - 8], 0
jne 0x140318e25
xor eax, eax
mov dword [rdi], eax
call fcn.14018bf10
mov ecx, dword [rdi]
mov dword [rbp - 0x33c], ecx
lea rcx, [rbp - 0x200]
call fcn.14000d890
mov ecx, dword [rbp - 0x33c]
call sub.KERNEL32.dll_ExitProcess
mov rcx, qword [0x140cfd7d0]
mov rsi, qword [rcx + 0x10]
test rsi, rsi
jne 0x1403169ce
lea rcx, [0x140523698]
call fcn.14000bb80
mov rsi, rax
mov rcx, rsi
lea rdx, [0x1404f3918]
call fcn.140004252
mov rcx, qword [0x140cfd7d0]
lea rcx, [rcx + 0x10]
mov rdx, rsi
call fcn.14000bd90
lea rcx, [0x140522998]
call fcn.14000bbc0
mov rdi, rax
mov rcx, rdi
mov rdx, rsi
call fcn.1401e1810
mov rcx, rdi
mov edx, 1
call fcn.1401e02e0
mov rcx, rdi
mov edx, 1
xor r8d, r8d
call fcn.1401e1970
lea rcx, [0x1404fecc8]
cmp qword [rcx - 8], 0
jne 0x140318d56
mov rsi, qword [0x140cfd7f0]
mov rdx, qword [rsi + 0x28]
cmp byte [rdx], dl
mov rcx, qword [rbx + 8]
cmp dword [rcx], ecx
call fcn.1401d7640
mov rsi, rax
mov ecx, 0x35951a87
call fcn.1403100d0
mov rdx, rax
mov rcx, rsi
cmp dword [rcx], ecx
call fcn.140196540
test eax, eax
je 0x140317071
mov ecx, 0x35951af2
call fcn.1403100d0
mov rcx, rax
call fcn.1400c35a0
mov ecx, 0x35951aed
call fcn.1403100d0
mov rsi, rax
mov ecx, 0x35951a00
call fcn.1403100d0
mov rdx, rax
mov rcx, rsi
lea r8, [0x1404b13e0]
call fcn.1400bf080
test rax, rax
jne 0x140316a95
xor esi, esi
jmp 0x140316afe
mov rcx, rax
mov rax, qword [rax]
call qword [rax + 0x18]
mov rsi, rax
mov ecx, 0x35951a7a
call fcn.1403100d0
mov rdx, rax
mov rcx, rsi
lea r8, [0x1404b13e0]
cmp dword [rcx], ecx
call fcn.140194c20
mov dword [rbp - 0x18c], 0x2c
cmp byte [rax], al
lea rdx, [rbp - 0x18c]
mov qword [rbp - 0x220], rdx
mov dword [rbp - 0x218], 1
lea rdx, [rbp - 0x220]
mov rcx, rax
mov r8d, 0x7fffffff
xor r9d, r9d
call fcn.140195120
mov rsi, rax
test rsi, rsi
je 0x140318dee
cmp dword [rsi + 8], 2
setne cl
movzx ecx, cl
test ecx, ecx
jne 0x140318dee
cmp dword [rsi + 8], 0
jbe 0x140318d74
mov rsi, qword [rsi + 0x10]
mov rcx, rsi
call fcn.140204420
test eax, eax
je 0x140318dcb
mov ecx, 0x35951a44
call fcn.1403100d0
mov rcx, rax
lea rdx, [0x1404b35c8]
call fcn.1400cf800
cmp dword [rax + 8], 0
jne 0x140316c0f
mov rcx, qword [0x140cfd7d0]
mov rbx, qword [rcx + 0x18]
test rbx, rbx
jne 0x140316b9b
lea rcx, [0x140523698]
call fcn.14000bb80
mov rbx, rax
mov rcx, rbx
lea rdx, [0x1404f3918]
call fcn.14000425e
mov rcx, qword [0x140cfd7d0]
lea rcx, [rcx + 0x18]
mov rdx, rbx
call fcn.14000bd90
lea rcx, [0x140522998]
call fcn.14000bbc0
mov rdi, rax
mov rcx, rdi
mov rdx, rbx
call fcn.1401e1810
mov rcx, rdi
mov edx, 1
call fcn.1401e02e0
mov rcx, rdi
mov edx, 1
xor r8d, r8d
call fcn.1401e1970
mov ecx, 0x35951db3
call fcn.1403100d0
mov rcx, rax
call fcn.1400c35a0
mov rcx, qword [rbp + 0x10]
mov edx, 3
call fcn.140310f60
mov ebx, eax
cmp ebx, 1
je 0x140316c05
add ebx, 0xfffffffd
cmp ebx, 1
ja 0x140318859
mov ebx, 1
jmp 0x14031885f
mov ecx, 0x35951ddb
call fcn.1403100d0
mov rdi, rax
mov ecx, 0x35951886
call fcn.1403100d0
mov r8, rax
mov rcx, rdi
mov rdx, rsi
call fcn.140193260
mov rcx, rax
call fcn.1400c35a0
mov rcx, qword [rbp + 0x10]
mov edx, 3
call fcn.140310f60
mov edi, eax
cmp edi, 1
je 0x140316c59
lea ecx, [rdi - 3]
cmp ecx, 1
ja 0x140316c61
mov r14d, 1
jmp 0x140316c64
xor r14d, r14d
mov ecx, 0x35951d83
call fcn.1403100d0
mov rdi, rax
test r14d, r14d
jne 0x140316c85
mov ecx, 0x35951dfc
call fcn.1403100d0
mov r14, rax
jmp 0x140316c92
mov ecx, 0x35951de2
call fcn.1403100d0
mov r14, rax
mov ecx, 0x35951a7a
call fcn.1403100d0
mov r9, rax
mov rdx, rdi
mov r8, r14
mov rcx, rsi
call fcn.140193350
mov rdx, rax
xor ecx, ecx
mov dword [rsp + 0x20], ecx
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], rcx
lea rcx, [rbp - 0x138]
mov qword [rsp + 0x40], rcx
lea rcx, [rbp - 0x50]
mov qword [rsp + 0x48], rcx
xor ecx, ecx
xor r8d, r8d
xor r9d, r9d
call fcn.140312620
lea rcx, [0x14057c758]
call fcn.14000bb80
mov rdi, rax
mov rcx, rdi
xor edx, edx
call fcn.140360dc0
mov qword [rbp - 0x288], rdi
lea rcx, [0x1404b35c8]
call fcn.1400cf2a0
mov rsi, rax
xor ecx, ecx
xor r14d, r14d
cmp dword [rsi + 8], 0
jle 0x140316dca
mov ecx, r14d
mov r15, qword [rsi + rcx*8 + 0x10]
mov rcx, r15
cmp dword [rcx], ecx
call fcn.1400cfed0
cmp byte [rax], al
mov rcx, qword [rbx + 8]
cmp byte [rcx], cl
mov rcx, rax
call fcn.1401d55a0
mov r13, rax
mov ecx, 0x35950cf4
call fcn.1403100d0
mov rdx, rax
mov rcx, r13
cmp dword [rcx], ecx
call fcn.140196540
test eax, eax
jne 0x140316d9a
mov rcx, r15
call fcn.1400cfed0
cmp byte [rax], al
mov rcx, qword [rbx + 8]
cmp byte [rcx], cl
mov rcx, rax
call fcn.1401d55a0
mov r13, rax
mov ecx, 0x35951d3f
call fcn.1403100d0
mov rdx, rax
mov rcx, r13
cmp dword [rcx], ecx
call fcn.140196540
test eax, eax
je 0x140316dbd
mov rcx, r15
mov edx, 1
call fcn.1400cefd0
mov edx, dword [r15 + 0xd0]
lea r8, [rbp - 0x198]
mov rcx, rdi
call fcn.140361280
inc r14d
cmp dword [rsi + 8], r14d
jg 0x140316d24
mov r15d, 1
lea rcx, [0x140522bc0]
call fcn.14000bb80
mov r13, rax
lea r8, [0x1404fe760]
cmp qword [r8 - 8], 0
jne 0x140318d60
mov r12, qword [0x140cfd218]
mov r8, qword [r12 + 8]
mov edx, 0x5f5e100
mov rcx, r13
call fcn.1401e1fd0
cmp byte [r13 + 0x24], 0
jne 0x140318dc0
mov qword [rbp - 0x2f0], r13
mov ecx, 0x35951d2e
call fcn.1403100d0
mov rcx, rax
call fcn.1400c35a0
mov ecx, 1
call fcn.1401e19c0
lea rcx, [0x1404b35c8]
call fcn.1400cf2a0
mov rsi, rax
xor r14d, r14d
cmp dword [rsi + 8], 0
jle 0x140316f6e
mov ecx, r14d
mov r12, qword [rsi + rcx*8 + 0x10]
mov rcx, r12
cmp dword [rcx], ecx
call fcn.1400cfed0
cmp byte [rax], al
mov rcx, qword [rbx + 8]
cmp byte [rcx], cl
mov rcx, rax
call fcn.1401d55a0
mov qword [rbp - 0x300], rax
mov ecx, 0x35950cf4
call fcn.1403100d0
mov rdx, rax
mov rcx, qword [rbp - 0x300]
cmp dword [rcx], ecx
call fcn.140196540
test eax, eax
jne 0x140316eec
mov rcx, r12
call fcn.1400cfed0
cmp byte [rax], al
mov qword [rbp - 0x328], rbx
mov rcx, qword [rbx + 8]
cmp byte [rcx], cl
mov rcx, rax
call fcn.1401d55a0
mov qword [rbp - 0x308], rax
mov ecx, 0x35951d3f
call fcn.1403100d0
mov rdx, rax
mov rcx, qword [rbp - 0x308]
cmp dword [rcx], ecx
call fcn.140196540
test eax, eax
je 0x140316f77
mov rbx, qword [rbp - 0x328]
mov rcx, r12
mov edx, 1
call fcn.1400cefd0
mov edx, dword [r12 + 0xd0]
mov rcx, rdi
call fcn.140360e20
test eax, eax
jge 0x140316f5e
xor r15d, r15d
mov rcx, r12
mov edx, 1
call fcn.1400cefd0
mov ecx, dword [r12 + 0xd0]
lea rdx, [0x1404b35c8]
call fcn.1400cf1d0
test rax, rax
je 0x140316f4e
mov rcx, rax
call fcn.1400cf990
mov qword [rbp - 0x328], rbx
mov rdi, qword [rbp - 0x288]
jmp 0x140316f84
mov qword [rbp - 0x328], rbx
mov rdi, qword [rbp - 0x288]
jmp 0x140316f84
mov qword [rbp - 0x328], rbx
mov rdi, qword [rbp - 0x288]
jmp 0x140316f77
mov qword [rbp - 0x328], rbx
jmp 0x140316f84
inc r14d
cmp dword [rsi + 8], r14d
jg 0x140317001
cmp dword [r13 + 0x20], 0
je 0x140317048
call fcn.1400c33f0
mov rsi, rax
mov ecx, 0x35951d0b
call fcn.1403100d0
mov rdx, rax
lea rcx, [0x1405316d0]
cmp qword [rsi], rcx
je 0x140316fb9
mov rcx, rsi
mov rax, qword [rsi]
call qword [rax + 0x70]
call fcn.1400c33f0
mov rsi, rax
mov ecx, 0x35951d6e
call fcn.1403100d0
mov rdx, rax
lea rcx, [0x1405316d0]
cmp qword [rsi], rcx
je 0x140316fe3
mov rcx, rsi
mov rax, qword [rsi]
call qword [rax + 0x70]
mov ecx, 7
call fcn.1400c3a00
lea rsi, [0x1404fe6c8]
cmp qword [rsi - 8], 0
jne 0x140318d6a
jmp 0x14031700d
mov rbx, qword [rbp - 0x328]
jmp 0x140316e54
xor eax, eax
mov dword [rsi], eax
call fcn.14018bf10
mov ecx, dword [rsi]
mov dword [rbp - 0x33c], ecx
lea rcx, [rbp - 0x200]
call fcn.14000d890
mov ecx, dword [rbp - 0x33c]
call sub.KERNEL32.dll_ExitProcess
test r15d, r15d
mov rbx, qword [rbp - 0x328]
mov r13, qword [rbp - 0x2f0]
jne 0x140316e2e
mov ecx, 0x35951cb5
call fcn.1403100d0
mov rcx, rax
call fcn.1400c35a0
lea rcx, [0x140588c88]
call fcn.14000bb80
mov rbx, rax
mov rcx, rbx
xor edx, edx
xor r8d, r8d
call fcn.14038cf50
mov qword [rbp - 0x260], rbx
xor eax, eax
mov dword [rbp - 0x84], eax
mov dword [rbp - 0x90], eax
call fcn.1400c3560
mov ecx, 0x35951c9a
call fcn.1403100d0
mov rcx, rax
call fcn.1400c35a0
mov ecx, 0x35951cfd
call fcn.1403100d0
mov rsi, rax
lea rcx, [0x1405121a0]
call fcn.14000bbc0
mov rdi, rax
mov rcx, rdi
mov edx, 3
xor r8d, r8d
xor r9d, r9d
call fcn.1400e54a0
xor ecx, ecx
mov dword [rsp + 0x20], ecx
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x40], ecx
mov rcx, rdi
mov rdx, rsi
mov r8d, 3
mov r9d, 1
call fcn.1400e4ab0
xor ecx, ecx
mov dword [rsp + 0x20], ecx
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x38], ecx
mov qword [rsp + 0x40], rcx
mov dword [rsp + 0x48], ecx
mov dword [rsp + 0x50], ecx
mov rcx, rdi
mov rdx, rsi
mov r8d, 3
mov r9d, 1
call fcn.1400e4db0
mov qword [rbp - 0x270], rdi
mov rcx, rdi
call fcn.1400e50e0
lea rcx, [0x140567510]
call fcn.14000bb80
mov rcx, rax
lea rax, [0x1404f1de0]
mov qword [rcx + 8], rax
mov qword [rbp - 0x290], rcx
lea rcx, [0x140567510]
call fcn.14000bb80
mov rcx, rax
lea rax, [0x1404f1de0]
mov qword [rcx + 8], rax
mov qword [rbp - 0x298], rcx
lea rcx, [0x1405258b0]
call fcn.14000bb80
mov r15, rax
lea r8, [0x1404fe930]
cmp qword [r8 - 8], 0
jne 0x1403172b7
mov r8, qword [0x140cfd310]
mov r8, qword [r8 + 8]
mov rdx, rdi
mov rcx, r15
xor r9d, r9d
call fcn.1402036b0
mov qword [rbp - 0x250], r15
mov rcx, r15
call fcn.1402037d0
mov edi, eax
mov rcx, r15
call fcn.1402037d0
mov r15d, eax
test edi, edi
jle 0x140317246
mov rcx, qword [rbp - 0x250]
call fcn.140203860
mov rcx, qword [rbp - 0x290]
inc dword [rcx + 0x14]
mov rdx, qword [rcx + 8]
mov r8d, dword [rcx + 0x10]
cmp dword [rdx + 8], r8d
jbe 0x14031723a
lea r10d, [r8 + 1]
mov dword [rcx + 0x10], r10d
cmp r8d, dword [rdx + 8]
jae 0x14031729e
mov r8d, r8d
lea rcx, [rdx + r8*8 + 0x10]
mov rdx, rax
call fcn.14000bd90
jmp 0x140317242
mov rdx, rax
call fcn.1403e7240
dec edi
jne 0x1403171f6
xor r13d, r13d
jmp 0x14031724e
inc r13d
cmp r13d, r15d
jge 0x1403172a4
mov rcx, qword [rbp - 0x250]
call fcn.140203860
mov rcx, qword [rbp - 0x298]
inc dword [rcx + 0x14]
mov rdx, qword [rcx + 8]
mov r8d, dword [rcx + 0x10]
cmp dword [rdx + 8], r8d
jbe 0x140317294
lea r10d, [r8 + 1]
mov dword [rcx + 0x10], r10d
cmp r8d, dword [rdx + 8]
jae 0x14031729e
lea rcx, [rdx + r8*8 + 0x10]
mov rdx, rax
call fcn.14000bd90
jmp 0x14031724b
mov rdx, rax
call fcn.1403e7240
jmp 0x14031724b
call fcn.1401c10f0
int3
mov rcx, qword [rbp - 0x250]
mov edx, 1
call fcn.140203790
jmp 0x1403172c1
call fcn.14000251a
jmp 0x1403171bd
lea rcx, [0x14056d4f0]
call fcn.14000bb80
mov rcx, rax
xor edx, edx
xor r8d, r8d
call fcn.1404163d0
call fcn.1403190d0
mov rcx, qword [rbp - 0x290]
mov eax, dword [rcx + 0x14]
mov qword [rbp - 0x2f8], rcx
xor edx, edx
mov dword [rbp - 0x204], edx
mov dword [rbp - 0x208], eax
mov rcx, qword [rbp - 0x2f8]
mov eax, dword [rcx + 0x14]
cmp dword [rbp - 0x208], eax
jne 0x140317446
mov eax, dword [rcx + 0x10]
cmp dword [rbp - 0x204], eax
jae 0x1403173d5
mov rax, qword [rcx + 8]
mov edx, dword [rax + 8]
cmp dword [rbp - 0x204], edx
jae 0x140317473
mov edx, dword [rbp - 0x204]
mov rbx, qword [rax + rdx*8 + 0x10]
mov eax, dword [rbp - 0x204]
inc eax
mov dword [rbp - 0x204], eax
mov ecx, 6
call fcn.1400c3a00
mov ecx, 7
call fcn.1400c3a00
lea rcx, [0x140525bd0]
call fcn.14000bb80
mov rsi, rax
mov ecx, 0x35951cc1
call fcn.1403100d0
mov rdi, rax
test rbx, rbx
je 0x14031744c
xor ecx, ecx
mov dword [rsp + 0x20], ecx
mov rcx, rsi
mov rdx, rbx
xor r8d, r8d
xor r9d, r9d
call fcn.1402048c0
mov rdx, qword [rsi + 0x18]
test rdx, rdx
jne 0x1403173c3
mov rcx, qword [rsi + 0x10]
call fcn.140206f60
mov r14, rax
lea rcx, [rsi + 0x18]
mov rdx, r14
call fcn.14000bd90
mov rdx, r14
mov rcx, rdi
call fcn.1401931c0
mov rcx, rax
call fcn.1400c3630
jmp 0x1403173e0
mov esi, dword [rbp - 0x90]
jmp 0x140317479
mov rcx, qword [rbp - 0x298]
mov qword [rsp + 0x20], rcx
lea r8, [rbp - 0x90]
lea rdx, [rbp - 0xc8]
mov rcx, qword [rbp - 0x260]
mov r9, rbx
call fcn.1403198a0
mov ecx, dword [rbp - 0x84]
add ecx, dword [rbp - 0xc8]
mov dword [rbp - 0x84], ecx
mov ecx, 0xa
call fcn.1400c3a00
mov ecx, 0x35951cc8
call fcn.1403100d0
mov rcx, rax
call fcn.1400c35a0
mov ecx, 7
call fcn.1400c3a00
jmp 0x1403172fe
call fcn.1401c1aa0
int3
lea rcx, [0x14051e320]
call fcn.14000bb80
mov r14, rax
mov rcx, r14
lea rdx, [0x1404de998]
call fcn.14019de70
mov rcx, r14
call fcn.14000c0f0
int3
call fcn.1401c10f0
int3
mov rcx, qword [rbp - 0x270]
lea r10, [0x140504ed0]
call qword [r10]
lea rcx, [0x1404fe798]
cmp qword [rcx - 8], 0
jne 0x140318d7a
mov rbx, qword [0x140cfd250]
mov qword [rbp - 0x328], rbx
mov rcx, qword [rbx + 8]
mov rdx, qword [rbp - 0x280]
cmp dword [rcx], ecx
call fcn.1401d7640
mov rdi, rax
mov ecx, 0x359519cc
call fcn.1403100d0
mov rdx, rax
mov rcx, rdi
cmp dword [rcx], ecx
call fcn.140196540
test eax, eax
jne 0x1403175b8
lea rcx, [0x14050f8a8]
call fcn.14000bb80
mov rdi, rax
lea rcx, [rdi + 8]
mov rdx, qword [rbp + 0x10]
call fcn.14000bd90
mov rcx, qword [rdi + 8]
mov edx, 1
call fcn.1400be270
mov r14d, eax
mov rcx, qword [rdi + 8]
mov edx, 1
call fcn.1400be270
test eax, eax
je 0x1403175b8
cmp r14d, 0x80096010
jne 0x14031753c
mov ecx, 0x3595193e
call fcn.1403100d0
mov rcx, rax
call fcn.1400c35a0
lea rcx, [0x1404fecc8]
cmp qword [rcx - 8], 0
jne 0x140318e77
mov rsi, qword [0x140cfd7f0]
mov rcx, qword [rsi + 0x50]
test rcx, rcx
je 0x140317563
call fcn.1400cf990
mov ecx, 7
call fcn.1400c3a00
lea rsi, [0x1404fe6c8]
cmp qword [rsi - 8], 0
jne 0x140318e81
xor eax, eax
mov dword [rsi], eax
call fcn.14018bf10
mov ecx, dword [rsi]
mov dword [rbp - 0x33c], ecx
lea rcx, [rbp - 0x200]
call fcn.14000d890
mov ecx, dword [rbp - 0x33c]
call sub.KERNEL32.dll_ExitProcess
call fcn.1400c3560
mov ecx, 0x35950fb2
call fcn.1403100d0
mov rdi, rax
lea rdx, [0x1404fecc8]
cmp qword [rdx - 8], 0
jne 0x140318d84
mov rdx, qword [0x140cfd7f0]
mov r14, rdx
mov r8, qword [r14 + 0x28]
mov rdx, rdi
mov rcx, qword [rbp + 0x10]
call fcn.140193260
mov rdx, rax
xor ecx, ecx
mov dword [rsp + 0x20], ecx
mov dword [rsp + 0x28], 4
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], rcx
lea rcx, [rbp - 0x138]
mov qword [rsp + 0x40], rcx
lea rcx, [rbp - 0x50]
mov qword [rsp + 0x48], rcx
xor ecx, ecx
xor r8d, r8d
xor r9d, r9d
call fcn.140312620
test eax, eax
jne 0x14031768c
mov ecx, 0x35950fb2
call fcn.1403100d0
mov rcx, rax
mov rdx, qword [r14 + 0x28]
call fcn.1401931c0
mov rdx, rax
xor ecx, ecx
mov dword [rsp + 0x20], ecx
mov dword [rsp + 0x28], 4
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], rcx
lea rcx, [rbp - 0x138]
mov qword [rsp + 0x40], rcx
lea rcx, [rbp - 0x50]
mov qword [rsp + 0x48], rcx
mov rcx, qword [rbp + 0x10]
xor r8d, r8d
xor r9d, r9d
call fcn.140312620
test eax, eax
je 0x140317784
lea rcx, [0x140544310]
call fcn.14000bb80
mov rdi, rax
mov rcx, rdi
mov rdx, qword [rbp - 0x50]
call fcn.140311950
lea rcx, [r14 + 0x48]
mov rdx, rdi
call fcn.14000bd90
call fcn.1400cf430
mov rdi, rax
cmp byte [rdi], dil
mov rcx, rdi
mov edx, 0x20
call fcn.1400cefd0
mov rcx, rdi
call fcn.1400cf630
mov rdi, rax
lea rcx, [0x140544310]
call fcn.14000bb80
mov rcx, rax
mov rdx, qword [rdi + 8]
call fcn.140311950
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x60], xmm0
xor edi, edi
xor r15d, r15d
mov ecx, dword [rbp - 0x40]
mov dword [rbp - 0x19c], ecx
lea rcx, [r14 + 0x50]
mov qword [rbp - 0x348], rcx
mov ecx, dword [rbp - 0x19c]
lea rdx, [0x1404b35c8]
call fcn.1400cf1d0
mov rcx, qword [rbp - 0x348]
mov rdx, rax
call fcn.14000bd90
mov rcx, qword [rbp - 0x260]
mov eax, dword [rcx + 0x38]
sub eax, dword [rcx + 0x40]
jne 0x1403178e1
mov ecx, 0x35951c2a
call fcn.1403100d0
mov rcx, rax
call fcn.1400c35a0
mov ecx, 0x35951c70
call fcn.1403100d0
mov rcx, rax
call fcn.1400c35a0
mov rcx, qword [rbp - 0x50]
call fcn.1403131b0
jmp 0x140318e91
call fcn.1400c33f0
mov r14, rax
mov ecx, 0x35951efa
call fcn.1403100d0
mov rdx, rax
lea rcx, [0x1405316d0]
cmp qword [r14], rcx
je 0x1403177ae
mov rcx, r14
mov rax, qword [r14]
call qword [rax + 0x70]
lea rcx, [rbp - 0x160]
mov edx, recv
mov r8d, 1
call fcn.1402183c0
movups xmm0, xmmword [rbp - 0x160]
movups xmmword [rbp - 0xb8], xmm0
movups xmm0, xmmword [rbp - 0x150]
movups xmmword [rbp - 0xa8], xmm0
mov rcx, qword [rbp - 0x140]
mov qword [rbp - 0x98], rcx
mov ecx, 0x35951ec2
call fcn.1403100d0
mov r15, rax
mov r8d, dword [rbp - 0xa8]
cmp r8d, dword [rbp - 0x98]
ja 0x140318e71
mov rdx, qword [rbp - 0xa0]
mov ecx, r8d
lea rcx, [rdx + rcx*2]
mov edx, dword [rbp - 0x98]
sub edx, r8d
cmp dword [r15 + 8], edx
ja 0x14031784f
mov r8d, dword [r15 + 8]
add r8, r8
lea rdx, [r15 + 0xc]
call fcn.1401be820
mov ecx, dword [rbp - 0xa8]
add ecx, dword [r15 + 8]
mov dword [rbp - 0xa8], ecx
jmp 0x14031785e
lea rcx, [rbp - 0xb8]
mov rdx, r15
call fcn.140218730
lea rcx, [rbp - 0x200]
call fcn.14000d890
call sub.KERNEL32.dll_GetLastError
mov edi, eax
lea rcx, [rbp - 0x200]
call fcn.14000d8e0
mov edx, edi
lea rcx, [rbp - 0xb8]
call fcn.140474fc0
lea rcx, [rbp - 0xb8]
call fcn.140218580
mov rcx, rax
call fcn.1400c35a0
mov rcx, qword [rbp - 0x50]
mov qword [rbp - 0x350], rcx
xor edx, edx
mov dword [rbp - 0x33c], edx
lea rcx, [rbp - 0x200]
call fcn.14000d890
mov rcx, qword [rbp - 0x350]
mov edx, dword [rbp - 0x33c]
call sub.KERNEL32.dll_TerminateProcess
lea rcx, [rbp - 0x200]
call fcn.14000d8e0
jmp 0x140318cf0
mov ecx, 2
call fcn.1400c3a00
lea rcx, [rbp - 0x188]
mov edx, reloc.WS2_32.dll_shutdown
mov r8d, 1
call fcn.1402183c0
movups xmm0, xmmword [rbp - 0x188]
movups xmmword [rbp - 0xb8], xmm0
movups xmm0, xmmword [rbp - 0x178]
movups xmmword [rbp - 0xa8], xmm0
mov rcx, qword [rbp - 0x168]
mov qword [rbp - 0x98], rcx
mov ecx, 0x35951c57
call fcn.1403100d0
mov r13, rax
mov r8d, dword [rbp - 0xa8]
cmp r8d, dword [rbp - 0x98]
ja 0x140318e71
mov rdx, qword [rbp - 0xa0]
mov ecx, r8d
lea rcx, [rdx + rcx*2]
mov edx, dword [rbp - 0x98]
sub edx, r8d
cmp dword [r13 + 8], edx
ja 0x14031798c
mov r8d, dword [r13 + 8]
add r8, r8
lea rdx, [r13 + 0xc]
call fcn.1401be820
mov ecx, dword [rbp - 0xa8]
add ecx, dword [r13 + 8]
mov dword [rbp - 0xa8], ecx
jmp 0x14031799b
lea rcx, [rbp - 0xb8]
mov rdx, r13
call fcn.140218730
mov rcx, qword [rbp - 0x260]
mov edx, dword [rcx + 0x38]
sub edx, dword [rcx + 0x40]
lea rcx, [rbp - 0xb8]
call fcn.140468120
mov ecx, 0x35951c59
call fcn.1403100d0
mov r13, rax
mov r8d, dword [rbp - 0xa8]
cmp r8d, dword [rbp - 0x98]
ja 0x140318e71
mov rdx, qword [rbp - 0xa0]
mov ecx, r8d
lea rcx, [rdx + rcx*2]
mov edx, dword [rbp - 0x98]
sub edx, r8d
cmp dword [r13 + 8], edx
ja 0x140317a14
mov r8d, dword [r13 + 8]
add r8, r8
lea rdx, [r13 + 0xc]
call fcn.1401be820
mov ecx, dword [rbp - 0xa8]
add ecx, dword [r13 + 8]
mov dword [rbp - 0xa8], ecx
jmp 0x140317a23
lea rcx, [rbp - 0xb8]
mov rdx, r13
call fcn.140218730
lea rcx, [rbp - 0xb8]
call fcn.140218580
mov rcx, rax
call fcn.1400c35a0
mov ecx, 7
call fcn.1400c3a00
call fcn.1400c3560
mov rcx, qword [0x140cfd7f8]
mov r8, qword [rcx + 0x38]
test r8, r8
jne 0x140317a8a
lea rcx, [0x1405c37d0]
call fcn.14000bb80
mov r13, rax
mov rcx, r13
lea rdx, [0x1404f3900]
call fcn.1400042be
mov rcx, qword [0x140cfd7f8]
lea rcx, [rcx + 0x38]
mov rdx, r13
call fcn.14000bd90
mov r8, r13
mov rdx, qword [rbp + 0x18]
lea rcx, [0x1404faab0]
call fcn.140494370
mov r13, rax
mov rcx, qword [0x140cfd7f8]
mov r12, qword [rcx + 0x40]
test r12, r12
jne 0x140317ade
lea rcx, [0x1405c3af8]
call fcn.14000bb80
mov r12, rax
mov rcx, r12
lea rdx, [0x1404f3900]
call fcn.1400042ca
mov rcx, qword [0x140cfd7f8]
lea rcx, [rcx + 0x40]
mov rdx, r12
call fcn.14000bd90
lea rcx, [0x1405c3858]
call fcn.14000bb80
mov qword [rbp - 0x2e0], rax
xor ecx, ecx
mov dword [rsp + 0x20], ecx
mov qword [rsp + 0x28], rcx
mov rcx, rax
mov rdx, r13
mov r8, r12
xor r9d, r9d
call fcn.1403fe300
mov rdx, qword [rbp - 0x2e0]
lea rcx, [0x1404faa98]
call fcn.140494300
mov r13, rax
mov qword [rbp - 0x248], r13
mov rcx, r13
mov r12d, dword [rcx + 0x14]
xor ecx, ecx
jmp 0x140317b86
mov rdx, qword [r14 + 0x48]
mov qword [rbp - 0x310], rdx
mov rdx, qword [rdx + 0x18]
movsxd r10, dword [rax + 0x18]
add rdx, r10
mov qword [rbp - 0x228], rdx
mov rcx, qword [rax + 8]
call fcn.140313960
mov r8, rax
mov rcx, qword [rbp - 0x310]
mov rdx, qword [rbp - 0x228]
mov r9d, 4
cmp dword [rcx], ecx
call fcn.140311b20
mov ecx, dword [rbp - 0x20c]
mov r13, qword [rbp - 0x248]
mov eax, dword [r13 + 0x14]
cmp r12d, eax
jne 0x140318d8e
mov eax, dword [r13 + 0x10]
cmp ecx, eax
jae 0x140317bbc
mov rax, qword [r13 + 8]
cmp ecx, dword [rax + 8]
jae 0x140318d74
mov edx, ecx
mov rax, qword [rax + rdx*8 + 0x10]
inc ecx
mov dword [rbp - 0x20c], ecx
jmp 0x140317b35
lea rcx, [0x140522bc0]
call fcn.14000bb80
mov r12, rax
lea r8, [0x1404fe760]
cmp qword [r8 - 8], 0
jne 0x140318d94
mov r8, qword [0x140cfd218]
mov rax, r8
mov qword [rbp - 0x338], rax
mov r8, qword [rax + 8]
mov edx, 0x5f5e100
mov rcx, r12
call fcn.1401e1fd0
cmp byte [r12 + 0x24], 0
jne 0x140318dc0
jmp 0x140317c64
xor ecx, ecx
mov qword [rbp - 0x330], rax
mov dword [rax], ecx
call fcn.14018bf10
mov rax, qword [rbp - 0x330]
mov ecx, dword [rax]
mov dword [rbp - 0x33c], ecx
lea rcx, [rbp - 0x200]
call fcn.14000d890
mov ecx, dword [rbp - 0x33c]
call sub.KERNEL32.dll_ExitProcess
mov rcx, qword [rbp - 0x50]
mov rdx, qword [r14 + 0x48]
mov rdx, qword [rdx + 0x18]
lea r8, [rbp - 0x80]
mov r9d, 0x30
call fcn.140312a70
cmp dword [rbp - 0x5c], 0x20
je 0x140317d09
test r15d, r15d
jne 0x140317c9d
mov rcx, qword [rbp - 0x50]
call fcn.1403131b0
mov r15d, 1
mov qword [rbp - 0x2e8], r12
cmp dword [r12 + 0x20], 0
mov r12, qword [rbp - 0x2e8]
je 0x140317c64
mov ecx, 0x35951fb3
call fcn.1403100d0
mov rcx, rax
call fcn.1400c35a0
mov qword [rbp - 0x320], r14
mov rcx, qword [r14 + 0x50]
test rcx, rcx
je 0x140317cda
call fcn.1400cf990
mov ecx, 7
call fcn.1400c3a00
lea rax, [0x1404fe6c8]
mov qword [rbp - 0x230], rax
cmp qword [rax - 8], 0
jne 0x140318e59
mov qword [rbp - 0x2e8], r12
jmp 0x140317c0d
mov rcx, qword [rbp - 0x50]
call fcn.140313270
mov r12, qword [rbp - 0x68]
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x68]
movsxd r8, edx
cmp rdx, r8
jne 0x140318e8b
movsxd rdx, edx
add rdx, qword [rbp - 0x80]
lea r8, [rbp - 0x80]
mov r9d, 0x30
call fcn.140312a70
mov rdx, qword [rbp - 0x68]
movsxd r8, edx
cmp rdx, r8
jne 0x140318e8b
movsxd rdx, edx
add r12, rdx
mov rcx, qword [rbp - 0x50]
add rdx, qword [rbp - 0x80]
lea r8, [rbp - 0x80]
mov r9d, 0x30
call fcn.140312a70
mov rcx, qword [rbp - 0x68]
movsxd rax, ecx
cmp rcx, rax
jne 0x140318e8b
movsxd rcx, ecx
add r12, rcx
mov rcx, qword [rbp - 0x50]
call fcn.1403131b0
xor r15d, r15d
lea rcx, [0x140522bc0]
call fcn.14000bb80
mov qword [rbp - 0x2b0], rax
mov r10, qword [rbp - 0x338]
mov r8, qword [r10 + 8]
mov edx, 0x5f5e100
mov rcx, rax
call fcn.1401e1fd0
mov rcx, qword [rbp - 0x2b0]
cmp byte [rcx + 0x24], 0
jne 0x140318dc0
mov qword [rbp - 0x2e8], rcx
mov rcx, qword [0x140cfd7f8]
mov r8, qword [rcx + 0x48]
test r8, r8
jne 0x140317e25
lea rcx, [0x1405c37d0]
call fcn.14000bb80
mov r8, rax
mov qword [rbp - 0x2d8], r8
mov rcx, r8
lea rdx, [0x1404f3900]
call fcn.1400042d6
mov rcx, qword [0x140cfd7f8]
lea rcx, [rcx + 0x48]
mov rdx, qword [rbp - 0x2d8]
call fcn.14000bd90
mov r8, qword [rbp - 0x2d8]
lea r9, [rbp - 0x1a8]
mov rdx, qword [rbp + 0x18]
lea rcx, [0x1404faa00]
call fcn.140494020
cmp byte [rbp - 0x1a8], 0
je 0x140318e53
mov qword [rbp - 0x2a0], rax
mov rcx, qword [rbp - 0x50]
mov rdx, rdi
add rdx, qword [rbp - 0x68]
lea r8, [rbp - 0x80]
mov r9d, 0x30
call fcn.140312a70
mov rdi, qword [rbp - 0x80]
cmp qword [rbp - 0x68], r12
jne 0x140317f3c
jmp 0x140317eca
xor ecx, ecx
mov qword [rbp - 0x330], rax
mov dword [rax], ecx
call fcn.14018bf10
mov rax, qword [rbp - 0x330]
mov ecx, dword [rax]
mov dword [rbp - 0x33c], ecx
lea rcx, [rbp - 0x200]
call fcn.14000d890
mov ecx, dword [rbp - 0x33c]
call sub.KERNEL32.dll_ExitProcess
mov rcx, qword [r14 + 0x48]
mov rdx, rcx
mov rcx, qword [rcx + 0x18]
mov r15, qword [rbp - 0x2a0]
movsxd r8, dword [r15 + 0x18]
add r8, rcx
cmp byte [rdx], dl
mov rcx, rdx
mov rdx, r8
mov r8d, 1
call fcn.140311a80
test rax, rax
jne 0x140317f01
xor ecx, ecx
xor edx, edx
jmp 0x140317f14
cmp dword [rax + 8], 0
jbe 0x140318d74
movzx edx, byte [rax + 0x10]
mov ecx, 1
test cl, cl
jne 0x140317f1c
xor ecx, ecx
jmp 0x140317f1f
movzx ecx, dl
cmp ecx, 0xe8
jne 0x14031805d
mov rcx, qword [rbp - 0x50]
call fcn.140313270
mov eax, 1
mov r15d, eax
mov rax, qword [rbp - 0x2e8]
cmp dword [rax + 0x20], 0
je 0x140317fe7
mov ecx, 0x35951ff4
call fcn.1403100d0
mov rcx, rax
call fcn.1400c35a0
mov qword [rbp - 0x320], r14
mov rcx, qword [r14 + 0x50]
test rcx, rcx
je 0x140317f74
call fcn.1400cf990
mov ecx, 7
call fcn.1400c3a00
lea rax, [0x1404fe6c8]
mov qword [rbp - 0x240], rax
cmp qword [rax - 8], 0
jne 0x140318daf
xor ecx, ecx
mov qword [rbp - 0x330], rax
mov dword [rax], ecx
call fcn.14018bf10
mov rax, qword [rbp - 0x330]
mov ecx, dword [rax]
mov dword [rbp - 0x33c], ecx
lea rcx, [rbp - 0x200]
call fcn.14000d890
mov ecx, dword [rbp - 0x33c]
call sub.KERNEL32.dll_ExitProcess
test r15d, r15d
je 0x140317e50
mov rcx, qword [0x140cfd7f8]
mov r8, qword [rcx + 0x50]
test r8, r8
jne 0x140318034
lea rcx, [0x1405c37d0]
call fcn.14000bb80
mov rdi, rax
mov rcx, rdi
lea rdx, [0x1404f3900]
call fcn.1400042e2
mov rcx, qword [0x140cfd7f8]
lea rcx, [rcx + 0x50]
mov rdx, rdi
call fcn.14000bd90
mov r8, rdi
lea r9, [rbp - 0x1b0]
mov rdx, qword [rbp + 0x18]
lea rcx, [0x1404faa00]
call fcn.140494020
cmp byte [rbp - 0x1b0], 0
jne 0x1403180dd
jmp 0x140318e53
mov rcx, qword [rbp - 0x2e8]
cmp dword [rcx + 0x20], 0
je 0x140317eca
call fcn.1400c33f0
mov qword [rbp - 0x2b8], rax
mov ecx, 0x35951f9f
call fcn.1403100d0
mov rdx, rax
lea rcx, [0x1405316d0]
mov rax, qword [rbp - 0x2b8]
cmp qword [rax], rcx
je 0x1403180a3
mov rcx, rax
mov rax, qword [rax]
call qword [rax + 0x70]
mov qword [rbp - 0x320], r14
mov rcx, qword [r14 + 0x50]
cmp dword [rcx], ecx
call fcn.1400cf990
mov ecx, 7
call fcn.1400c3a00
lea rax, [0x1404fe6c8]
mov qword [rbp - 0x238], rax
cmp qword [rax - 8], 0
jne 0x140318d9e
jmp 0x140317e7a
mov rdi, qword [r14 + 0x48]
mov rcx, qword [rbp - 0x80]
movsxd rdx, dword [rax + 0x18]
lea r12, [rcx + rdx + 2]
mov rcx, qword [rax + 8]
call fcn.140313960
mov r8, rax
mov rcx, rdi
mov rdx, r12
mov r9d, 4
cmp dword [rcx], ecx
call fcn.140311b20
mov rcx, qword [0x140cfd7f8]
mov r8, qword [rcx + 0x58]
test r8, r8
jne 0x140318151
lea rcx, [0x1405c37d0]
call fcn.14000bb80
mov rdi, rax
mov rcx, rdi
lea rdx, [0x1404f3900]
call fcn.1400042ee
mov rcx, qword [0x140cfd7f8]
lea rcx, [rcx + 0x58]
mov rdx, rdi
call fcn.14000bd90
mov r8, rdi
lea r9, [rbp - 0x1b8]
mov rdx, qword [rbp + 0x18]
lea rcx, [0x1404faa00]
call fcn.140494020
cmp byte [rbp - 0x1b8], 0
je 0x140318e53
mov rdi, qword [r14 + 0x48]
mov rcx, qword [rbp - 0x80]
movsxd rdx, dword [rax + 0x18]
lea r15, [rcx + rdx + 2]
mov rcx, qword [rax + 8]
call fcn.140313960
mov r8, rax
mov rcx, rdi
mov rdx, r15
mov r9d, 4
cmp dword [rcx], ecx
call fcn.140311b20
mov rcx, qword [0x140cfd7f8]
mov r8, qword [rcx + 0x60]
test r8, r8
jne 0x1403181e9
lea rcx, [0x1405c37d0]
call fcn.14000bb80
mov rdi, rax
mov rcx, rdi
lea rdx, [0x1404f3900]
call fcn.1400042fa
mov rcx, qword [0x140cfd7f8]
lea rcx, [rcx + 0x60]
mov rdx, rdi
call fcn.14000bd90
mov r8, rdi
lea r9, [rbp - 0x1c0]
mov rdx, qword [rbp + 0x18]
lea rcx, [0x1404faa00]
call fcn.140494020
mov rdi, rax
cmp byte [rbp - 0x1c0], 0
je 0x140318e53
mov qword [rbp - 0x278], rdi
mov qword [rbp - 0x320], r14
mov r15, qword [r14 + 0x48]
movsxd r12, dword [rdi + 0x18]
add r12, qword [rbp - 0x80]
mov rcx, qword [rdi + 8]
call fcn.140313960
mov r8, rax
mov rcx, r15
mov rdx, r12
mov r9d, 4
cmp dword [rcx], ecx
call fcn.140311b20
cmp qword [rbp - 0x80], 0
je 0x140318e91
lea rcx, [0x1405ec288]
mov edx, 0x32
call fcn.14000bca0
mov r15, rax
lea rcx, [0x1408ead18]
movups xmm0, xmmword [rcx]
movups xmmword [r15 + 0x10], xmm0
movups xmm0, xmmword [rcx + 0x10]
movups xmmword [r15 + 0x20], xmm0
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [r15 + 0x30], xmm0
mov ax, word [rcx + 0x30]
mov word [r15 + 0x40], ax
mov qword [rbp - 0x258], r15
mov rcx, qword [0x140cfd7f8]
mov r8, qword [rcx + 0x68]
test r8, r8
jne 0x1403182dd
lea rcx, [0x1405c37d0]
call fcn.14000bb80
mov r12, rax
mov rcx, r12
lea rdx, [0x1404f3900]
call fcn.140004306
mov rcx, qword [0x140cfd7f8]
lea rcx, [rcx + 0x68]
mov rdx, r12
call fcn.14000bd90
mov r8, r12
lea r9, [rbp - 0x1c8]
mov rdx, qword [rbp + 0x18]
lea rcx, [0x1404faa00]
call fcn.140494020
cmp byte [rbp - 0x1c8], 0
je 0x140318e53
mov r12d, dword [rax + 0x18]
mov rcx, qword [0x140cfd7f8]
mov r8, qword [rcx + 0x70]
test r8, r8
jne 0x140318358
lea rcx, [0x1405c37d0]
call fcn.14000bb80
mov r8, rax
mov qword [rbp - 0x2d0], r8
mov rcx, r8
lea rdx, [0x1404f3900]
call fcn.140004312
mov rcx, qword [0x140cfd7f8]
lea rcx, [rcx + 0x70]
mov rdx, qword [rbp - 0x2d0]
call fcn.14000bd90
mov r8, qword [rbp - 0x2d0]
lea r9, [rbp - 0x1d0]
mov rdx, qword [rbp + 0x18]
lea rcx, [0x1404faa00]
call fcn.140494020
cmp byte [rbp - 0x1d0], 0
je 0x140318e53
mov eax, dword [rax + 0x18]
sub eax, r12d
mov dword [rbp - 0xbc], eax
lea rcx, [0x1405208b0]
call fcn.14000bb80
mov qword [rbp - 0x2c0], rax
call sub.KERNEL32.dll_GetTickCount64
mov edx, eax
mov rcx, qword [rbp - 0x2c0]
call fcn.1401bd800
mov ebx, dword [rbp - 0xbc]
mov r8d, ebx
shr r8d, 0x1f
add r8d, ebx
sar r8d, 1
add r8d, r12d
mov rcx, qword [rbp - 0x2c0]
mov edx, r12d
call fcn.1401bd880
mov ebx, eax
mov rcx, qword [rbp - 0x50]
call fcn.1403131b0
mov ecx, 0x35951fda
call fcn.1403100d0
mov rcx, rax
call fcn.1400c35a0
cmp dword [0x140d14658], 0
je 0x140318411
call fcn.14000c9e0
jmp 0x140318411
mov ecx, 1
call fcn.1401e19c0
mov qword [rbp - 0x320], r14
mov r14, qword [rbp - 0x320]
mov rcx, qword [r14 + 0x48]
mov rdx, rcx
mov rcx, qword [rcx + 0x18]
mov r13, qword [rbp - 0x248]
cmp dword [r13 + 0x10], 0
je 0x140318e4d
mov r8, qword [r13 + 8]
cmp dword [r8 + 8], 0
jbe 0x140318d74
mov r8, qword [r8 + 0x10]
movsxd r8, dword [r8 + 0x18]
add r8, rcx
cmp byte [rdx], dl
mov rcx, rdx
mov rdx, r8
mov r8d, 1
call fcn.140311a80
test rax, rax
jne 0x14031846d
xor ecx, ecx
xor edx, edx
jmp 0x140318480
cmp dword [rax + 8], 0
jbe 0x140318d74
movzx edx, byte [rax + 0x10]
mov ecx, 1
test cl, cl
jne 0x14031848b
xor edi, edi
xor r15d, r15d
jmp 0x140318494
movzx r15d, dl
mov edi, 1
cmp dword [r13 + 0x10], 0
je 0x140318e4d
mov rcx, qword [r13 + 8]
cmp dword [rcx + 8], 0
jbe 0x140318d74
mov rcx, qword [rcx + 0x10]
mov rcx, qword [rcx + 8]
call fcn.140313960
cmp dword [rax + 8], 0
jbe 0x140318d74
movzx ecx, byte [rax + 0x10]
cmp r15d, ecx
sete cl
movzx ecx, cl
movzx eax, dil
test eax, ecx
jne 0x140318400
mov ecx, 0x35951f37
call fcn.1403100d0
mov rcx, rax
call fcn.1400c35a0
jmp 0x1403184fb
mov ecx, 1
call fcn.1401e19c0
mov rcx, qword [r14 + 0x48]
mov rdx, rcx
mov rcx, qword [rcx + 0x18]
cmp dword [r13 + 0x10], 1
jbe 0x140318e4d
mov r8, qword [r13 + 8]
cmp dword [r8 + 8], 1
jbe 0x140318d74
mov r8, qword [r8 + 0x18]
movsxd r8, dword [r8 + 0x18]
add r8, rcx
cmp byte [rdx], dl
mov rcx, rdx
mov rdx, r8
mov r8d, 1
call fcn.140311a80
test rax, rax
jne 0x140318549
xor ecx, ecx
xor edx, edx
jmp 0x14031855c
cmp dword [rax + 8], 0
jbe 0x140318d74
movzx edx, byte [rax + 0x10]
mov ecx, 1
test cl, cl
jne 0x140318567
xor edi, edi
xor r15d, r15d
jmp 0x140318570
movzx r15d, dl
mov edi, 1
cmp dword [r13 + 0x10], 1
jbe 0x140318e4d
mov rcx, qword [r13 + 8]
cmp dword [rcx + 8], 1
jbe 0x140318d74
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 8]
call fcn.140313960
cmp dword [rax + 8], 0
jbe 0x140318d74
movzx ecx, byte [rax + 0x10]
cmp r15d, ecx
sete cl
movzx ecx, cl
movzx eax, dil
test eax, ecx
jne 0x1403184f1
lea edi, [rbx + 0x64]
lea rcx, [0x1405ec288]
mov edx, recv
call fcn.14000bca0
mov r15, rax
lea rcx, [0x140b5a460]
mov rax, qword [rcx]
mov qword [r15 + 0x10], rax
mov rax, qword [rcx + 5]
mov qword [r15 + 0x15], rax
mov rcx, qword [r14 + 0x48]
movsxd rax, ebx
add rax, qword [rcx + 0x18]
mov rcx, rax
call fcn.14019e370
mov rcx, rax
mov dword [rsp + 0x20], 8
mov r8, r15
xor edx, edx
mov r9d, 2
call fcn.14018c170
mov rcx, qword [0x140cfd7f8]
mov r8, qword [rcx + 0x78]
test r8, r8
jne 0x140318658
lea rcx, [0x1405c37d0]
call fcn.14000bb80
mov r12, rax
mov rcx, r12
lea rdx, [0x1404f3900]
call fcn.14000431e
mov rcx, qword [0x140cfd7f8]
lea rcx, [rcx + 0x78]
mov rdx, r12
call fcn.14000bd90
mov r8, r12
lea r9, [rbp - 0x1d8]
mov rdx, qword [rbp + 0x18]
lea rcx, [0x1404faa00]
call fcn.140494020
cmp byte [rbp - 0x1d8], 0
je 0x140318e53
mov r12d, dword [rax + 0x18]
mov rcx, qword [r14 + 0x48]
mov rdx, rcx
movsxd r8, r12d
add r8, qword [rcx + 0x18]
mov rcx, rdx
mov rdx, r8
mov r8d, select
cmp dword [rcx], ecx
call fcn.140311a80
mov qword [rbp - 0x2a8], rax
mov rcx, qword [r14 + 0x48]
movsxd rdx, r12d
add rdx, qword [rbp - 0x80]
mov r8, r15
mov r9d, 4
cmp dword [rcx], ecx
call fcn.140311b20
mov dword [rsp + 0x20], esi
lea rcx, [rbp - 0xd8]
mov rdx, qword [rbp - 0x50]
mov r8, qword [rbp - 0x260]
mov r9d, dword [rbp - 0x84]
call fcn.14031a660
mov ecx, dword [rbp - 0x84]
call fcn.14019e340
mov rcx, rax
mov dword [rsp + 0x20], 4
mov r8, qword [rbp - 0x258]
xor edx, edx
mov r9d, 0x23
call fcn.14018c170
mov rcx, qword [rbp - 0xd8]
call fcn.14019e370
mov rcx, rax
mov dword [rsp + 0x20], 8
mov r8, qword [rbp - 0x258]
xor edx, edx
mov r9d, recv
call fcn.14018c170
mov ecx, edi
add ecx, dword [rbp - 0x80]
mov eax, dword [rbp - 0x80]
lea eax, [rax + rbx + 2]
sub ecx, eax
add ecx, 0xfffffffa
call fcn.14019e340
mov rcx, rax
mov dword [rsp + 0x20], 4
mov r8, qword [rbp - 0x258]
xor edx, edx
mov r9d, 4
call fcn.14018c170
mov rcx, qword [r14 + 0x48]
movsxd rdx, ebx
add rdx, qword [rbp - 0x80]
mov r8, qword [rbp - 0x258]
mov r9d, 4
cmp dword [rcx], ecx
call fcn.140311b20
lea rcx, [0x1405ec288]
mov edx, recv
call fcn.14000bca0
mov rsi, rax
lea rcx, [0x140b5a460]
mov rax, qword [rcx]
mov qword [rsi + 0x10], rax
mov rax, qword [rcx + 5]
mov qword [rsi + 0x15], rax
mov rcx, qword [r14 + 0x48]
mov rcx, qword [rcx + 0x18]
movsxd rax, r12d
lea rcx, [rcx + rax + 0xd]
call fcn.14019e370
mov rcx, rax
mov dword [rsp + 0x20], 8
mov r8, rsi
xor edx, edx
mov r9d, 2
call fcn.14018c170
mov rax, qword [r14 + 0x48]
mov qword [rbp - 0x318], rax
movsxd rdi, edi
add rdi, qword [rbp - 0x80]
mov rcx, qword [rbp - 0x2a8]
mov rdx, rsi
call fcn.140438c30
mov rcx, rax
call fcn.1404393f0
mov r8, rax
mov rcx, qword [rbp - 0x318]
mov rdx, rdi
mov r9d, 4
cmp dword [rcx], ecx
call fcn.140311b20
mov rdx, r13
lea rcx, [0x1404faa18]
mov r8d, 2
call fcn.140494160
mov rcx, rax
lea r10, [0x14050a030]
call qword [r10]
mov qword [rbp - 0x268], rax
jmp 0x14031890e
xor r14d, r14d
mov ebx, r14d
mov ecx, 0x35951d83
call fcn.1403100d0
mov r12, rax
test ebx, ebx
jne 0x14031887f
mov ecx, 0x35951dfc
call fcn.1403100d0
mov r15, rax
jmp 0x14031888c
mov ecx, 0x35951de2
call fcn.1403100d0
mov r15, rax
mov ecx, 0x35951a7a
call fcn.1403100d0
mov r9, rax
mov rdx, r12
mov r8, r15
mov rcx, rsi
call fcn.140193350
mov rdx, rax
xor ecx, ecx
mov dword [rsp + 0x20], ecx
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], rcx
lea rcx, [rbp - 0x138]
mov qword [rsp + 0x40], rcx
lea rcx, [rbp - 0x50]
mov qword [rsp + 0x48], rcx
xor ecx, ecx
xor r8d, r8d
xor r9d, r9d
call fcn.140312620
mov ecx, 0x7d0
call fcn.1401e19c0
mov ecx, 0x35951dd7
call fcn.1403100d0
mov rcx, rax
call fcn.1400c35a0
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rbp + 0x18]
call fcn.1403167e0
jmp 0x140318e91
mov rcx, rax
lea r10, [0x140506840]
call qword [r10]
test eax, eax
je 0x1403189de
mov rcx, qword [rbp - 0x268]
lea r10, [0x14050a0b0]
call qword [r10]
mov rcx, qword [r14 + 0x48]
mov r13, rcx
mov rsi, qword [rcx + 0x18]
movsxd rdi, dword [rax + 0x18]
add rsi, rdi
mov rcx, qword [rax + 8]
cmp byte [rcx], cl
mov rdi, qword [rbp - 0x328]
mov rax, qword [rdi + 8]
cmp byte [rax], al
call fcn.1401d55a0
mov qword [rbp - 0x2c8], rax
mov ecx, 0x35951f24
call fcn.1403100d0
mov rdx, rax
mov rcx, qword [rbp - 0x2c8]
call fcn.140191af0
test eax, eax
jne 0x14031899f
lea rcx, [0x1405ec288]
mov edx, 2
call fcn.14000bca0
mov r8, rax
mov word [r8 + 0x10], 0x840f
jmp 0x1403189b8
lea rcx, [0x1405ec288]
mov edx, 1
call fcn.14000bca0
mov r8, rax
mov byte [r8 + 0x10], reloc.WS2_32.dll_WSACleanup
mov rcx, r13
mov rdx, rsi
mov r9d, 4
cmp dword [rcx], ecx
call fcn.140311b20
mov qword [rbp - 0x328], rdi
mov rax, qword [rbp - 0x268]
jmp 0x14031890e
mov rcx, qword [rbp - 0x268]
lea r10, [0x140504ed0]
call qword [r10]
mov rcx, qword [rbp - 0x50]
call fcn.140313270
mov ecx, 0xa
call fcn.1401e19c0
mov rdi, qword [r14 + 0x48]
mov rsi, qword [rbp - 0x278]
movsxd rsi, dword [rsi + 0x18]
add rsi, qword [rbp - 0x80]
lea rcx, [0x1405ec288]
mov edx, 2
call fcn.14000bca0
mov word [rax + 0x10], 0x8348
mov rcx, rdi
mov rdx, rsi
mov r8, rax
mov r9d, 4
cmp dword [rcx], ecx
call fcn.140311b20
mov rcx, qword [rbp - 0x50]
call fcn.1403131b0
mov ecx, 0x35951f2b
call fcn.1403100d0
mov rcx, rax
call fcn.1400c35a0
mov qword [rbp - 0x320], r14
mov rcx, qword [r14 + 0x48]
movsxd rdx, r12d
add rdx, qword [rbp - 0x80]
mov r8d, 1
cmp dword [rcx], ecx
call fcn.140311a80
test rax, rax
jne 0x140318a87
xor ecx, ecx
xor edx, edx
jmp 0x140318a9a
cmp dword [rax + 8], 0
jbe 0x140318d74
movzx edx, byte [rax + 0x10]
mov ecx, 1
test cl, cl
jne 0x140318aa4
xor ecx, ecx
xor eax, eax
jmp 0x140318aac
movzx eax, dl
mov ecx, 1
movzx edx, byte [r15 + 0x10]
cmp eax, edx
sete al
movzx eax, al
movzx ecx, cl
test ecx, eax
jne 0x140318b77
mov ecx, recv
call fcn.1400c3a00
mov ecx, 0x35951f08
call fcn.1403100d0
mov rcx, rax
call fcn.1400c35a0
mov ecx, send
call fcn.1400c3a00
mov rcx, qword [rbp - 0x50]
mov qword [rbp - 0x350], rcx
xor edx, edx
mov dword [rbp - 0x33c], edx
lea rcx, [rbp - 0x200]
call fcn.14000d890
mov rcx, qword [rbp - 0x350]
mov edx, dword [rbp - 0x33c]
call sub.KERNEL32.dll_TerminateProcess
lea rcx, [rbp - 0x200]
call fcn.14000d8e0
mov ecx, 7
call fcn.1400c3a00
lea rsi, [0x1404fe6c8]
cmp qword [rsi - 8], 0
jne 0x140318e2f
xor eax, eax
mov dword [rsi], eax
call fcn.14018bf10
mov ecx, dword [rsi]
mov dword [rbp - 0x33c], ecx
lea rcx, [rbp - 0x200]
call fcn.14000d890
mov ecx, dword [rbp - 0x33c]
call sub.KERNEL32.dll_ExitProcess
mov r14, qword [rbp - 0x320]
mov rcx, qword [r14 + 0x48]
mov rdx, rcx
movsxd r8, ebx
add r8, qword [rcx + 0x18]
cmp byte [rdx], dl
mov rcx, rdx
mov rdx, r8
mov r8d, 1
call fcn.140311a80
test rax, rax
jne 0x140318baa
xor ecx, ecx
xor edx, edx
jmp 0x140318bbd
cmp dword [rax + 8], 0
jbe 0x140318d74
movzx edx, byte [rax + 0x10]
mov ecx, 1
test cl, cl
jne 0x140318bc7
xor ecx, ecx
xor eax, eax
jmp 0x140318bcf
movzx eax, dl
mov ecx, 1
mov r15, qword [rbp - 0x258]
movzx edx, byte [r15 + 0x10]
cmp eax, edx
sete al
movzx eax, al
movzx ecx, cl
test ecx, eax
jne 0x140318cb9
mov ecx, recv
call fcn.1400c3a00
call fcn.1400c33f0
mov rsi, rax
mov ecx, 0x35951f5b
call fcn.1403100d0
mov rdx, rax
lea rcx, [0x1405316d0]
cmp qword [rsi], rcx
je 0x140318c22
mov rcx, rsi
mov rax, qword [rsi]
call qword [rax + 0x70]
mov ecx, send
call fcn.1400c3a00
mov rcx, qword [rbp - 0x50]
mov qword [rbp - 0x350], rcx
xor edx, edx
mov dword [rbp - 0x33c], edx
lea rcx, [rbp - 0x200]
call fcn.14000d890
mov rcx, qword [rbp - 0x350]
mov edx, dword [rbp - 0x33c]
call sub.KERNEL32.dll_TerminateProcess
lea rcx, [rbp - 0x200]
call fcn.14000d8e0
mov ecx, 7
call fcn.1400c3a00
lea rsi, [0x1404fe6c8]
cmp qword [rsi - 8], 0
jne 0x140318e39
xor eax, eax
mov dword [rsi], eax
call fcn.14018bf10
mov ecx, dword [rsi]
mov dword [rbp - 0x33c], ecx
lea rcx, [rbp - 0x200]
call fcn.14000d890
mov ecx, dword [rbp - 0x33c]
call sub.KERNEL32.dll_ExitProcess
mov rcx, qword [rbp - 0x50]
call fcn.1403131b0
mov ecx, 0x35951eae
call fcn.1403100d0
mov rcx, rax
call fcn.1400c35a0
mov ecx, 0xa
call fcn.1400c3a00
mov ecx, 0x35951e83
call fcn.1403100d0
mov rcx, rax
call fcn.1400c35a0
mov ecx, 7
call fcn.1400c3a00
lea rsi, [0x1404fe6c8]
cmp qword [rsi - 8], 0
jne 0x140318e43
xor eax, eax
mov dword [rsi], eax
call fcn.14018bf10
mov ecx, dword [rsi]
mov dword [rbp - 0x33c], ecx
lea rcx, [rbp - 0x200]
call fcn.14000d890
mov ecx, dword [rbp - 0x33c]
call sub.KERNEL32.dll_ExitProcess
call fcn.1400022ba
mov rdx, qword [rbp - 0x280]
jmp 0x140316881
call fcn.140002efa
jmp 0x140316a17
call fcn.14000221a
jmp 0x140316df1
call fcn.14000130f
jmp 0x14031700d
call fcn.1401c10f0
int3
call fcn.1400022ba
jmp 0x14031749c
call fcn.140002efa
jmp 0x1403175dc
call fcn.1401c1aa0
int3
call fcn.14000221a
jmp 0x140317bdd
call fcn.14000130f
mov rax, qword [rbp - 0x238]
jmp 0x140317e7a
call fcn.14000130f
mov rax, qword [rbp - 0x240]
jmp 0x140317f97
mov ecx, 0x46
call fcn.1401c18e0
int3
lea rcx, [0x140525ca8]
call fcn.14000bb80
mov r14, rax
mov rcx, r14
mov rdx, rsi
call fcn.140204930
mov rcx, r14
call fcn.14000c0f0
int3
lea rcx, [0x140525eb8]
call fcn.14000bb80
mov rbx, rax
mov ecx, 0x35951a62
call fcn.1403100d0
mov rdx, rax
mov rcx, rbx
call fcn.1402058a0
mov rcx, rbx
call fcn.14000c0f0
int3
call fcn.140002efa
jmp 0x140316923
call fcn.14000130f
jmp 0x140316954
call fcn.14000130f
jmp 0x140318b43
call fcn.14000130f
jmp 0x140318c85
call fcn.14000130f
jmp 0x140318d0c
call fcn.1401c11e0
int3
call fcn.1400e7780
int3
call fcn.14000130f
mov qword [rbp - 0x2e8], r12
mov rax, qword [rbp - 0x230]
jmp 0x140317c0d
call fcn.1401c1120
int3
call fcn.140002efa
jmp 0x14031754e
call fcn.14000130f
jmp 0x14031757f
call fcn.1401c1400
int3
add rsp, 0x378
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret