Function at 0x140019960
Capabilities:
Enumerate pe sections

Disassembly:
push rbp
push rdi
push r15
lea rbp, [rsp - 0x290]
sub rsp, 0x390
mov rax, qword [0x140300b88]
xor rax, rsp
mov qword [rbp + 0x268], rax
mov r15, r8
mov qword [rsp + 0x78], rdx
mov rdi, rcx
xor edx, edx
mov r8d, 0xe0
lea rcx, [rbp + 0x80]
call fcn.14020dff0
inc qword [rdi + 0x30]
mov rcx, r15
call fcn.140026db0
test eax, eax
jne 0x14001a961
mov qword [rsp + 0x388], rsi
lea rdx, str.0123456789ABCDEF
mov qword [rsp + 0x380], r12
lea rsi, [r15 + 0x3b]
mov qword [rsp + 0x378], r13
lea r12, [rbp + 0x80]
mov qword [rsp + 0x370], r14
xor r13d, r13d
mov r14, qword [rsp + 0x60]
mov qword [rsp + 0x3c8], rbx
mov qword [rsp + 0x68], rsi
nop
cmp byte [rsi - 3], 0
je 0x14001a5ae
lea rax, [rsi - 2]
test rax, rax
je 0x14001a8e7
movzx ecx, byte [rax]
mov eax, ecx
shr rcx, 4
and eax, 0xf
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x181], al
movzx eax, byte [rcx + rdx]
mov byte [rbp + 0x180], al
movzx ecx, byte [rsi - 1]
mov eax, ecx
shr rcx, 4
and eax, 0xf
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x183], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rsi]
mov byte [rbp + 0x182], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x185], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rsi + 1]
mov byte [rbp + 0x184], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x187], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rsi + 2]
mov byte [rbp + 0x186], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x189], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rsi + 3]
mov byte [rbp + 0x188], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x18b], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rsi + 4]
mov byte [rbp + 0x18a], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x18d], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rsi + 5]
mov byte [rbp + 0x18c], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x18f], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rsi + 6]
mov byte [rbp + 0x18e], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x191], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rsi + 7]
mov byte [rbp + 0x190], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x193], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rsi + 8]
mov byte [rbp + 0x192], al
mov eax, ecx
shr rcx, 4
and eax, 0xf
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x195], al
movzx eax, byte [rcx + rdx]
mov byte [rbp + 0x194], al
movzx ecx, byte [rsi + 9]
mov eax, ecx
shr rcx, 4
and eax, 0xf
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x197], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rsi + 0xa]
mov byte [rbp + 0x196], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x199], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rsi + 0xb]
mov byte [rbp + 0x198], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x19b], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rsi + 0xc]
mov byte [rbp + 0x19a], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x19d], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rsi + 0xd]
mov byte [rbp + 0x19c], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x19f], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rsi + 0xe]
mov byte [rbp + 0x19e], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x1a1], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rsi + 0xf]
mov byte [rbp + 0x1a0], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x1a3], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rsi + 0x10]
mov byte [rbp + 0x1a2], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x1a5], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rsi + 0x11]
mov byte [rbp + 0x1a4], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x1a7], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rsi + 0x12]
mov byte [rbp + 0x1a6], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x1a9], al
movzx eax, byte [rcx + rdx]
mov byte [rbp + 0x1a8], al
movzx ecx, byte [rsi + 0x13]
mov eax, ecx
shr rcx, 4
and eax, 0xf
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x1ab], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rsi + 0x14]
mov byte [rbp + 0x1aa], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x1ad], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rsi + 0x15]
mov byte [rbp + 0x1ac], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x1af], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rsi + 0x16]
mov byte [rbp + 0x1ae], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x1b1], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rsi + 0x17]
mov byte [rbp + 0x1b0], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x1b3], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rsi + 0x18]
mov byte [rbp + 0x1b2], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x1b5], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rsi + 0x19]
mov byte [rbp + 0x1b4], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x1b7], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rsi + 0x1a]
mov byte [rbp + 0x1b6], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x1b9], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rsi + 0x1b]
mov byte [rbp + 0x1b8], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x1bb], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rsi + 0x1c]
mov byte [rbp + 0x1ba], al
mov eax, ecx
and eax, 0xf
movzx eax, byte [rax + rdx]
lea r8, [rbp + 0x80]
mov byte [rbp + 0x1bd], al
shr rcx, 4
mov byte [rbp + 0x1c0], 0
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rsi + 0x1d]
mov byte [rbp + 0x1bc], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x1bf], al
movzx eax, byte [rcx + rdx]
lea rdx, [rbp + 0x180]
mov byte [rbp + 0x1be], al
movsxd rax, r13d
imul rcx, rax, 0x70
add r8, rcx
mov rcx, qword [rdi]
call fcn.14001ec50
mov ebx, eax
test eax, eax
jne 0x14001a8ec
cmp qword [r12], 0
jge 0x14001a5a7
test r13d, r13d
je 0x140019eaf
cmp r13d, 1
jne 0x14001a8d9
lea rax, [rsp + 0x60]
mov rdx, r15
lea r9, [rbp + 0x238]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x160]
mov rcx, rdi
call fcn.140026ff0
mov r14, qword [rsp + 0x60]
mov ebx, eax
jmp 0x14001a02a
mov r9, qword [rdi + 8]
xor eax, eax
mov dword [rbp - 0x7c], eax
mov qword [rbp - 0x58], rax
test r9, r9
je 0x14001a8e7
test r15, r15
je 0x14001a8e7
mov rcx, qword [r15 + 0x10]
mov qword [rsp + 0x70], rcx
lea rax, [rcx - 1]
cmp rax, 0xfffffffffffffffd
ja 0x14001a8e7
cmp byte [r15 + 0x38], 0
je 0x14001a8e7
xor eax, eax
mov qword [rbp - 0x30], 0xffffffffffffffff
mov dword [rbp - 0x80], eax
lea rbx, [r15 + 0x39]
mov qword [rbp - 0x40], rax
xorps xmm0, xmm0
mov qword [rbp - 0x38], rax
lea rax, [fcn.14002d070]
mov qword [rbp - 0x78], rax
lea rax, [fcn.14002d4a0]
mov qword [rbp - 0x70], rax
lea rax, [fcn.14002d0c0]
mov qword [rbp - 0x68], rax
lea rax, [fcn.14002d390]
mov qword [rbp - 0x60], rax
movdqa xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x58], rcx
test rbx, rbx
je 0x14001a025
lea r8, [rbp + 0x238]
mov rdx, rbx
mov rcx, r9
call fcn.1400285a0
mov rsi, rax
cmp rax, 0xffffffffffffffff
jne 0x140019f72
mov rsi, qword [rsp + 0x68]
lea ebx, [rax + 0xb]
jmp 0x14001a02a
mov rcx, qword [rsp + 0x70]
call fcn.14002d070
test rax, rax
jne 0x140019fc6
mov qword [rsp + 0x60], rax
mov r14, rax
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp + 0x160], xmm0
movups xmmword [rbp + 0x170], xmm1
test rsi, rsi
je 0x140019fbd
mov rcx, qword [rsi + 8]
cmp rcx, 0xffffffffffffffff
je 0x140019fb3
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rsi
call fcn.1402122e0
xor eax, eax
mov rsi, qword [rsp + 0x68]
mov ebx, eax
jmp 0x14001a02a
lea rax, [rsp + 0x60]
mov rdx, rsi
lea r9, [rbp + 0x160]
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x80]
mov rcx, rdi
call fcn.140029240
mov ebx, eax
test rsi, rsi
je 0x14001a005
mov rcx, qword [rsi + 8]
cmp rcx, 0xffffffffffffffff
je 0x140019ffd
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rsi
call fcn.1402122e0
test ebx, ebx
je 0x14001a019
mov rcx, qword [rdi + 8]
lea rdx, [rbp + 0x238]
call fcn.1400289d0
mov r14, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
jmp 0x14001a02a
mov ebx, 1
test ebx, ebx
jne 0x14001a8ec
lea rcx, [rbp + 0x238]
call fcn.140221c4c
mov qword [r12 + 8], rax
test rax, rax
je 0x14001a8e0
mov rdx, r14
mov rcx, rdi
call fcn.140019640
mov ebx, eax
test eax, eax
jne 0x14001a8ec
mov rcx, rdi
call fcn.1400197a0
mov ebx, eax
test eax, eax
jne 0x14001a8ec
movzx ecx, byte [rbp + 0x160]
lea rdx, str.0123456789ABCDEF
mov eax, ecx
shr rcx, 4
and eax, 0xf
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x1d1], al
movzx eax, byte [rcx + rdx]
mov byte [rbp + 0x1d0], al
movzx ecx, byte [rbp + 0x161]
mov eax, ecx
shr rcx, 4
and eax, 0xf
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x1d3], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x162]
mov byte [rbp + 0x1d2], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x1d5], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x163]
mov byte [rbp + 0x1d4], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x1d7], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x164]
mov byte [rbp + 0x1d6], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x1d9], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x165]
mov byte [rbp + 0x1d8], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x1db], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x166]
mov byte [rbp + 0x1da], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x1dd], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x167]
mov byte [rbp + 0x1dc], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x1df], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x168]
mov byte [rbp + 0x1de], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x1e1], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x169]
mov byte [rbp + 0x1e0], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x1e3], al
movzx eax, byte [rcx + rdx]
mov byte [rbp + 0x1e2], al
movzx ecx, byte [rbp + 0x16a]
mov eax, ecx
shr rcx, 4
and eax, 0xf
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x1e5], al
movzx eax, byte [rcx + rdx]
mov byte [rbp + 0x1e4], al
movzx ecx, byte [rbp + 0x16b]
mov eax, ecx
shr rcx, 4
and eax, 0xf
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x1e7], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x16c]
mov byte [rbp + 0x1e6], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x1e9], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x16d]
mov byte [rbp + 0x1e8], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x1eb], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x16e]
mov byte [rbp + 0x1ea], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x1ed], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x16f]
mov byte [rbp + 0x1ec], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x1ef], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x170]
mov byte [rbp + 0x1ee], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x1f1], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x171]
mov byte [rbp + 0x1f0], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x1f3], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x172]
mov byte [rbp + 0x1f2], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x1f5], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x173]
mov byte [rbp + 0x1f4], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x1f7], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x174]
mov byte [rbp + 0x1f6], al
mov eax, ecx
shr rcx, 4
and eax, 0xf
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x1f9], al
movzx eax, byte [rcx + rdx]
mov byte [rbp + 0x1f8], al
movzx ecx, byte [rbp + 0x175]
mov eax, ecx
shr rcx, 4
and eax, 0xf
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x1fb], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x176]
mov byte [rbp + 0x1fa], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x1fd], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x177]
mov byte [rbp + 0x1fc], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x1ff], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x178]
mov byte [rbp + 0x1fe], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x201], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x179]
mov byte [rbp + 0x200], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x203], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x17a]
mov byte [rbp + 0x202], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x205], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x17b]
mov byte [rbp + 0x204], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x207], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x17c]
mov byte [rbp + 0x206], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x209], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x17d]
mov byte [rbp + 0x208], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x20b], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x17e]
mov byte [rbp + 0x20a], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
xorps xmm0, xmm0
mov byte [rbp + 0x210], bl
mov rbx, qword [rdi]
movups xmmword [rbp - 8], xmm0
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x20d], al
movzx eax, byte [rcx + rdx]
movzx ecx, byte [rbp + 0x17f]
mov byte [rbp + 0x20c], al
mov eax, ecx
and eax, 0xf
shr rcx, 4
movups xmmword [rbp + 8], xmm0
movups xmmword [rbp + 0x18], xmm0
movzx eax, byte [rax + rdx]
mov byte [rbp + 0x20f], al
movzx eax, byte [rcx + rdx]
mov byte [rbp + 0x20e], al
xor eax, eax
mov qword [rbp - 0x20], rax
mov qword [rbp + 0x78], rax
movups xmmword [rbp + 0x28], xmm0
movups xmmword [rbp + 0x38], xmm0
movups xmmword [rbp + 0x48], xmm0
movups xmmword [rbp + 0x58], xmm0
movups xmmword [rbp + 0x68], xmm0
test rbx, rbx
je 0x14001a8e7
lea rax, [rbp + 0x238]
mov qword [rbp - 0x10], r14
lea r8, [rbp + 0x180]
mov qword [rbp - 0x18], rax
mov edx, 0x41
lea rcx, [rbp - 8]
call fcn.1402198ac
test eax, eax
jne 0x14001a8d9
lea r8, [rbp + 0x1d0]
lea edx, [rax + 0x41]
lea rcx, [rbp + 0x39]
call fcn.1402198ac
test eax, eax
jne 0x14001a8d9
lea rdx, [rbp - 0x20]
mov rcx, rbx
call fcn.14001f840
mov ebx, eax
test eax, eax
jne 0x14001a8ec
mov rax, qword [rbp - 0x20]
add qword [rdi + 0x28], r14
mov qword [r12], rax
mov qword [r12 + 0x50], r14
lea rdx, str.0123456789ABCDEF
add rsi, 0x21
inc r13d
add r12, 0x70
mov qword [rsp + 0x68], rsi
cmp r13d, 2
jl 0x140019a00
mov rsi, qword [rsp + 0x78]
mov r9d, 1
mov rcx, qword [rdi]
lea rax, [rsi + 0x38]
mov qword [rsp + 0x30], rax
lea r13, [rsi + 8]
lea r8, [rsi + 0x20]
mov qword [rsp + 0x28], r13
lea rdx, [rsi + 0x10]
call fcn.14001f3d0
mov ebx, eax
test eax, eax
jne 0x14001a8ec
mov rcx, qword [rdi]
xor r14d, r14d
mov r8, qword [r13]
mov rdx, qword [rsi + 0x48]
mov qword [rsp + 0x40], r14
test rcx, rcx
je 0x14001a8e7
test rdx, rdx
je 0x14001a8e7
mov rax, qword [str.location]
mov qword [rsp + 0x50], rdx
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x58], r8
call fcn.14001f510
mov ebx, eax
test eax, eax
jne 0x14001a8ec
mov rcx, qword [rdi]
mov r8, qword [r13]
mov rdx, qword [rsi + 0x50]
mov qword [rsp + 0x40], r14
test rcx, rcx
je 0x14001a8e7
test rdx, rdx
je 0x14001a8e7
mov rax, qword [str.name]
mov qword [rsp + 0x50], rdx
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x58], r8
call fcn.14001f510
mov ebx, eax
test eax, eax
jne 0x14001a8ec
mov rcx, qword [rdi]
mov r8, qword [r13]
mov rdx, qword [rsi + 0x58]
mov qword [rsp + 0x40], r14
test rcx, rcx
je 0x14001a8e7
test rdx, rdx
je 0x14001a8e7
mov rax, qword [str.threatname]
mov qword [rsp + 0x50], rdx
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x58], r8
call fcn.14001f510
mov ebx, eax
test eax, eax
jne 0x14001a8ec
mov r9d, dword [r15 + 0x20]
lea r8, [0x1402d0e70]
lea edx, [rax + 0x11]
lea rcx, [rbp + 0x220]
call fcn.140017f00
test eax, eax
js 0x14001a8d9
cdqe
cmp rax, 0x11
jae 0x14001a8d9
mov rcx, qword [rdi]
mov rdx, qword [r13]
mov qword [rsp + 0x40], r14
test rcx, rcx
je 0x14001a8e7
mov rax, qword [str.fileattributes]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0x220]
mov qword [rsp + 0x58], rdx
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x50], rax
call fcn.14001f510
mov ebx, eax
test eax, eax
jne 0x14001a8ec
mov r9, qword [r15 + 0x28]
lea r8, str._llX
lea edx, [rax + 0x11]
lea rcx, [rbp + 0x220]
call fcn.140017f00
test eax, eax
js 0x14001a8d9
cdqe
cmp rax, 0x11
jae 0x14001a8d9
mov rcx, qword [rdi]
mov rdx, qword [r13]
mov qword [rsp + 0x40], r14
test rcx, rcx
je 0x14001a8e7
mov rax, qword [str.filecreationtime]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0x220]
mov qword [rsp + 0x58], rdx
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x50], rax
call fcn.14001f510
mov ebx, eax
test eax, eax
jne 0x14001a8ec
mov r9, qword [r15 + 0x30]
lea r8, str._llX
lea edx, [rax + 0x11]
lea rcx, [rbp + 0x220]
call fcn.140017f00
test eax, eax
js 0x14001a8d9
cdqe
cmp rax, 0x11
jae 0x14001a8d9
mov rcx, qword [rdi]
mov rdx, qword [r13]
mov qword [rsp + 0x40], r14
test rcx, rcx
je 0x14001a8e7
mov rax, qword [str.filelastwritetime]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0x220]
mov qword [rsp + 0x58], rdx
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x50], rax
call fcn.14001f510
mov ebx, eax
test eax, eax
jne 0x14001a8ec
mov esi, r14d
lea r12, str.main
lea r14, [rbp + 0x80]
add r15, 0x38
cmp byte [r15], 0
je 0x14001a8a4
mov rcx, qword [rdi]
mov rdx, qword [r14]
mov r8, qword [r13]
mov qword [rsp + 0x40], 0
test rcx, rcx
je 0x14001a8e7
mov rax, qword [str.unknown]
cmp esi, 3
jae 0x14001a885
mov rax, qword [r12]
mov qword [rsp + 0x58], rdx
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], r8
call fcn.14001fb80
mov ebx, eax
test eax, eax
jne 0x14001a8ec
inc esi
add r15, 0x21
add r14, 0x70
add r12, 8
cmp esi, 2
jl 0x14001a857
lea rbx, [rbp + 0x88]
mov esi, 2
mov rcx, qword [rbx]
call fcn.1402122e0
lea rbx, [rbx + 0x70]
sub rsi, 1
jne 0x14001a8c3
xor eax, eax
jmp 0x14001a939
mov ebx, 3
jmp 0x14001a8ec
mov ebx, 6
jmp 0x14001a8ec
mov ebx, 1
lea r14, [rbp + 0xd0]
mov esi, 2
nop dword [rax + rax]
mov r15, qword [r14 - 0x48]
test r15, r15
je 0x14001a929
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x14001a91a
mov rdx, r15
call fcn.1400289d0
mov rcx, r15
call fcn.1402122e0
mov rax, qword [r14]
sub qword [rdi + 0x28], rax
add r14, 0x70
sub rsi, 1
jne 0x14001a900
dec qword [rdi + 0x30]
mov eax, ebx
mov rbx, qword [rsp + 0x3c8]
mov r12, qword [rsp + 0x380]
mov rsi, qword [rsp + 0x388]
mov r13, qword [rsp + 0x378]
mov r14, qword [rsp + 0x370]
mov rcx, qword [rbp + 0x268]
xor rcx, rsp
call fcn.140208e10
add rsp, 0x390
pop r15
pop rdi
pop rbp
ret