Function at 0x14003abf0
Capabilities:
Enumerate pe sections

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0x100
mov rax, qword [0x1401d5408]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov r15, rdx
mov qword [rsp + 0x28], rdx
mov r14, rcx
lea rdi, [rcx + 0x1d0]
mov rax, qword [rdi]
cmp rax, qword [rdi + 8]
je 0x14003ac39
mov qword [rdi + 8], rax
lea r13, [rcx + 0x1e8]
mov rbx, qword [r13]
mov rsi, qword [r13 + 8]
cmp rbx, rsi
je 0x14003ac69
nop dword [rax]
mov rcx, rbx
call fcn.1400285b0
add rbx, 0x78
cmp rbx, rsi
jne 0x14003ac50
mov rax, qword [r13]
mov qword [r13 + 8], rax
mov rbx, qword [r14 + 0x200]
mov rsi, qword [r14 + 0x208]
cmp rbx, rsi
je 0x14003aca8
nop dword [rax]
lea rcx, [rbx + 0x30]
call fcn.140007ab0
mov rcx, rbx
call fcn.140007ab0
add rbx, 0x50
cmp rbx, rsi
jne 0x14003ac80
mov rax, qword [r14 + 0x200]
mov qword [r14 + 0x208], rax
mov r12d, dword [r15 + 0x34]
add r12, 0x28
add r12, r15
mov eax, dword [r12]
xor ecx, ecx
mov r15d, ecx
inc eax
cdqe
mov qword [rsp + 0x20], rax
test rax, rax
jle 0x14003ad5b
mov esi, ecx
lea rbx, [r12 - 0xc]
movzx ecx, byte [rbx + 0xa]
test cl, cl
je 0x14003ad3a
movzx eax, word [rbx]
mov word [rbp - 0x29], ax
mov eax, dword [rbx + 2]
mov dword [rbp - 0x25], eax
mov eax, dword [rbx + 6]
mov dword [rbp - 0x21], eax
mov byte [rbp - 0x1d], cl
movzx eax, byte [rbx + 0xb]
mov byte [rbp - 0x1c], al
mov eax, dword [rbx + 0xc]
mov dword [rbp - 0x19], eax
mov rdx, qword [rdi + 8]
cmp rdx, qword [rdi + 0x10]
je 0x14003ad1b
movups xmm0, xmmword [rbp - 0x29]
movups xmmword [rdx], xmm0
mov dword [rdx + 0x10], eax
add qword [rdi + 8], 0x14
jmp 0x14003ad27
lea r8, [rbp - 0x29]
mov rcx, rdi
call fcn.14003d010
inc r15d
inc rsi
sub rbx, 0x10
cmp rsi, qword [rsp + 0x20]
jl 0x14003acd5
jmp 0x14003ad5b
shl r15d, 4
movsxd rax, r15d
sub r12, rax
mov eax, dword [r12 - 4]
mov dword [r14 + 0x294], eax
mov eax, dword [r12]
mov dword [r14 + 0x298], eax
mov rsi, qword [rsp + 0x28]
movsx rbx, word [rsi + 0x3e]
add rsi, 0x40
lea rdi, [r14 + 0x268]
xor r8d, r8d
lea rdx, [0x14013d8b0]
mov rcx, rdi
call fcn.140007b10
mov r15, rbx
xor r12d, r12d
test rbx, rbx
jle 0x14003add1
mov ebx, r12d
movzx r9d, byte [rbx + rsi]
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x14003adc1
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x14003adb6
mov rax, qword [rdi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], r12b
jmp 0x14003adc9
mov rcx, rdi
call fcn.14000a3e0
inc rbx
cmp rbx, r15
jl 0x14003ad90
add rsi, r15
mov eax, dword [rsi]
mov dword [r14 + 0x288], eax
mov eax, dword [rsi + 4]
mov dword [r14 + 0x28c], eax
mov ecx, dword [rsi + 8]
mov dword [r14 + 0x290], ecx
mov rax, qword [0x14020c998]
cmp byte [rax + 0x28], 0
je 0x14003b799
add rsi, 0x11
mov eax, r12d
mov dword [rsp + 0x28], eax
movabs rdx, 0x8888888888888889
test ecx, ecx
jle 0x14003b578
mov r15d, 0xeb0
lea rdi, [0x140000000]
mov r8d, 2
cdq
idiv dword [r14 + 0x288]
mov byte [rsp + 0x40], 0
mov qword [rsp + 0x44], 0
mov dword [rbp - 0x79], r12d
mov qword [rbp - 0x75], 0xffffffffffffffff
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x69], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp - 0x59], xmm1
movdqa xmmword [rbp - 0x49], xmm0
mov dword [rbp - 0x39], r12d
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x34], eax
movzx eax, word [rsi]
mov word [rsp + 0x38], ax
movzx eax, word [rsi + 2]
mov word [rsp + 0x3a], ax
movzx ecx, word [rsi + 4]
mov dword [rbp - 0x7d], ecx
add rsi, 6
movzx ebx, word [rsi]
mov dword [rsp + 0x3c], ebx
mov eax, ebx
shr eax, 0xf
mov byte [rbp - 0x7f], al
mov eax, ebx
shr eax, 0xe
and al, 1
mov byte [rbp - 0x80], al
mov eax, ebx
shr eax, 0xd
and al, 1
mov byte [rsp + 0x58], al
mov eax, ebx
shr eax, 0xc
and al, 1
mov byte [rsp + 0x57], al
mov eax, ebx
shr eax, 0xb
and al, 1
mov byte [rsp + 0x56], al
mov eax, ebx
shr eax, 6
and al, 1
mov byte [rsp + 0x52], al
mov eax, ebx
shr eax, 0xa
and al, 1
mov byte [rsp + 0x55], al
mov eax, ebx
shr eax, 1
and al, 1
mov byte [rsp + 0x50], al
mov eax, ebx
shr eax, 7
and al, 1
mov byte [rsp + 0x53], al
movzx eax, bl
and al, 1
mov byte [rsp + 0x4e], al
mov byte [rsp + 0x4f], al
mov eax, ebx
shr eax, 4
and al, 1
mov byte [rsp + 0x4d], al
mov eax, ebx
shr eax, 5
and al, 1
mov byte [rsp + 0x51], al
mov eax, ebx
shr eax, 9
and al, 1
mov byte [rsp + 0x54], al
mov eax, 4
test ecx, ecx
cmove eax, r8d
add rsi, rax
mov rax, qword [r13 + 8]
cmp rax, qword [r13 + 0x10]
je 0x14003af50
lea rdx, [rsp + 0x30]
mov rcx, rax
call fcn.14003dcd0
add qword [r13 + 8], 0x78
jmp 0x14003af60
lea r8, [rsp + 0x30]
mov rdx, rax
mov rcx, r13
call fcn.14003cdd0
movzx r12d, word [rsp + 0x38]
cmp r12w, r15w
jne 0x14003afc8
add rsi, 0x16
lea rcx, [rbp - 0x51]
call fcn.1400287e0
mov rcx, qword [rbp - 0x69]
test rcx, rcx
je 0x14003b554
mov rax, qword [rbp - 0x59]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003afbe
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003b61c
call fcn.140115ec4
jmp 0x14003b554
test bl, 1
je case.0x14003afee.5
movzx eax, byte [rsi]
inc rsi
dec eax
cmp eax, 0x50
ja case.0x14003afee.5
cdqe
mov ecx, dword [rdi + rax*4 + 0x3b7c0]
add rcx, rdi
jmp rcx
movzx ebx, word [rsi]
xorps xmm0, xmm0
movups xmmword [rbp - 0x29], xmm0
xor eax, eax
mov qword [rbp - 0x19], rax
mov qword [rbp - 0x11], rax
mov r8d, ebx
lea rdx, [rsi + 2]
lea rcx, [rbp - 0x29]
call fcn.140006cb0
add rsi, 3
add rsi, rbx
lea rcx, [rbp - 0x29]
call fcn.140007ab0
jmp case.0x14003afee.5
movzx ebx, word [rsi]
xorps xmm0, xmm0
movups xmmword [rbp - 0x29], xmm0
xor eax, eax
mov qword [rbp - 0x19], rax
mov qword [rbp - 0x11], rax
mov r8d, ebx
lea rdx, [rsi + 2]
lea rcx, [rbp - 0x29]
call fcn.140006cb0
add rsi, 6
add rsi, rbx
lea rcx, [rbp - 0x29]
call fcn.140007ab0
jmp case.0x14003afee.5
movzx eax, r12w
mov ecx, 0xca
sub ax, cx
mov r8d, dword [rsp + 0x34]
mov edx, dword [rsp + 0x30]
cmp ax, 4
ja 0x14003b087
mov ecx, reloc.WS2_32.dll_setsockopt
bt ecx, eax
jb 0x14003b0a8
mov eax, 0x1382
cmp r12w, ax
je 0x14003b0a8
mov byte [r14 + 0x144], 1
mov dword [r14 + 0x148], edx
mov dword [r14 + 0x14c], r8d
mov rcx, r14
call fcn.1400393d0
mov rbx, rax
mov edi, dword [rsi + 1]
mov dword [rsp + 0x20], edi
mov rdx, qword [rax + 0x48]
cmp rdx, qword [rax + 0x50]
je 0x14003b0cd
mov dword [rdx], edi
add qword [rax + 0x48], 4
jmp 0x14003b0db
lea r8, [rsp + 0x20]
lea rcx, [rax + 0x40]
call fcn.14003d750
mov dword [rbx + 0x30], edi
movzx ecx, word [rsi + 5]
add rsi, 9
mov rax, qword [rbx + 0x40]
cmp rax, qword [rbx + 0x48]
je 0x14003b0f4
mov qword [rbx + 0x48], rax
xor eax, eax
cmp ax, cx
jae 0x14003b131
mov rdi, rcx
nop
mov eax, dword [rsi]
mov dword [rsp + 0x20], eax
mov rdx, qword [rbx + 0x48]
cmp rdx, qword [rbx + 0x50]
je 0x14003b119
mov dword [rdx], eax
add qword [rbx + 0x48], 4
jmp 0x14003b127
lea r8, [rsp + 0x20]
lea rcx, [rbx + 0x40]
call fcn.14003d750
add rsi, 4
sub rdi, 1
jne 0x14003b100
add rsi, 8
mov eax, 0x16b6
cmp r12w, ax
jne case.0x14003afee.5
add rsi, 0x10
jmp case.0x14003afee.5
mov rcx, qword [0x14020d370]
mov r9, qword [rcx + 8]
mov rcx, qword [rcx + 0x10]
sub rcx, r9
movabs rax, 0x469ee58469ee5847
imul rcx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rax, r12
cmp r12, rdx
jae 0x14003b191
imul rcx, rax, 0x1d0
add rcx, r9
xor r8d, r8d
jmp 0x14003b197
xor r8d, r8d
mov ecx, r8d
mov eax, dword [rsi]
cmp dword [rcx + 0x20], eax
setbe r12b
mov r11d, r8d
cmp dword [r14 + 0x28c], 0
jle case.0x14003afee.10
mov edi, dword [rsp + 0x34]
mov r15d, dword [rsp + 0x30]
nop word [rax + rax]
mov r9d, r8d
mov r10d, dword [r14 + 0x288]
test r10d, r10d
jle 0x14003b27a
nop dword [rax]
nop word [rax + rax]
mov r8d, r10d
imul r8d, r11d
add r8d, r9d
cmp r8d, 0xffffffff
jle 0x14003b247
mov rbx, qword [r13]
mov rcx, qword [r13 + 8]
sub rcx, rbx
movabs rax, 0x8888888888888889
imul rcx
add rdx, rcx
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rax, r8d
cmp rax, rdx
jae 0x14003b247
cmp r9d, 0xffffffff
jle 0x14003b247
cmp r9d, r10d
jge 0x14003b247
cmp r11d, 0xffffffff
jle 0x14003b247
cmp r11d, dword [r14 + 0x28c]
jge 0x14003b247
imul rcx, rax, 0x78
add rcx, rbx
xor r8d, r8d
jmp 0x14003b24d
xor r8d, r8d
mov ecx, r8d
cmp r15d, r9d
jne 0x14003b267
cmp edi, r11d
jne 0x14003b267
mov eax, dword [rsi]
mov dword [rcx + 0x14], eax
movzx eax, byte [rsi + 4]
mov byte [rcx + 0x10], al
mov byte [rcx + 0x1c], r12b
inc r9d
mov r10d, dword [r14 + 0x288]
cmp r9d, r10d
jl 0x14003b1e0
inc r11d
cmp r11d, dword [r14 + 0x28c]
jl 0x14003b1c0
add rsi, 5
jmp case.0x14003afee.5
inc rsi
jmp case.0x14003afee.5
add rsi, 4
movzx ebx, word [rsi]
xorps xmm0, xmm0
movups xmmword [rbp - 9], xmm0
xor r15d, r15d
mov qword [rbp + 7], r15
mov qword [rbp + 0xf], r15
mov r8d, ebx
mov rdx, rsi
lea rcx, [rbp - 9]
call fcn.140006cb0
nop
lea ecx, [rbx + 2]
add rsi, rcx
xorps xmm0, xmm0
movups xmmword [rbp - 0x29], xmm0
mov qword [rbp - 0x19], r15
mov qword [rbp - 0x11], r15
mov r8d, ebx
mov rdx, rsi
lea rcx, [rbp - 0x29]
call fcn.140006cb0
lea rcx, [rbp - 0x29]
call fcn.140007ab0
nop
lea rcx, [rbp - 9]
call fcn.140007ab0
jmp case.0x14003afee.5
movzx eax, word [rsi]
add rsi, 0x19
add rsi, rax
jmp case.0x14003afee.5
add rsi, 0x12
jmp case.0x14003afee.5
movzx eax, word [rsi]
add rsi, 7
add rsi, rax
jmp case.0x14003afee.5
add rsi, 8
jmp case.0x14003afee.5
inc rsi
movzx eax, word [rsi]
lea rsi, [rsi + rax*4]
add rsi, 4
jmp case.0x14003afee.5
add rsi, 6
jmp case.0x14003afee.5
movzx eax, word [rsi + 1]
add rsi, 0x20
add rsi, rax
jmp case.0x14003afee.5
movsx eax, word [rsi]
lea eax, [rax*4 + 4]
movsxd rcx, eax
add rsi, rcx
jmp case.0x14003afee.5
mov eax, 0xd42
cmp r12w, ax
jne case.0x14003afee.5
movzx eax, word [rsi]
add rsi, 2
add rsi, rax
jmp case.0x14003afee.5
movzx eax, word [rsi + 4]
add rsi, 6
add rsi, rax
jmp case.0x14003afee.5
movzx eax, word [rsi]
add rsi, 0xe
add rsi, rax
jmp case.0x14003afee.5
movzx eax, word [rsi]
add rsi, 0x22
add rsi, rax
jmp case.0x14003afee.5
inc rsi
mov eax, 0x1992
cmp r12w, ax
jne case.0x14003afee.43
add rsi, 0x1c
add rsi, 0x10
jmp case.0x14003afee.5
add rsi, 5
movzx eax, word [rsi]
lea rsi, [rsi + rax*4]
add rsi, 4
jmp case.0x14003afee.5
movsx rax, word [rsi]
add rsi, rax
movzx ecx, word [rsi + 0x12]
movzx eax, word [rsi + 0x14]
movzx edx, word [rsi + 0x16]
add rsi, 0x18
mov r9d, 0x1650
cmp cx, r9w
je 0x14003b433
mov r8d, 0x273c
cmp cx, r8w
je 0x14003b433
cmp ax, r9w
je 0x14003b433
cmp ax, r8w
je 0x14003b433
cmp dx, r9w
je 0x14003b433
cmp dx, r8w
jne 0x14003b437
add rsi, 8
add rsi, 4
jmp case.0x14003afee.5
add rsi, 9
jmp case.0x14003afee.5
add rsi, 4
movzx eax, byte [rsi]
lea rsi, [rsi + rax*4]
add rsi, 0x10
jmp case.0x14003afee.5
movzx eax, word [rsi]
add rsi, 6
add rsi, rax
jmp case.0x14003afee.5
add rsi, 0x23
jmp case.0x14003afee.5
add rsi, 0xe
jmp case.0x14003afee.5
movzx eax, word [rsi]
imul rcx, rax, 0xf
add rsi, 0xc
add rsi, rcx
jmp case.0x14003afee.5
add rsi, 0x11
jmp case.0x14003afee.5
add rsi, 2
jmp case.0x14003afee.5
add rsi, 0xc
jmp case.0x14003afee.5
add rsi, 0x138
jmp case.0x14003afee.5
movzx ebx, word [rsi]
lea rdx, str.Cycle:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140024710
mov edx, ebx
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
mov rcx, rax
lea rdx, [0x1401ac968]
call fcn.140024710
add rsi, 4
mov eax, dword [rsi]
lea eax, [rax*4]
movsxd rcx, eax
add rcx, 4
add rsi, rcx
jmp case.0x14003afee.5
test byte [rsi], 1
je case.0x14003afee.5
add rsi, 0xb
lea rcx, [rbp - 0x51]
call fcn.1400287e0
mov rcx, qword [rbp - 0x69]
test rcx, rcx
je 0x14003b547
mov rax, qword [rbp - 0x59]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003b542
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003b61c
call fcn.140115ec4
mov r15d, 0xeb0
lea rdi, [0x140000000]
mov eax, dword [rsp + 0x28]
inc eax
mov dword [rsp + 0x28], eax
xor r12d, r12d
cmp eax, dword [r14 + 0x290]
jl 0x14003ae2c
movabs rdx, 0x8888888888888889
mov r10d, r12d
mov dword [rsp + 0x28], r12d
cmp dword [r14 + 0x28c], 0
jle 0x14003b799
mov r15d, dword [rsp + 0x20]
mov esi, dword [rsp + 0x20]
nop word [rax + rax]
mov edi, r12d
mov r9d, dword [r14 + 0x288]
test r9d, r9d
jle 0x14003b77a
nop dword [rax]
nop word [rax + rax]
mov r8d, r9d
imul r8d, r10d
add r8d, edi
cmp r8d, 0xffffffff
jle 0x14003b623
mov r11, qword [r13]
mov rcx, qword [r13 + 8]
sub rcx, r11
mov rax, rdx
imul rcx
add rdx, rcx
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rax, r8d
cmp rax, rdx
jae 0x14003b623
cmp edi, 0xffffffff
jle 0x14003b623
cmp edi, r9d
jge 0x14003b623
cmp r10d, 0xffffffff
jle 0x14003b623
cmp r10d, dword [r14 + 0x28c]
jge 0x14003b623
imul rbx, rax, 0x78
add rbx, r11
jmp 0x14003b626
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rbx, r12
mov r12d, dword [rbx + 0x2c]
test r12d, r12d
je 0x14003b758
mov edx, r12d
lea rcx, [rbp - 9]
call fcn.14000b950
mov r13d, dword [rax + 0x10]
lea rcx, [rbp - 9]
call fcn.140007ab0
cmp r13d, 3
jl 0x14003b689
cmp r13d, 8
jg 0x14003b689
mov edx, r12d
lea rcx, [rbp - 9]
call fcn.14000b950
nop
lea r8d, [r13 - 2]
mov rdx, rax
lea rcx, [rsp + 0x20]
call fcn.1400769b0
nop
lea rcx, [rbp - 9]
call fcn.140007ab0
mov r15d, dword [rsp + 0x24]
mov esi, dword [rsp + 0x20]
mov r8d, dword [r14 + 0x288]
lea r13, [r14 + 0x1e8]
cmp r15d, r8d
jg 0x14003b753
mov r9d, dword [r14 + 0x28c]
cmp esi, r9d
jg 0x14003b753
mov eax, esi
imul eax, r8d
add eax, r15d
cmp eax, 0xffffffff
jle 0x14003b70d
mov r10, qword [r13]
movsxd r11, eax
mov rcx, qword [r13 + 8]
sub rcx, r10
movabs rax, 0x8888888888888889
imul rcx
add rdx, rcx
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r11, rdx
jae 0x14003b70d
cmp r15d, 0xffffffff
jle 0x14003b70d
cmp r15d, r8d
jge 0x14003b70d
cmp esi, 0xffffffff
jle 0x14003b70d
cmp esi, r9d
jge 0x14003b70d
imul rax, r11, 0x78
add rax, r10
jmp 0x14003b70f
xor eax, eax
mov ecx, dword [rbx]
mov dword [rbp - 0x29], ecx
mov r8d, dword [rbx + 4]
mov dword [rbp - 0x25], r8d
mov r9d, dword [rax + 0x70]
mov dword [rbp - 0x21], r9d
mov rdx, qword [rax + 0x60]
cmp rdx, qword [rax + 0x68]
je 0x14003b73f
mov dword [rdx], ecx
mov dword [rdx + 4], r8d
mov dword [rdx + 8], r9d
add qword [rax + 0x60], 0xc
jmp 0x14003b74c
lea r8, [rbp - 0x29]
lea rcx, [rax + 0x58]
call fcn.14003d5a0
mov dword [rbx + 0x34], r15d
mov dword [rbx + 0x38], esi
mov r10d, dword [rsp + 0x28]
inc edi
mov r9d, dword [r14 + 0x288]
cmp edi, r9d
movabs rdx, 0x8888888888888889
mov r12d, 0
jl 0x14003b5c0
inc r10d
mov dword [rsp + 0x28], r10d
cmp r10d, dword [r14 + 0x28c]
movabs rdx, 0x8888888888888889
jl 0x14003b5a0
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.140115c10
mov rbx, qword [rsp + 0x150]
add rsp, 0x100
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret