Function at 0x1800b27c0
Capabilities:
Enumerate pe sections

Disassembly:
mov dword [rsp + 0x18], r8d
push rbx
push rsi
push r12
sub rsp, 0x70
mov eax, dword [rcx + 0x10]
xor r12d, r12d
test byte [rcx + 0xf8], 2
mov r9d, r8d
mov rsi, rdx
mov rbx, rcx
mov dword [rsp + 0x38], eax
mov dword [rsp + 0xa8], r12d
je 0x1800b2813
cmp qword [rcx + 0x108], r12
je 0x1800b2813
lea r8, str._RI___d_bytes
lea edx, [r12 + 2]
call fcn.1800b1ce0
mov r9d, dword [rsp + 0xa0]
test rsi, rsi
je 0x1800b2c9c
cmp r9d, 0x18
jl 0x1800b2c9c
mov qword [rsp + 0x68], rbp
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x50], r14
mov eax, dword [rbx]
movzx r8d, byte [rsi + 7]
movzx r15d, byte [rsi + 0xb]
movzx edi, byte [rsi + 0xf]
movzx edx, byte [rsi + 0x13]
movzx r13d, byte [rsi + 0x17]
movzx ebp, byte [rsi + 4]
mov dword [rsp + 0x30], eax
movzx eax, byte [rsi + 5]
mov byte [rsp + 0x90], al
movzx eax, byte [rsi + 6]
shl r15d, 8
shl edi, 8
shl edx, 8
shl r13d, 8
mov ecx, 0x100
sub r9d, 0x18
mov dword [rsp + 0xa0], r9d
imul r8w, cx
add r8w, ax
movzx eax, byte [rsi + 0xa]
add r15d, eax
movzx eax, byte [rsi + 9]
shl r15d, 8
add r15d, eax
movzx eax, byte [rsi + 8]
shl r15d, 8
add r15d, eax
movzx eax, byte [rsi + 0xe]
add edi, eax
movzx eax, byte [rsi + 0xd]
shl edi, 8
add edi, eax
movzx eax, byte [rsi + 0xc]
shl edi, 8
add edi, eax
movzx eax, byte [rsi + 0x12]
add edx, eax
movzx eax, byte [rsi + 0x11]
shl edx, 8
add edx, eax
movzx eax, byte [rsi + 0x10]
shl edx, 8
add edx, eax
movzx eax, byte [rsi + 0x16]
add r13d, eax
movzx eax, byte [rsi + 0x15]
mov dword [rsp + 0x34], edx
shl r13d, 8
add r13d, eax
movzx eax, byte [rsi + 0x14]
shl r13d, 8
add r13d, eax
lea rax, [rsi + 0x18]
mov qword [rsp + 0x98], rax
cmp r9d, r13d
jl 0x1800b2c95
test r13d, r13d
js 0x1800b2c95
cmp bpl, 0x51
je 0x1800b293f
cmp bpl, 0x52
je 0x1800b293f
cmp bpl, 0x53
je 0x1800b293f
cmp bpl, 0x54
jne 0x1800b2c8e
movzx r14d, r8w
mov rcx, rbx
mov dword [rbx + 0x40], r14d
call fcn.1800b24c0
lea rsi, [rbx + 0xa8]
mov rax, qword [rsi]
cmp rax, rsi
je 0x1800b2963
mov eax, dword [rax + 0x24]
jmp 0x1800b2966
mov eax, dword [rbx + 0x14]
mov dword [rbx + 0x10], eax
cmp bpl, 0x52
jne 0x1800b2a53
mov edx, dword [rbx + 0x4c]
sub edx, r15d
js 0x1800b2983
mov rcx, rbx
call fcn.1800b2430
cmp edi, dword [rbx + 0x10]
js 0x1800b29de
cmp edi, dword [rbx + 0x14]
jns 0x1800b29de
mov rcx, qword [rsi]
cmp rcx, rsi
je 0x1800b29de
mov edx, dword [rcx + 0x24]
cmp edi, edx
je 0x1800b29a8
js 0x1800b29de
mov rcx, qword [rcx]
cmp rcx, rsi
jne 0x1800b2995
jmp 0x1800b29de
mov rdx, qword [rcx]
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov rax, qword [rcx]
mov rdx, qword [rcx + 8]
mov qword [rdx], rax
xor eax, eax
mov qword [rcx], rax
mov qword [rcx + 8], rax
mov rax, qword [0x18023e020]
test rax, rax
je 0x1800b29d6
call rax
jmp 0x1800b29db
call fcn.18018473c
dec dword [rbx + 0x60]
mov rax, qword [rsi]
cmp rax, rsi
je 0x1800b29eb
mov eax, dword [rax + 0x24]
jmp 0x1800b29ee
mov eax, dword [rbx + 0x14]
cmp dword [rsp + 0xa8], 0
mov dword [rbx + 0x10], eax
jne 0x1800b2a0b
mov dword [rsp + 0xa8], 1
mov r12d, edi
jmp 0x1800b2a16
mov eax, edi
sub eax, r12d
test eax, eax
cmovg r12d, edi
mov edx, 0x20
mov rcx, rbx
call fcn.1800b1d60
test eax, eax
je 0x1800b2b6d
mov ecx, dword [rbx + 0x4c]
mov eax, dword [rbx + 0x30]
lea r8, str.input_ack:_sn_lu_rtt_ld_rto_ld
sub ecx, r15d
mov dword [rsp + 0x28], eax
mov r9d, edi
mov dword [rsp + 0x20], ecx
mov rcx, rbx
call fcn.1800b1ce0
jmp 0x1800b2b6d
cmp bpl, 0x51
jne 0x1800b2b1a
mov edx, reloc.WS2_32.dll_recv
mov rcx, rbx
call fcn.1800b1d60
test eax, eax
je 0x1800b2a82
lea r8, str.input_psh:_sn_lu_ts_lu
mov r9d, edi
mov dword [rsp + 0x20], r15d
call fcn.1800b1ce0
mov eax, edi
sub eax, dword [rbx + 0x3c]
cmp eax, dword [rbx + 0x18]
jns 0x1800b2b6d
mov r8d, r15d
mov edx, edi
mov rcx, rbx
call fcn.1800b2560
cmp edi, dword [rbx + 0x18]
js 0x1800b2b6d
mov rax, qword [0x18023e018]
movsxd rcx, r13d
add rcx, 0x48
test rax, rax
je 0x1800b2abd
call rax
jmp 0x1800b2ac2
call fcn.18018477c
mov rsi, rax
mov eax, dword [rsp + 0x30]
mov dword [rsi + 0x10], eax
movzx eax, byte [rsp + 0x90]
mov dword [rsi + 0x14], 0x51
mov dword [rsi + 0x18], eax
mov eax, dword [rsp + 0x34]
mov dword [rsi + 0x1c], r14d
mov dword [rsi + 0x20], r15d
mov dword [rsi + 0x24], edi
mov dword [rsi + 0x2c], r13d
mov dword [rsi + 0x28], eax
test r13d, r13d
je 0x1800b2b0d
mov rdx, qword [rsp + 0x98]
lea rcx, [rsi + 0x40]
mov r8d, r13d
call fcn.180183a80
mov rdx, rsi
mov rcx, rbx
call fcn.1800b2680
jmp 0x1800b2b6d
cmp bpl, 0x53
jne 0x1800b2b43
or dword [rbx + 0x48], 2
mov edx, 0x40
mov rcx, rbx
call fcn.1800b1d60
test eax, eax
je 0x1800b2b6d
lea r8, str.input_probe
call fcn.1800b1ce0
jmp 0x1800b2b6d
cmp bpl, 0x54
jne 0x1800b2c8e
mov edx, 0x80
mov rcx, rbx
call fcn.1800b1d60
test eax, eax
je 0x1800b2b6d
lea r8, str.input_wins:__lu
mov r9d, r14d
call fcn.1800b1ce0
mov r9d, dword [rsp + 0xa0]
mov rsi, qword [rsp + 0x98]
mov eax, r13d
sub r9d, r13d
add rsi, rax
cmp r9d, 0x18
jge 0x1800b283f
cmp dword [rsp + 0xa8], 0
je 0x1800b2bcd
cmp r12d, dword [rbx + 0x10]
js 0x1800b2bcd
cmp r12d, dword [rbx + 0x14]
jns 0x1800b2bcd
lea r9, [rbx + 0xa8]
mov rcx, qword [r9]
cmp rcx, r9
je 0x1800b2bcd
mov edx, dword [rcx + 0x24]
mov r8, qword [rcx]
cmp r12d, edx
js 0x1800b2bcd
je 0x1800b2bc5
inc dword [rcx + 0x38]
mov rcx, r8
cmp r8, r9
jne 0x1800b2bb5
mov eax, dword [rbx + 0x10]
sub eax, dword [rsp + 0x38]
test eax, eax
jle 0x1800b2c6a
mov r11d, dword [rbx + 0x44]
mov r10d, dword [rbx + 0x40]
cmp r11d, r10d
jae 0x1800b2c6a
mov r9d, dword [rbx + 8]
cmp r11d, dword [rbx + 0x24]
jae 0x1800b2c04
add dword [rbx + 0x80], r9d
lea eax, [r11 + 1]
jmp 0x1800b2c52
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 0x1800b2c55
test r9d, r9d
lea eax, [rdx + r9 - 1]
mov ecx, 1
cmovne ecx, r9d
xor edx, edx
div ecx
mov dword [rbx + 0x44], eax
cmp dword [rbx + 0x44], r10d
jbe 0x1800b2c6a
mov dword [rbx + 0x44], r10d
imul r10d, r9d
mov dword [rbx + 0x80], r10d
xor eax, eax
mov r14, qword [rsp + 0x50]
mov r13, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov r15, qword [rsp + 0x48]
add rsp, 0x70
pop r12
pop rsi
pop rbx
ret
mov eax, 0xfffffffd
jmp 0x1800b2c6c
mov eax, 0xfffffffe
jmp 0x1800b2c6c
or eax, 0xffffffff
add rsp, 0x70
pop r12
pop rsi
pop rbx
ret