Function at 0x180002210
Capabilities:
Enumerate pe sections

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x58
mov eax, dword [rcx + 0x10]
xor ebp, ebp
mov r14d, r8d
and dword [rsp + 0x30], ebp
test byte [rcx + 0xf8], 2
mov rdi, rdx
mov dword [rsp + 0x40], eax
mov rbx, rcx
je 0x18000225b
cmp qword [rcx + 0x108], rbp
je 0x18000225b
mov r9d, r8d
lea edx, [rbp + 2]
lea r8, str._RI___d_bytes
call fcn.180001730
test rdi, rdi
je 0x1800027ad
cmp r14d, 0x18
jl 0x1800027ad
mov r13d, 1
mov eax, dword [rbx]
movzx edx, byte [rdi + 7]
movzx r11d, byte [rdi + 0xb]
movzx esi, byte [rdi + 0xf]
movzx ecx, byte [rdi + 0x13]
movzx r15d, byte [rdi + 0x17]
mov r12b, byte [rdi + 4]
mov dword [rsp + 0x3c], eax
mov al, byte [rdi + 5]
mov byte [rsp + 0xa0], al
shl r11d, 8
shl esi, 8
shl ecx, 8
shl r15d, 8
mov eax, 0x100
sub r14d, 0x18
mov dword [rsp + 0xb0], r14d
imul dx, ax
movzx eax, byte [rdi + 6]
add dx, ax
movzx eax, byte [rdi + 0xa]
add r11d, eax
movzx eax, byte [rdi + 9]
shl r11d, 8
add r11d, eax
movzx eax, byte [rdi + 8]
shl r11d, 8
add r11d, eax
movzx eax, byte [rdi + 0xe]
add esi, eax
movzx eax, byte [rdi + 0xd]
mov dword [rsp + 0xb8], r11d
shl esi, 8
add esi, eax
movzx eax, byte [rdi + 0xc]
shl esi, 8
add esi, eax
movzx eax, byte [rdi + 0x12]
add ecx, eax
movzx eax, byte [rdi + 0x11]
shl ecx, 8
add ecx, eax
movzx eax, byte [rdi + 0x10]
shl ecx, 8
add ecx, eax
movzx eax, byte [rdi + 0x16]
add r15d, eax
movzx eax, byte [rdi + 0x15]
mov dword [rsp + 0x38], ecx
shl r15d, 8
add r15d, eax
movzx eax, byte [rdi + 0x14]
shl r15d, 8
add r15d, eax
lea rax, [rdi + 0x18]
mov qword [rsp + 0xa8], rax
cmp r14d, r15d
jl 0x1800027a6
test r15d, r15d
js 0x1800027a6
cmp r12b, 0x51
je 0x180002378
cmp r12b, 0x52
je 0x180002378
cmp r12b, 0x53
je 0x180002378
cmp r12b, 0x54
jne 0x180002739
lea rdi, [rbx + 0xa8]
movzx edx, dx
mov rcx, qword [rdi]
mov dword [rsp + 0x34], edx
mov dword [rbx + 0x40], edx
cmp rcx, rdi
je 0x1800023f8
mov r13d, dword [rsp + 0x38]
mov r14, qword [rcx]
mov eax, r13d
sub eax, dword [rcx + 0x24]
test eax, eax
jle 0x1800023de
mov rax, qword [rcx + 8]
mov qword [r14 + 8], rax
mov rax, qword [rcx]
mov rdx, qword [rcx + 8]
mov qword [rdx], rax
mov rax, qword [0x18001eab8]
and qword [rcx], 0
and qword [rcx + 8], 0
test rax, rax
je 0x1800023ce
call rax
jmp 0x1800023d3
call fcn.180006a40
dec dword [rbx + 0x60]
mov rcx, r14
cmp r14, rdi
jne 0x180002396
mov r14d, dword [rsp + 0xb0]
mov edx, dword [rsp + 0x34]
mov r11d, dword [rsp + 0xb8]
mov r13d, 1
mov r8, qword [rdi]
cmp r8, rdi
je 0x180002406
mov eax, dword [r8 + 0x24]
jmp 0x180002409
mov eax, dword [rbx + 0x14]
mov dword [rbx + 0x10], eax
cmp r12b, 0x52
jne 0x18000256e
mov r9d, dword [rbx + 0x4c]
sub r9d, r11d
js 0x18000249b
mov r10d, dword [rbx + 0x2c]
test r10d, r10d
jne 0x180002439
mov eax, r9d
mov dword [rbx + 0x2c], r9d
cdq
sub eax, edx
sar eax, 1
mov dword [rbx + 0x28], eax
jmp 0x180002472
mov ecx, r9d
sub ecx, r10d
jns 0x180002443
neg ecx
mov eax, dword [rbx + 0x28]
imul r10d, r10d, 7
lea ecx, [rcx + rax*2]
add eax, ecx
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [rbx + 0x28], eax
lea eax, [r9 + r10]
cdq
and edx, 7
add eax, edx
sar eax, 3
cmp eax, r13d
cmovl eax, r13d
mov dword [rbx + 0x2c], eax
mov ecx, dword [rbx + 0x28]
mov r10d, 0xea60
shl ecx, 2
mov eax, r10d
cmp dword [rbx + 0x50], ecx
cmovae ecx, dword [rbx + 0x50]
add ecx, dword [rbx + 0x2c]
cmp dword [rbx + 0x34], ecx
cmovae ecx, dword [rbx + 0x34]
cmp ecx, r10d
cmovbe eax, ecx
mov dword [rbx + 0x30], eax
cmp esi, dword [rbx + 0x10]
js 0x1800024fa
cmp esi, dword [rbx + 0x14]
jns 0x1800024fa
jmp 0x1800024b2
cmp esi, dword [r8 + 0x24]
je 0x1800024b9
js 0x1800024fa
mov r8, qword [r8]
cmp r8, rdi
jne 0x1800024a7
jmp 0x1800024fa
mov rdx, qword [r8]
mov rax, qword [r8 + 8]
mov rcx, r8
mov qword [rdx + 8], rax
mov rax, qword [r8]
mov rdx, qword [r8 + 8]
mov qword [rdx], rax
mov rax, qword [0x18001eab8]
and qword [r8], 0
and qword [r8 + 8], 0
test rax, rax
je 0x1800024ea
call rax
jmp 0x1800024ef
call fcn.180006a40
dec dword [rbx + 0x60]
mov r11d, dword [rsp + 0xb8]
mov rax, qword [rdi]
cmp rax, rdi
je 0x180002507
mov eax, dword [rax + 0x24]
jmp 0x18000250a
mov eax, dword [rbx + 0x14]
cmp dword [rsp + 0x30], 0
mov dword [rbx + 0x10], eax
jne 0x18000251d
mov dword [rsp + 0x30], r13d
mov ebp, esi
jmp 0x180002526
mov eax, esi
sub eax, ebp
test eax, eax
cmovg ebp, esi
test byte [rbx + 0xf8], 0x20
je 0x1800026b1
cmp qword [rbx + 0x108], 0
je 0x1800026b1
mov ecx, dword [rbx + 0x4c]
mov eax, dword [rbx + 0x30]
lea r8, str.input_ack:_sn_lu_rtt_ld_rto_ld
sub ecx, r11d
mov dword [rsp + 0x28], eax
mov r9d, esi
mov dword [rsp + 0x20], ecx
mov rcx, rbx
mov edx, 0x20
call fcn.180001730
jmp 0x1800026b1
cmp r12b, 0x51
jne 0x18000264a
test byte [rbx + 0xf8], 0x10
je 0x1800025a7
cmp qword [rbx + 0x108], 0
je 0x1800025a7
lea r8, str.input_psh:_sn_lu_ts_lu
mov r9d, esi
mov edx, reloc.WS2_32.dll_recv
mov rcx, rbx
mov dword [rsp + 0x20], r11d
call fcn.180001730
mov eax, esi
sub eax, dword [rbx + 0x3c]
cmp eax, dword [rbx + 0x18]
jns 0x1800026b1
mov r12d, dword [rsp + 0xb8]
mov edx, esi
mov rcx, rbx
mov r8d, r12d
call fcn.180001fd0
cmp esi, dword [rbx + 0x18]
js 0x1800026b1
mov rax, qword [0x18001eab0]
movsxd rcx, r15d
add rcx, 0x48
test rax, rax
je 0x1800025ea
call rax
jmp 0x1800025ef
call fcn.180006a80
mov rdi, rax
mov eax, dword [rsp + 0x3c]
mov dword [rdi + 0x10], eax
movzx eax, byte [rsp + 0xa0]
mov dword [rdi + 0x14], 0x51
mov dword [rdi + 0x18], eax
mov eax, dword [rsp + 0x34]
mov dword [rdi + 0x20], r12d
mov dword [rdi + 0x1c], eax
mov eax, dword [rsp + 0x38]
mov dword [rdi + 0x24], esi
mov dword [rdi + 0x2c], r15d
mov dword [rdi + 0x28], eax
test r15d, r15d
je 0x18000263d
mov rdx, qword [rsp + 0xa8]
lea rcx, [rdi + 0x40]
mov r8d, r15d
call fcn.180006510
mov rdx, rdi
mov rcx, rbx
call fcn.1800020fc
jmp 0x1800026b1
cmp r12b, 0x53
jne 0x18000267d
or dword [rbx + 0x48], 2
test byte [rbx + 0xf8], 0x40
je 0x1800026b1
cmp qword [rbx + 0x108], 0
je 0x1800026b1
lea r8, str.input_probe
mov edx, 0x40
mov rcx, rbx
call fcn.180001730
jmp 0x1800026b1
cmp r12b, 0x54
jne 0x180002739
test byte [rbx + 0xf8], 0x80
je 0x1800026b1
cmp qword [rbx + 0x108], 0
je 0x1800026b1
mov r9d, edx
lea r8, str.input_wins:__lu
mov rcx, rbx
mov edx, 0x80
call fcn.180001730
mov rdi, qword [rsp + 0xa8]
mov eax, r15d
sub r14d, r15d
add rdi, rax
cmp r14d, 0x18
jge 0x180002274
cmp dword [rsp + 0x30], 0
je 0x180002702
cmp ebp, dword [rbx + 0x10]
js 0x180002702
cmp ebp, dword [rbx + 0x14]
jns 0x180002702
lea rdx, [rbx + 0xa8]
mov rcx, qword [rdx]
cmp rcx, rdx
je 0x180002702
cmp ebp, dword [rcx + 0x24]
mov r8, qword [rcx]
js 0x180002702
je 0x1800026fa
add dword [rcx + 0x38], r13d
mov rcx, r8
cmp r8, rdx
jne 0x1800026ec
mov eax, dword [rbx + 0x10]
sub eax, dword [rsp + 0x40]
test eax, eax
jle 0x1800027a2
mov r11d, dword [rbx + 0x44]
mov r10d, dword [rbx + 0x40]
cmp r11d, r10d
jae 0x1800027a2
mov r9d, dword [rbx + 8]
cmp r11d, dword [rbx + 0x24]
jae 0x180002740
add dword [rbx + 0x80], r9d
lea eax, [r11 + 1]
jmp 0x18000278a
mov eax, 0xfffffffd
jmp 0x1800027b0
mov eax, dword [rbx + 0x80]
cmp eax, r9d
cmovb eax, r9d
xor edx, edx
mov r8d, eax
mov eax, r9d
imul eax, r9d
div r8d
mov edx, r9d
add eax, r8d
shr edx, 4
add edx, eax
lea eax, [r11 + 1]
mov dword [rbx + 0x80], edx
imul eax, r9d
cmp eax, edx
ja 0x18000278d
test r9d, r9d
lea eax, [rdx + r9 - 1]
cmovne r13d, r9d
xor edx, edx
div r13d
mov dword [rbx + 0x44], eax
cmp dword [rbx + 0x44], r10d
jbe 0x1800027a2
mov dword [rbx + 0x44], r10d
imul r10d, r9d
mov dword [rbx + 0x80], r10d
xor eax, eax
jmp 0x1800027b0
mov eax, 0xfffffffe
jmp 0x1800027b0
or eax, 0xffffffff
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret