Function at 0x1401f2780
Capabilities:
Set socket configuration

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x198
movaps xmmword [rsp + 0x180], xmm6
mov rbx, rcx
mov rbp, rdx
mov esi, r8d
call fcn.1401f61c0
lea rax, [rbx + 0x90]
xor ecx, ecx
xor edx, edx
mov qword [rsp + 0x68], rax
lea rax, [rbx + 0xa0]
mov qword [rbx + 0x90], rax
lea rax, [rbx + 0xc0]
mov qword [rbx + 0xb8], rcx
mov ecx, 0x40
mov qword [rbx + 0x98], rdx
mov byte [rbx + 0xa0], 0
mov byte [rbx + 0xb0], 0
mov qword [rsp + 0x48], rax
call fcn.1403cd4b0
lea rcx, [rax + 8]
mov rdi, rax
call fcn.1402c0860
lea rax, [rbx + 0xc0]
mov qword [rbx + 0xc0], rdi
mov qword [rdi + 0x30], rax
xor eax, eax
mov qword [rdi + 0x38], rax
mov eax, 1
lock xadd dword [0x140428060], eax
test eax, eax
je 0x1401f2857
xor edx, edx
lock xadd dword [0x140428064], edx
test edx, edx
je 0x1401f28c5
jmp 0x1401f286d
xor r8d, r8d
mov edx, 2
lea rcx, [0x140428060]
call fcn.14029b770
jmp 0x1401f282e
lea rdi, [rsp + 0xa0]
lea r8, [0x1404280e0]
mov rcx, rdi
call fcn.1402c4ed0
lea rax, [0x14042bf7f]
lea r8, [rsp + 0xb8]
mov rcx, rdi
mov qword [rsp + 0xb8], rax
lea rdx, [0x14042bfd2]
lea rax, [0x14042bfc3]
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], 0x48
call fcn.140287cc0
mov ecx, 0xb0
call fcn.1403cd4b0
xor r8d, r8d
lea rdx, [rbx + 0xc0]
mov rcx, rax
mov rdi, rax
call fcn.1402a40b0
xor eax, eax
mov r12, qword [rbx + 0xc0]
mov qword [rsp + 0x88], rax
lea rax, [0x1404ea970]
mov qword [rsp + 0x80], rax
mov rax, qword [rdi + 0x18]
cmp qword [r12 + 0x30], rax
je 0x1401f2995
lea rbp, [rsp + 0x160]
lea rdx, [0x14042bfda]
mov rcx, rbp
call fcn.140352540
lea rax, fcn.14027ff80
mov ecx, 0x40
mov qword [rsp + 0x160], rax
call fcn.1403cd580
mov rdx, rbp
mov rsi, rax
lea rax, [0x1405042a0]
mov qword [rsi], rax
lea rcx, [rsi + 8]
call fcn.1403525e0
lea rcx, [rsi + 0x18]
lea r8, [fcn.140253560]
call fcn.1402cd960
lea rax, [0x140502fc0]
lea rdx, [0x1404e9a40]
mov rcx, rsi
mov qword [rsi], rax
add rax, 0x30
mov qword [rsi + 8], rax
add rax, 0x28
mov qword [rsi + 0x18], rax
call fcn.1403cdb10
lea rcx, [r12 + 8]
mov qword [rsp + 0x140], rcx
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [rsp + 0x148], 1
mov r14, qword [r12 + 0x38]
lea r13, [rsp + 0x80]
test r14, r14
je 0x1401f2a65
lea rcx, [r14 + 8]
mov rdx, r13
call fcn.140290470
test al, al
je 0x1401f2a5c
lea rbp, [rsp + 0x160]
lea rdx, [0x14042bff1]
mov rcx, rbp
call fcn.140352540
lea rax, fcn.14027ffc0
mov ecx, 0x40
mov qword [rsp + 0x160], rax
call fcn.1403cd580
mov rdx, rbp
mov rsi, rax
lea rax, [0x1405042a0]
mov qword [rsi], rax
lea rcx, [rsi + 8]
call fcn.1403525e0
lea rcx, [rsi + 0x18]
lea r8, [fcn.140253f60]
call fcn.1402cd960
lea rax, [0x140503040]
lea rdx, [0x1404e9a90]
mov rcx, rsi
mov qword [rsi], rax
add rax, 0x30
mov qword [rsi + 8], rax
add rax, 0x28
mov qword [rsi + 0x18], rax
call fcn.1403cdb10
mov r14, qword [r14 + 0x20]
jmp 0x1401f29bd
mov rax, qword [r12 + 0x38]
movaps xmm0, xmmword [rsp + 0x80]
lea r15, [rsp + 0x140]
mov rcx, r15
mov qword [rdi + 0x20], rax
movups xmmword [rdi + 8], xmm0
mov qword [r12 + 0x38], rdi
call fcn.140287ca0
lea rax, [rbx + 0xd8]
mov r9, r15
mov qword [rbx + 0xd0], rdi
mov qword [rsp + 0x50], rax
xor eax, eax
mov rdi, qword [rbp]
mov ecx, 0x17
mov dword [rsp + 0x100], eax
lea rbp, [rsp + 0x100]
xor eax, eax
mov qword [rsp + 0x108], rax
mov rdx, rdi
mov qword [rsp + 0x110], rax
xor eax, eax
mov qword [rsp + 0x20], rbp
mov dword [rsp + 0x140], eax
lea rax, [rsp + 0x160]
mov r8, rax
mov qword [rsp + 0x40], rax
call fcn.140287750
test eax, eax
jle 0x1401f2b75
mov r13d, dword [rsp + 0x140]
movaps xmm6, xmmword [rsp + 0x160]
jmp 0x1401f2b7b
xor r13d, r13d
xorps xmm6, xmm6
mov rcx, rbp
call fcn.1402ee430
test al, al
je 0x1401f2bc9
mov qword [rsp + 0x20], rbp
mov r8, qword [rsp + 0x40]
xor r9d, r9d
mov rdx, rdi
mov ecx, 2
xor r12d, r12d
call fcn.140287750
test eax, eax
jle 0x1401f2bb0
mov r12d, dword [rsp + 0x160]
mov rcx, rbp
xor r13d, r13d
xorps xmm6, xmm6
call fcn.1402ee430
test al, al
cmovne r12d, r13d
xor r14d, r14d
jmp 0x1401f2bd2
xor r12d, r12d
mov r14d, 1
lea rax, [0x14042c009]
mov rcx, rbp
mov qword [rsp + 0x130], 0x70
mov qword [rsp + 0x120], rax
lea rax, [0x14042c044]
mov qword [rsp + 0x128], rax
lea rax, [rsp + 0x120]
mov rdx, rax
mov qword [rsp + 0x38], rax
call fcn.140287cf0
xor eax, eax
mov ecx, 7
mov rdi, r15
test r14d, r14d
rep stosd dword [rdi], eax
mov rax, qword [sym.imp.WSOCK32.dll_htons]
movzx ecx, si
jne 0x1401f2c5d
mov word [rsp + 0x140], 2
call rax
mov ecx, r12d
mov word [rsp + 0x142], ax
call qword [sym.imp.WSOCK32.dll_ntohl]
mov ecx, eax
call qword [sym.imp.WSOCK32.dll_htonl]
mov dword [rsp + 0x144], eax
jmp 0x1401f2c8c
mov word [rsp + 0x140], 0x17
xor r14d, r14d
call rax
mov dword [rsp + 0x144], r14d
mov word [rsp + 0x142], ax
mov dword [rsp + 0x158], r13d
movups xmmword [rsp + 0x148], xmm6
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x50]
call fcn.14028c970
xor edi, edi
xor r12d, r12d
mov eax, 2
cmp word [rsp + 0x140], 2
mov dword [rsp + 0x120], edi
mov edi, 0x17
cmove edi, eax
cmp qword [rbx + 0xe0], 0xffffffffffffffff
mov qword [rsp + 0x128], r12
mov qword [rsp + 0x130], r12
mov r12, qword [rbx + 0xd8]
je 0x1401f2d12
mov rcx, qword [rsp + 0x38]
mov edx, 1
call fcn.1402c5e70
movaps xmm1, xmmword [rsp + 0x120]
mov rax, qword [rsp + 0x130]
movaps xmmword [rsp + 0x160], xmm1
mov qword [rsp + 0x170], rax
jmp 0x1401f2dd5
mov r9, qword [rsp + 0x38]
mov r8d, 6
mov edx, 1
mov ecx, edi
call fcn.140287510
mov qword [rsp + 0x100], rax
mov rsi, rax
cmp rax, 0xffffffffffffffff
je 0x1401f2da8
mov rax, qword [r12 + 0x30]
mov r9, qword [rsp + 0x38]
mov r8, rsi
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rax + 0x28]
call fcn.1402a1100
mov rcx, qword [rsp + 0x40]
call fcn.1402ee430
test al, al
jne 0x1401f2da8
mov qword [rbx + 0xe0], rsi
lea rcx, [rbx + 0xf0]
xor edx, edx
mov byte [rbx + 0xe8], 0x10
mov qword [rsp + 0x100], 0xffffffffffffffff
call fcn.140356140
xor esi, esi
xor r11d, r11d
mov dword [rsp + 0x120], r11d
mov qword [rsp + 0x128], rsi
mov qword [rsp + 0x130], rsi
movaps xmm2, xmmword [rsp + 0x120]
mov rax, qword [rsp + 0x130]
lea rcx, [rsp + 0x100]
mov qword [rsp + 0x170], rax
movaps xmmword [rsp + 0x160], xmm2
call fcn.14028bec0
mov rcx, qword [rsp + 0x40]
call fcn.1402ee430
test al, al
jne 0x1401f2e39
mov dword [rbx + 0x118], edi
mov ecx, 0x1a
lea rdi, [rsp + 0x162]
rep stosb byte [rdi], al
mov byte [rbx + 0x11c], 0
mov word [rsp + 0x160], 2
movups xmm4, xmmword [rsp + 0x16c]
movaps xmm3, xmmword [rsp + 0x160]
movups xmmword [rbx + 0x120], xmm3
movups xmmword [rbx + 0x12c], xmm4
jmp 0x1401f2e39
mov rdx, qword [rsp + 0x38]
lea r8, [0x14050b5c0]
lea rdi, [0x14042bedb]
lea rsi, [0x14042c051]
mov rcx, rdx
call fcn.1402c4e30
mov r8, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
lea rdx, [0x14042c080]
mov qword [rsp + 0x160], rdi
mov qword [rsp + 0x168], rsi
mov qword [rsp + 0x170], 0x126
call fcn.140287cc0
mov rcx, qword [rbx + 0xe0]
mov dword [rsp + 0x160], 1
cmp rcx, 0xffffffffffffffff
jne 0x1401f2eb6
mov rcx, qword [rsp + 0x38]
mov edx, 0x2719
call fcn.1402c6050
jmp 0x1401f2ee5
mov r9, qword [rsp + 0x40]
mov r8d, 4
mov edx, 0xffff
mov dword [rsp + 0x20], 4
call qword [sym.imp.WSOCK32.dll_setsockopt]
xor edx, edx
mov rcx, qword [rsp + 0x38]
test eax, eax
setne dl
call fcn.140285ad0
mov rdx, qword [rsp + 0x38]
lea r8, [0x14050b560]
mov rcx, rdx
call fcn.1402c4e30
mov r8, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
lea rdx, [0x14042c085]
mov qword [rsp + 0x160], rdi
mov qword [rsp + 0x168], rsi
mov qword [rsp + 0x170], 0x12b
call fcn.140287cc0
mov rcx, qword [rbx + 0xe0]
mov r8d, 0x1c
mov eax, 0x10
cmp word [rsp + 0x140], 2
cmove r8, rax
cmp rcx, 0xffffffffffffffff
jne 0x1401f2f61
mov rcx, qword [rsp + 0x38]
mov edx, 0x2719
call fcn.1402c6050
jmp 0x1401f2f7b
mov rdx, r15
call qword [sym.imp.WSOCK32.dll_bind]
xor edx, edx
mov rcx, qword [rsp + 0x38]
test eax, eax
setne dl
call fcn.140285ad0
mov rdx, qword [rsp + 0x38]
lea r8, [0x14050b5a0]
mov rcx, rdx
call fcn.1402c4e30
mov r8, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
lea rdx, [0x14042c090]
mov qword [rsp + 0x160], rdi
mov qword [rsp + 0x168], rsi
mov qword [rsp + 0x170], 0x12e
call fcn.140287cc0
mov rcx, qword [rbx + 0xe0]
cmp rcx, 0xffffffffffffffff
jne 0x1401f2fdf
mov rcx, qword [rsp + 0x38]
mov edx, 0x2719
call fcn.1402c6050
jmp 0x1401f2ffb
mov edx, 0x7fffffff
call qword [sym.imp.WSOCK32.dll_listen]
xor edx, edx
mov rcx, qword [rsp + 0x38]
test eax, eax
setne dl
call fcn.140285ad0
mov r8, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
lea rdx, [0x14042c095]
mov qword [rsp + 0x160], rdi
mov qword [rsp + 0x168], rsi
mov qword [rsp + 0x170], 0x131
call fcn.140287cc0
xor r10d, r10d
lea rax, [rbx + 0x178]
lea rcx, [rbx + 0x180]
mov qword [rbx + 0x178], r10
mov qword [rsp + 0x58], rax
call fcn.1402826b0
jmp 0x1401f3056
call fcn.1400ba800
call fcn.1400328c0
mov rcx, rax
call fcn.140041350
test rax, rax
mov qword [rbx + 0x178], rax
lea rdi, [0x14042bcad]
jne 0x1401f30c1
call fcn.1400bb0d0
mov edx, eax
lea r8, str._h._
mov rcx, r15
call fcn.1402c4ed0
mov r8, qword [rsp + 0x40]
mov rcx, r15
lea rdx, [0x14042c09c]
mov qword [rsp + 0x160], rdi
mov qword [rsp + 0x168], rdx
mov qword [rsp + 0x170], 0x16c
call fcn.140287cc0
mov rcx, qword [rsp + 0x58]
mov edx, 0x20000
call fcn.140284ab0
jmp 0x1401f30e6
xor r9d, r9d
mov rcx, qword [rbx + 0xc0]
lea rax, [0x1404ea980]
lea rdx, [rsp + 0x90]
mov qword [rsp + 0x98], r9
mov r9, qword [rsp + 0x48]
lea r8, [0x140290a10]
mov qword [rsp + 0x90], rax
call fcn.1402904f0
mov qword [rbx + 0x190], rax
xor eax, eax
xor r12d, r12d
xor r14d, r14d
mov qword [rbx + 0x1a8], rax
mov rdx, qword [rsp + 0x48]
lea rcx, [rbx + 0x1d0]
lea r13, [rbx + 0x270]
mov qword [rbx + 0x1b0], rax
xor eax, eax
lea rsi, [rbx + 0x238]
mov qword [rbx + 0x1c0], rax
mov qword [rbx + 0x1c8], rax
mov qword [rbx + 0x1b8], 0xffffffffffffffff
call fcn.1402c1770
mov rcx, qword [rsp + 0x40]
call fcn.14024cf20
xor edx, edx
xor ecx, ecx
xor r8d, r8d
mov dword [rbx + 0x210], edx
xor r9d, r9d
xor edx, edx
xor r10d, r10d
mov rax, qword [rsp + 0x160]
mov qword [rbx + 0x218], rcx
xor r11d, r11d
xor ecx, ecx
mov qword [rbx + 0x230], r8
xor r8d, r8d
mov qword [rbx + 0x198], rax
lea rax, [rbx + 0x210]
mov qword [rbx + 0x220], rax
mov qword [rbx + 0x228], rax
lea rax, [rbx + 0x240]
mov qword [rbx + 0x250], rax
mov qword [rbx + 0x258], rax
xor eax, eax
mov qword [rbx + 0x290], rax
lea rax, [rbx + 0x298]
mov qword [rsp + 0x60], rax
lea rax, [rbx + 0x2a0]
mov dword [rbx + 0x2a0], edx
mov rdx, qword [rsp + 0x68]
mov qword [rbx + 0x2a8], rcx
lea rcx, [0x14042c0a4]
mov byte [rbx + 0x1a0], 0
mov dword [rbx + 0x240], r9d
mov qword [rbx + 0x248], r10
mov qword [rbx + 0x260], r11
mov dword [rbx + 0x270], r12d
mov qword [rbx + 0x278], r14
mov qword [rbx + 0x280], r13
mov qword [rbx + 0x288], r13
mov qword [rbx + 0x2b0], rax
mov qword [rbx + 0x2b8], rax
mov qword [rbx + 0x2c0], r8
call fcn.140210e30
lea rax, [rsp + 0x110]
mov rdx, rbp
lea rcx, [0x14042c0b8]
mov byte [rsp + 0x110], 0
mov qword [rsp + 0x100], rax
xor eax, eax
mov qword [rsp + 0x108], rax
call fcn.140210e30
lea rax, [rsp + 0x130]
mov rdx, qword [rsp + 0x38]
lea rcx, [0x14042c0c8]
mov byte [rsp + 0x130], 0
mov qword [rsp + 0x120], rax
xor eax, eax
mov qword [rsp + 0x128], rax
call fcn.140210e30
xor edx, edx
mov rcx, rbp
call fcn.1403919f0
cmp byte [rax], 0x2f
je 0x1401f3316
mov rcx, qword [rsp + 0x40]
mov rdx, rbp
call fcn.1403939d0
mov rdx, qword [rsp + 0x40]
mov rcx, r15
call fcn.1401b03c0
mov rdx, r15
mov rcx, rbp
call fcn.1403961c0
mov rcx, r15
call fcn.1403907e0
mov rcx, qword [rsp + 0x40]
call fcn.1403907e0
mov rcx, qword [rsp + 0x38]
xor edx, edx
call fcn.1403919f0
cmp byte [rax], 0x2f
lea r12, [rsp + 0x160]
je 0x1401f336e
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x40]
call fcn.1403939d0
lea r14, [rsp + 0x140]
mov rdx, r12
mov rcx, r14
call fcn.1401b03c0
mov rcx, qword [rsp + 0x38]
mov rdx, r14
call fcn.1403961c0
mov rcx, r14
call fcn.1403907e0
mov rcx, r12
call fcn.1403907e0
lea rcx, [rsp + 0x100]
call fcn.1401b1690
test al, al
jne 0x1401f3399
mov r8, qword [rsp + 0x120]
mov rdx, qword [rsp + 0x100]
mov rcx, rbx
call fcn.1401f0fe0
jmp 0x1401f33aa
lea rcx, [rsp + 0x120]
call fcn.1401b1690
test al, al
je 0x1401f337f
mov rcx, qword [rsp + 0x58]
mov edx, 0x81100bff
call fcn.140284ab0
xor r14d, r14d
xor r11d, r11d
mov dword [rsp + 0xd0], r11d
mov qword [rsp + 0xd8], r14
mov qword [rsp + 0xe0], r14
call fcn.1400ba800
mov rcx, qword [rbx + 0x178]
mov rdx, qword [rsp + 0x100]
mov r8d, 1
call fcn.14004b5d0
dec eax
je 0x1401f3430
call fcn.1400bb0d0
mov edx, eax
lea r8, str._h._
mov rcx, r12
call fcn.1402c4ed0
mov rax, qword [rsp + 0x170]
movaps xmm5, xmmword [rsp + 0x160]
mov qword [rsp + 0xe0], rax
movaps xmmword [rsp + 0xd0], xmm5
lea rdx, str.use_certificate_file
lea rcx, [rsp + 0xd0]
mov qword [rsp + 0xe8], rdi
lea r8, [rsp + 0xe8]
mov qword [rsp + 0xf0], rdx
mov qword [rsp + 0xf8], 0x2bc
call fcn.140287cc0
xor r10d, r10d
xor r9d, r9d
mov dword [rsp + 0x140], r9d
mov qword [rsp + 0x148], r10
mov qword [rsp + 0x150], r10
call fcn.1400ba800
mov rcx, qword [rbx + 0x178]
mov rdx, qword [rsp + 0x120]
mov r8d, 1
call fcn.14004bca0
dec eax
je 0x1401f34df
call fcn.1400bb0d0
mov edx, eax
lea r8, str._h._
mov rcx, r12
call fcn.1402c4ed0
mov rax, qword [rsp + 0x170]
movaps xmm0, xmmword [rsp + 0x160]
mov qword [rsp + 0x150], rax
movaps xmmword [rsp + 0x140], xmm0
lea rdx, str.use_private_key_file
lea rcx, [rsp + 0x140]
mov r8, r12
mov qword [rsp + 0x160], rdi
mov qword [rsp + 0x168], rdx
mov qword [rsp + 0x170], 0x386
call fcn.140287cc0
lea rdx, str.Authenticate
mov rcx, r12
call fcn.140394710
mov rdx, r12
mov rcx, rsi
call fcn.14037fe80
xor r8d, r8d
lea rdi, [0x1401f1310]
mov rcx, r12
mov qword [rax], rdi
mov qword [rax + 8], r8
call fcn.1403907e0
lea rdx, str.Echo
mov rcx, r12
call fcn.140394710
mov rdx, r12
mov rcx, rsi
call fcn.14037fe80
xor ecx, ecx
lea rdi, [0x1401f03f0]
mov qword [rax + 8], rcx
mov rcx, r12
mov qword [rax], rdi
call fcn.1403907e0
lea rdx, str.I2PControl
mov rcx, r12
call fcn.140394710
mov rdx, r12
mov rcx, rsi
call fcn.14037fe80
xor edx, edx
lea rdi, [0x1401f11e0]
mov rcx, r12
mov qword [rax + 8], rdx
mov qword [rax], rdi
call fcn.1403907e0
lea rdx, str.RouterInfo
mov rcx, r12
call fcn.140394710
mov rdx, r12
mov rcx, rsi
call fcn.14037fe80
mov rdx, qword [0x1404d91f0]
xor r15d, r15d
mov rcx, r12
mov qword [rax + 8], r15
mov qword [rax], rdx
call fcn.1403907e0
lea rdx, str.RouterManager
mov rcx, r12
call fcn.140394710
mov rdx, r12
mov rcx, rsi
call fcn.14037fe80
lea rdi, [0x1401f1530]
xor r14d, r14d
mov rcx, r12
mov qword [rax], rdi
mov qword [rax + 8], r14
call fcn.1403907e0
lea rdx, str.NetworkSetting
mov rcx, r12
call fcn.140394710
mov rdx, r12
mov rcx, rsi
call fcn.14037fe80
mov rdx, qword [0x1404d9200]
xor edi, edi
mov rcx, r12
mov qword [rax + 8], rdi
mov qword [rax], rdx
call fcn.1403907e0
lea rdx, str.ClientServicesInfo
mov rcx, r12
call fcn.140394710
mov rdx, r12
mov rcx, rsi
call fcn.14037fe80
mov rdx, qword [0x1404d9210]
xor r11d, r11d
mov rcx, r12
mov qword [rax + 8], r11
mov qword [rax], rdx
call fcn.1403907e0
lea rdx, [0x14042c0a4]
mov rcx, r12
call fcn.140394710
mov rsi, qword [rbx + 0x278]
mov rdi, r13
test rsi, rsi
je 0x1401f36b2
lea rcx, [rsi + 0x20]
mov rdx, r12
call fcn.1403c4b90
mov rdx, qword [rsi + 0x18]
test al, al
cmove rdx, qword [rsi + 0x10]
cmove rdi, rsi
mov rsi, rdx
jmp 0x1401f368d
cmp r13, rdi
je 0x1401f36cb
lea rdx, [rdi + 0x20]
mov rcx, r12
call fcn.1403c4b90
test al, al
je 0x1401f385a
mov ecx, 0x50
lea r15, [rsp + 0x160]
call fcn.1403cd4b0
mov r12, rax
lea rax, [rax + 0x20]
mov rdx, r15
mov rcx, rax
mov qword [rsp + 0x38], rax
lea r14, [rbx + 0x268]
call fcn.140393810
xor r10d, r10d
mov qword [r12 + 0x40], r10
mov qword [r12 + 0x48], r10
cmp r13, rdi
jne 0x1401f373d
cmp qword [rbx + 0x290], 0
je 0x1401f37da
mov r15, qword [rbx + 0x288]
mov rdx, qword [rsp + 0x38]
lea rcx, [r15 + 0x20]
call fcn.1403c4b90
test al, al
jne 0x1401f37f6
jmp 0x1401f37da
lea r15, [rdi + 0x20]
mov rcx, qword [rsp + 0x38]
mov rdx, r15
call fcn.1403c4b90
test al, al
je 0x1401f3790
mov r15, qword [rbx + 0x280]
cmp rdi, r15
je 0x1401f3820
mov rcx, rdi
call fcn.1403bff30
mov rdx, qword [rsp + 0x38]
lea rcx, [rax + 0x20]
mov r15, rax
call fcn.1403c4b90
test al, al
je 0x1401f37da
mov rsi, qword [r15 + 0x18]
test rsi, rsi
je 0x1401f3802
mov r15, rdi
jmp 0x1401f3820
mov rdx, qword [rsp + 0x38]
mov rcx, r15
call fcn.1403c4b90
test al, al
je 0x1401f383a
mov r15, qword [rbx + 0x288]
cmp rdi, r15
je 0x1401f3802
mov rcx, rdi
call fcn.1403bffe0
mov rcx, qword [rsp + 0x38]
lea rdx, [rax + 0x20]
mov rsi, rax
call fcn.1403c4b90
test al, al
je 0x1401f37da
cmp qword [rdi + 0x18], 0
mov r15, rsi
jne 0x1401f37f6
jmp 0x1401f37fd
mov r8, qword [rsp + 0x38]
lea rcx, [rsp + 0x70]
mov rdx, r14
call fcn.1403ad5f0
mov rsi, qword [rsp + 0x70]
mov r15, qword [rsp + 0x78]
test r15, r15
je 0x1401f383d
jmp 0x1401f3802
xor esi, esi
mov r15, rdi
cmp r13, r15
sete al
test rsi, rsi
setne dl
or al, dl
jne 0x1401f3820
mov rcx, qword [rsp + 0x38]
lea rdx, [r15 + 0x20]
call fcn.1403c4b90
movzx ecx, al
mov r9, r13
mov r8, r15
mov rdx, r12
call fcn.1403c1030
inc qword [rbx + 0x290]
jmp 0x1401f3857
mov rsi, rdi
mov rcx, qword [rsp + 0x38]
call fcn.1403907e0
mov rcx, r12
mov edx, 0x50
mov r12, rsi
call fcn.1403cd470
mov rdi, r12
lea rax, [0x1401f0e20]
xor r9d, r9d
lea rsi, [rsp + 0x160]
mov qword [rdi + 0x40], rax
mov rcx, rsi
mov qword [rdi + 0x48], r9
call fcn.1403907e0
lea rdx, str.Reseed
mov rcx, rsi
call fcn.140394710
mov rcx, qword [rsp + 0x60]
mov rdx, rsi
call fcn.140380050
xor r8d, r8d
lea rdi, [0x1401f0d20]
mov rcx, rsi
mov qword [rax], rdi
mov qword [rax + 8], r8
call fcn.1403907e0
lea rdx, str.Shutdown
mov rcx, rsi
call fcn.140394710
mov rcx, qword [rsp + 0x60]
mov rdx, rsi
call fcn.140380050
xor ecx, ecx
lea rdi, [0x1401f0e70]
mov qword [rax + 8], rcx
mov rcx, rsi
mov qword [rax], rdi
call fcn.1403907e0
lea rdx, str.ShutdownGraceful
mov rcx, rsi
call fcn.140394710
mov rcx, qword [rsp + 0x60]
mov rdx, rsi
call fcn.140380050
xor edx, edx
lea rdi, [0x1401f1e60]
mov rcx, rsi
mov qword [rax], rdi
mov qword [rax + 8], rdx
call fcn.1403907e0
lea rcx, [rsp + 0x120]
call fcn.1403907e0
lea rcx, [rsp + 0x100]
call fcn.1403907e0
nop
movaps xmm6, xmmword [rsp + 0x180]
add rsp, 0x198
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret