Function at 0x14004b3fc
Capabilities:
Enumerate pe sections

Disassembly:
mov dword [rsp + 0x18], r8d
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x48
mov eax, dword [rcx + 0x10]
xor r12d, r12d
and dword [rsp + 0xa8], r12d
mov r14, rdx
mov rbx, rcx
mov dword [rsp + 0x38], eax
lea edx, [r12 + 2]
call fcn.14004aa24
test eax, eax
je 0x14004b44e
mov r9d, r8d
lea r8, str._RI___d_bytes
call fcn.14004a988
mov r8d, dword [rsp + 0xa0]
test r14, r14
je 0x14004b7f8
cmp r8d, 0x18
jl 0x14004b7f8
movzx eax, byte [r14 + 2]
movzx edi, byte [r14 + 3]
shl edi, 8
add edi, eax
movzx eax, byte [r14 + 1]
shl edi, 8
add edi, eax
movzx eax, byte [r14]
shl edi, 8
add edi, eax
cmp edi, dword [rbx]
jne 0x14004b7f8
mov al, byte [r14 + 5]
sub r8d, 0x18
movzx esi, byte [r14 + 0xb]
movzx ebp, byte [r14 + 0xf]
movzx r9d, byte [r14 + 0x13]
movzx r15d, byte [r14 + 0x17]
mov dl, byte [r14 + 4]
movzx r10d, byte [r14 + 7]
movzx r11d, byte [r14 + 6]
mov byte [rsp + 0x98], al
movzx eax, byte [r14 + 0xa]
shl esi, 8
add esi, eax
shl ebp, 8
movzx eax, byte [r14 + 9]
shl r9d, 8
shl r15d, 8
shl esi, 8
add esi, eax
mov byte [rsp + 0x90], dl
movzx eax, byte [r14 + 8]
shl esi, 8
add esi, eax
mov dword [rsp + 0xa0], r8d
movzx eax, byte [r14 + 0xe]
add ebp, eax
mov dword [rsp + 0x30], esi
movzx eax, byte [r14 + 0xd]
shl ebp, 8
add ebp, eax
movzx eax, byte [r14 + 0xc]
shl ebp, 8
add ebp, eax
movzx eax, byte [r14 + 0x12]
add r9d, eax
movzx eax, byte [r14 + 0x11]
shl r9d, 8
add r9d, eax
movzx eax, byte [r14 + 0x10]
shl r9d, 8
add r9d, eax
movzx eax, byte [r14 + 0x16]
add r15d, eax
mov dword [rsp + 0x34], r9d
movzx eax, byte [r14 + 0x15]
shl r15d, 8
add r15d, eax
movzx eax, byte [r14 + 0x14]
shl r15d, 8
add r14, 0x18
add r15d, eax
cmp r8d, r15d
jl 0x14004b7f1
test r15d, r15d
js 0x14004b7f1
lea eax, [rdx - 0x51]
cmp al, 3
ja 0x14004b7ea
mov r13d, r10d
mov edx, r9d
shl r13d, 8
mov rcx, rbx
add r13d, r11d
mov dword [rbx + 0x40], r13d
call fcn.14004b11c
mov rcx, rbx
call fcn.14004b0a0
mov al, byte [rsp + 0x90]
cmp al, 0x52
jne 0x14004b621
mov edx, dword [rbx + 0x4c]
sub edx, esi
js 0x14004b5b1
call fcn.14004b008
mov edx, ebp
mov rcx, rbx
call fcn.14004b0bc
mov rcx, rbx
call fcn.14004b0a0
cmp dword [rsp + 0xa8], 0
jne 0x14004b5dd
mov dword [rsp + 0xa8], 1
mov r12d, ebp
jmp 0x14004b5e8
mov eax, ebp
sub eax, r12d
test eax, eax
cmovg r12d, ebp
mov edx, 0x20
call fcn.14004aa24
test eax, eax
je 0x14004b712
mov ecx, dword [rbx + 0x4c]
lea r8, str.input_ack:_sn_lu_rtt_ld_rto_ld
mov eax, dword [rbx + 0x30]
sub ecx, esi
mov dword [rsp + 0x28], eax
mov r9d, ebp
mov dword [rsp + 0x20], ecx
mov rcx, rbx
call fcn.14004a988
jmp 0x14004b712
cmp al, 0x51
jne 0x14004b6c9
mov edx, 0x10
call fcn.14004aa24
test eax, eax
je 0x14004b64a
mov r9d, ebp
mov dword [rsp + 0x20], esi
lea r8, str.input_psh:_sn_lu_ts_lu
call fcn.14004a988
mov eax, ebp
sub eax, dword [rbx + 0x3c]
cmp eax, dword [rbx + 0x18]
jns 0x14004b712
mov r8d, esi
mov edx, ebp
mov rcx, rbx
call fcn.14004b1c0
cmp ebp, dword [rbx + 0x18]
js 0x14004b712
mov edx, r15d
call fcn.14004a974
movzx ecx, byte [rsp + 0x98]
mov rsi, rax
mov dword [rax + 0x10], edi
mov dword [rax + 0x14], 0x51
mov dword [rax + 0x18], ecx
mov dword [rax + 0x1c], r13d
mov eax, dword [rsp + 0x30]
mov dword [rsi + 0x20], eax
mov eax, dword [rsp + 0x34]
mov dword [rsi + 0x28], eax
mov dword [rsi + 0x24], ebp
mov dword [rsi + 0x2c], r15d
test r15d, r15d
je 0x14004b6bc
mov r8d, r15d
lea rcx, [rsi + 0x40]
mov rdx, r14
call qword [sym.imp.msvcrt.dll_memcpy]
mov rdx, rsi
mov rcx, rbx
call fcn.14004b300
jmp 0x14004b712
cmp al, 0x53
jne 0x14004b6ed
or dword [rbx + 0x48], 2
mov edx, 0x40
call fcn.14004aa24
test eax, eax
je 0x14004b712
lea r8, str.input_probe
call fcn.14004a988
jmp 0x14004b712
cmp al, 0x54
jne 0x14004b7ea
mov edx, 0x80
call fcn.14004aa24
test eax, eax
je 0x14004b712
mov r9d, r13d
lea r8, str.input_wins:__lu
call fcn.14004a988
mov r8d, dword [rsp + 0xa0]
mov eax, r15d
sub r8d, r15d
add r14, rax
cmp r8d, 0x18
jge 0x14004b461
cmp dword [rsp + 0xa8], 0
je 0x14004b742
mov edx, r12d
mov rcx, rbx
call fcn.14004b190
mov eax, dword [rbx + 0x10]
sub eax, dword [rsp + 0x38]
test eax, eax
jle 0x14004b7e6
mov r11d, dword [rbx + 0x44]
mov r9d, dword [rbx + 0x40]
cmp r11d, r9d
jae 0x14004b7e6
mov r8d, dword [rbx + 8]
mov r10d, dword [rbx + 0x80]
cmp r11d, dword [rbx + 0x24]
jae 0x14004b786
inc r11d
lea eax, [r10 + r8]
mov dword [rbx + 0x44], r11d
mov dword [rbx + 0x80], eax
jmp 0x14004b7d2
cmp r10d, r8d
mov eax, r8d
cmovb r10d, r8d
imul eax, r8d
xor edx, edx
div r10d
mov edx, r8d
add eax, r10d
shr edx, 4
add edx, eax
lea eax, [r11 + 1]
imul eax, r8d
mov dword [rbx + 0x80], edx
cmp eax, edx
ja 0x14004b7e6
lea eax, [r8 - 1]
mov ecx, 1
add eax, edx
test r8d, r8d
cmovne ecx, r8d
xor edx, edx
div ecx
mov r11d, eax
mov dword [rbx + 0x44], eax
cmp r11d, r9d
jbe 0x14004b7e6
mov dword [rbx + 0x44], r9d
imul r9d, r8d
mov dword [rbx + 0x80], r9d
xor eax, eax
jmp 0x14004b7fb
mov eax, 0xfffffffd
jmp 0x14004b7fb
mov eax, 0xfffffffe
jmp 0x14004b7fb
or eax, 0xffffffff
add rsp, 0x48
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret