Function at 0x1400d6924
Capabilities:
Enumerate pe sections

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xd8
mov rax, qword [0x140183808]
xor rax, rsp
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0x140]
xor ebx, ebx
mov r13, qword [rsp + 0x148]
xorps xmm0, xmm0
mov r15, qword [rsp + 0x150]
mov r12, r8
mov qword [r8], rbx
mov rdi, rcx
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x158]
mov dword [r9], ebx
mov qword [rsp + 0xa8], r9
mov qword [rsp + 0x80], r8
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0xa0], rax
mov byte [r13], bl
movups xmmword [rsp + 0xb0], xmm0
test rax, rax
je 0x1400d69b6
mov byte [rax], bl
mov rcx, qword [0x140183048]
lea r14, [0x140183048]
cmp rcx, r14
je 0x1400d6a00
test byte [rcx + 0x1c], 4
je 0x1400d6a00
cmp byte [rcx + 0x19], 5
jb 0x1400d6a00
mov r9, qword [rdi + 0x38]
lea r8, [0x140164ed0]
mov eax, dword [rdi + 0x38]
mov edx, reloc.OLEAUT32.dll_QueryPathOfRegTypeLib
mov rcx, qword [rcx + 0x10]
sar r9, 0x20
mov dword [rsp + 0x20], eax
call fcn.1400104d0
mov rcx, qword [0x140183048]
cmp byte [rdi + 0x48], bl
jne 0x1400d6c4c
mov rax, qword [rdi + 0x18]
cmp qword [rdi + 0x38], rax
jl 0x1400d6a2b
lea r8, [0x14015b4f4]
mov edx, 0xd30
lea rcx, str.base_stor_blb_blbimg_backfile.cxx
call fcn.14008f4c8
mov r8, r15
mov rdx, r13
mov rcx, rdi
call fcn.1400d518c
test eax, eax
jne 0x1400d6a44
mov al, 1
jmp 0x1400d7424
cmp byte [r13], bl
jne 0x1400d7422
mov rbx, qword [rdi + 0x38]
mov ebp, 0x10000
mov dword [r15 + 0x10], ebx
mov rax, rbx
shr rax, 0x20
mov r14d, ebp
mov dword [r15 + 0x14], eax
mov rax, qword [rdi + 0x38]
mov rsi, qword [rdi + 0x18]
mov qword [rsp + 0x80], rbx
cmp rax, rsi
jl 0x1400d6a9e
lea r8, [0x140164d00]
mov edx, 0xd43
lea rcx, str.base_stor_blb_blbimg_backfile.cxx
call fcn.14008f4c8
mov rax, qword [rdi + 0x38]
mov rsi, qword [rdi + 0x18]
add rax, rbp
mov qword [rsp + 0x88], rsi
cmp rax, rsi
jle 0x1400d6ad2
lea r8, [0x14015b4f4]
mov edx, 0xd4b
lea rcx, str.base_stor_blb_blbimg_backfile.cxx
call fcn.14008f4c8
mov rsi, qword [rdi + 0x18]
mov qword [rsp + 0x88], rsi
mov rcx, rdi
call fcn.1400dd364
test al, al
je 0x1400d6b29
mov rcx, qword [0x140183048]
lea r13, [0x140183048]
cmp rcx, r13
je 0x1400d6b20
test byte [rcx + 0x1c], 4
je 0x1400d6b20
cmp byte [rcx + 0x19], 5
jb 0x1400d6b20
mov r9d, dword [rdi + 0xac]
lea r8, [0x140164ed0]
mov rcx, qword [rcx + 0x10]
mov edx, 0xa4
call fcn.140004e7c
mov rcx, qword [0x140183048]
mov r14d, dword [rdi + 0xac]
jmp 0x1400d6b37
mov rcx, qword [0x140183048]
lea r13, [0x140183048]
cmp rcx, r13
je 0x1400d6ba8
test byte [rcx + 0x1c], 4
je 0x1400d6b76
cmp byte [rcx + 0x19], 5
jb 0x1400d6b76
mov eax, dword [rsp + 0x84]
lea r8, [0x140164ed0]
mov rcx, qword [rcx + 0x10]
mov edx, 0xa5
mov dword [rsp + 0x28], ebx
mov r9d, r14d
mov dword [rsp + 0x20], eax
call fcn.1400ba7d0
mov rcx, qword [0x140183048]
cmp rcx, r13
je 0x1400d6ba8
test byte [rcx + 0x1c], 4
je 0x1400d6ba8
cmp byte [rcx + 0x19], 5
jb 0x1400d6ba8
mov r9d, dword [rsp + 0x8c]
lea r8, [0x140164ed0]
mov rcx, qword [rcx + 0x10]
mov edx, 0xa6
mov dword [rsp + 0x20], esi
call fcn.1400104d0
mov rdx, qword [rsp + 0x98]
mov r9, r15
mov rcx, qword [rdi]
mov r8d, r14d
call fcn.1400c98f8
mov r8, qword [rsp + 0xa0]
movabs rax, 0x7ff8007ff8007ff9
imul qword [rdi + 0x40]
mov rcx, rdi
sar rdx, 0x14
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rax, qword [rsp + 0x90]
mov dword [rax], edx
mov rdx, r12
call fcn.1400d5b3c
mov rcx, qword [rsp + 0xa8]
mov dword [rcx], r14d
mov rcx, qword [0x140183048]
cmp rcx, r13
je 0x1400d6c3f
test byte [rcx + 0x1c], 4
je 0x1400d6c3f
cmp byte [rcx + 0x19], 5
jb 0x1400d6c3f
mov r9, qword [r12]
lea r8, [0x140164ed0]
mov eax, dword [r12]
mov edx, 0xa7
mov rcx, qword [rcx + 0x10]
sar r9, 0x20
mov dword [rsp + 0x20], eax
call fcn.1400104d0
add qword [rdi + 0x40], rbp
add qword [rdi + 0x38], rbp
jmp 0x1400d6a3d
cmp rcx, r14
je 0x1400d6c76
test byte [rcx + 0x1c], 4
je 0x1400d6c76
cmp byte [rcx + 0x19], 5
jb 0x1400d6c76
mov r9d, dword [rdi + 0x68]
lea r8, [0x140164ed0]
mov rcx, qword [rcx + 0x10]
mov edx, 0xa8
call fcn.140004e7c
mov rcx, rdi
call fcn.1400db6ec
xor r14d, r14d
mov ebp, 0x10000
movabs rsi, 0x7ff8007ff8007ff9
mov eax, dword [rdi + 0x68]
mov ebx, ebp
mov r12d, eax
sub ebx, eax
add r12, qword [rdi + 0x60]
cmp ebx, 0x20
jb 0x1400d6cb6
mov ecx, dword [r12 + 0x10]
cmp ebx, ecx
jb 0x1400d6cb6
add eax, ecx
mov dword [rdi + 0x68], eax
jmp 0x1400d6d96
test ebx, ebx
je 0x1400d6cc9
mov rcx, qword [rdi + 0x50]
mov rdx, r12
mov r8d, ebx
call sub.msvcrt.dll_memcpy
mov rcx, rdi
mov r12, qword [rdi + 0x50]
cmp byte [rdi + 0xf8], r14b
je 0x1400d73e2
call fcn.1400db7ec
test al, al
je 0x1400d7384
mov r14d, ebx
cmp ebx, 0x20
jae 0x1400d6d0b
mov rcx, qword [rdi + 0x50]
mov r8d, 0x20
mov rdx, qword [rdi + 0x60]
sub r8d, ebx
add rcx, r14
call sub.msvcrt.dll_memcpy
mov esi, dword [r12 + 0x10]
cmp esi, 0x10020
ja 0x1400d7332
cmp esi, ebx
jb 0x1400d72ea
mov rcx, qword [rdi + 0x50]
sub esi, ebx
mov rdx, qword [rdi + 0x60]
add rcx, r14
cmp esi, ebp
jae 0x1400d6d45
mov r8d, esi
call sub.msvcrt.dll_memcpy
add dword [rdi + 0x68], esi
xor r14d, r14d
jmp 0x1400d6d8c
mov r8, rbp
call sub.msvcrt.dll_memcpy
xor r14d, r14d
cmp byte [rdi + 0xf8], r14b
je 0x1400d72a3
mov rcx, rdi
call fcn.1400db7ec
test al, al
je 0x1400d726e
mov rdx, qword [rdi + 0x60]
lea ecx, [rbx + 0x10000]
add rcx, qword [rdi + 0x50]
add esi, 0xffff0000
mov r8d, esi
call sub.msvcrt.dll_memcpy
add dword [rdi + 0x68], esi
movabs rsi, 0x7ff8007ff8007ff9
mov ebx, 0x10
lea rdx, [0x140164648]
mov r8d, ebx
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_RtlCompareMemory]
nop dword [rax + rax]
cmp rax, rbx
jne 0x1400d7150
mov r9d, dword [r12 + 0x10]
cmp r9d, 0x20
jb 0x1400d710b
test r9b, 0xf
jne 0x1400d710b
mov r8d, dword [r12 + 0x18]
mov r10d, dword [r12 + 0x14]
cmp r10d, r8d
ja 0x1400d70c0
cmp dword [r12 + 0x1c], r14d
jne 0x1400d70c0
lea eax, [r10 + 0x20]
cmp eax, r9d
ja 0x1400d70c0
test r8d, 0x1ff
jne 0x1400d70c0
test r8d, r8d
je 0x1400d70c0
test r10d, r10d
jne 0x1400d6e3c
test r8w, r8w
jne 0x1400d6ee2
cmp r8d, 0x200000
jae 0x1400d6ee2
add qword [rdi + 0x40], r8
jmp 0x1400d6c90
mov r11, qword [rdi + 0x40]
mov rax, rsi
imul r11
sar rdx, 0x14
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rcx, rdx, 0x200200
cmp r11, rcx
jne 0x1400d6f63
cmp r8d, 0x200
jne 0x1400d6f29
mov r8, qword [rdi + 0xd0]
lea rax, [r11 + 0x200]
mov rcx, qword [rdi + 0x138]
mov rdx, r12
mov qword [rdi + 0x40], rax
call fcn.1400c5558
test al, al
jne 0x1400d6c90
mov rcx, qword [0x140183048]
lea r13, [0x140183048]
cmp rcx, r13
je 0x1400d737b
test byte [rcx + 0x1c], 4
je 0x1400d737b
cmp byte [rcx + 0x19], 2
jb 0x1400d737b
mov edx, VariantTimeToSystemTime
mov eax, dword [r12 + 0x1c]
mov r9d, dword [r12 + 0x14]
mov dword [rsp + 0x30], eax
mov eax, dword [r12 + 0x10]
jmp 0x1400d731a
mov rcx, qword [0x140183048]
lea r13, [0x140183048]
cmp rcx, r13
je 0x1400d737b
test byte [rcx + 0x1c], 4
je 0x1400d737b
cmp byte [rcx + 0x19], 2
jb 0x1400d737b
mov dword [rsp + 0x30], r14d
mov edx, 0xb3
mov dword [rsp + 0x28], r9d
xor r9d, r9d
mov dword [rsp + 0x20], r8d
jmp 0x1400d7327
mov rcx, qword [0x140183048]
lea r13, [0x140183048]
cmp rcx, r13
je 0x1400d737b
test byte [rcx + 0x1c], 4
je 0x1400d737b
cmp byte [rcx + 0x19], 2
jb 0x1400d737b
mov edx, VariantTimeToSystemTime
mov dword [rsp + 0x30], r14d
jmp 0x1400d70f9
cmp r8d, ebp
je 0x1400d6fc7
movzx eax, byte [rdi + 0xf8]
test al, al
jne 0x1400d6f78
cmp r8d, ebp
jbe 0x1400d6fc7
mov rcx, qword [0x140183048]
lea r13, [0x140183048]
cmp rcx, r13
je 0x1400d737b
test byte [rcx + 0x1c], 4
je 0x1400d737b
cmp byte [rcx + 0x19], 2
jb 0x1400d737b
mov rcx, qword [rcx + 0x10]
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], r14d
mov dword [rsp + 0x28], r9d
mov r9d, r10d
mov dword [rsp + 0x20], r8d
call fcn.1400d221c
jmp 0x1400d737b
mov r8, qword [rsp + 0x98]
mov rax, rsi
imul r11
sar rdx, 0x14
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rax, qword [rsp + 0x90]
mov dword [rax], edx
mov rdx, r12
mov rcx, qword [rdi + 0x138]
call fcn.1400c5558
test al, al
jne 0x1400d7035
mov rcx, qword [0x140183048]
lea r13, [0x140183048]
cmp rcx, r13
je 0x1400d737b
test byte [rcx + 0x1c], 4
je 0x1400d737b
cmp byte [rcx + 0x19], 2
jb 0x1400d737b
mov edx, VariantTimeToSystemTime
jmp 0x1400d6eca
mov rcx, qword [r15 + 0x18]
mov qword [r15], r14
mov eax, dword [r12 + 0x18]
mov qword [r15 + 8], rax
call qword [sym.imp.KERNEL32.dll_SetEvent]
nop dword [rax + rax]
mov rbx, qword [rsp + 0x80]
mov rcx, rdi
mov r8, qword [rsp + 0xa0]
mov rdx, rbx
call fcn.1400d5b3c
mov rcx, qword [rsp + 0xa8]
mov eax, dword [r12 + 0x18]
mov dword [rcx], eax
mov rcx, qword [0x140183048]
lea r13, [0x140183048]
cmp rcx, r13
je 0x1400d70b2
test byte [rcx + 0x1c], 4
je 0x1400d70b2
cmp byte [rcx + 0x19], 5
jb 0x1400d70b2
mov r9, qword [rbx]
lea r8, [0x140164ed0]
mov rcx, qword [rcx + 0x10]
mov edx, reloc.OLEAUT32.dll_VariantTimeToSystemTime
call fcn.140010758
mov eax, dword [r12 + 0x18]
add qword [rdi + 0x40], rax
jmp 0x1400d6a3d
mov rcx, qword [0x140183048]
lea r13, [0x140183048]
cmp rcx, r13
je 0x1400d737b
test byte [rcx + 0x1c], 4
je 0x1400d737b
cmp byte [rcx + 0x19], 2
jb 0x1400d737b
mov eax, dword [r12 + 0x1c]
mov edx, 0xb2
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], r9d
mov r9d, r10d
mov dword [rsp + 0x20], r8d
jmp 0x1400d7327
mov rcx, qword [0x140183048]
lea r13, [0x140183048]
cmp rcx, r13
je 0x1400d737b
test byte [rcx + 0x1c], 4
je 0x1400d737b
cmp byte [rcx + 0x19], 2
jb 0x1400d737b
mov rcx, qword [rcx + 0x10]
lea r8, [0x140164ed0]
mov edx, 0xb1
call fcn.140004e7c
jmp 0x1400d737b
mov r8, rbx
lea rdx, [rsp + 0xb0]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_RtlCompareMemory]
nop dword [rax + rax]
cmp rax, rbx
jne 0x1400d71bd
cmp byte [rdi + 0xf8], r14b
jne 0x1400d71bd
mov rcx, rdi
call fcn.1400dd608
mov byte [r13], al
mov rcx, qword [0x140183048]
lea r13, [0x140183048]
cmp rcx, r13
je 0x1400d7422
test byte [rcx + 0x1c], 4
je 0x1400d7422
cmp byte [rcx + 0x19], 4
jb 0x1400d7422
mov r9d, dword [rdi + 0x68]
mov edx, 0xb0
jmp 0x1400d7412
mov rcx, qword [0x140183048]
lea r13, [0x140183048]
cmp rcx, r13
je 0x1400d737b
test byte [rcx + 0x1c], 4
je 0x1400d737b
cmp byte [rcx + 0x19], 2
jb 0x1400d737b
movzx eax, byte [rdi + 0xf8]
movzx r9d, byte [r12 + 0xd]
movzx edx, byte [r12 + 0xf]
movzx r8d, byte [r12 + 0xe]
movzx r10d, byte [r12 + 0xc]
movzx r11d, byte [r12 + 0xb]
movzx ebx, byte [r12 + 0xa]
movzx edi, byte [r12 + 9]
movzx esi, byte [r12 + 8]
movzx ebp, word [r12 + 6]
movzx r14d, word [r12 + 4]
mov rcx, qword [rcx + 0x10]
mov dword [rsp + 0x70], eax
mov dword [rsp + 0x68], edx
mov dword [rsp + 0x60], r8d
mov dword [rsp + 0x58], r9d
mov r9d, dword [r12]
mov dword [rsp + 0x50], r10d
mov dword [rsp + 0x48], r11d
mov dword [rsp + 0x40], ebx
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x20], r14d
call fcn.1400d1fdc
jmp 0x1400d737b
mov rcx, qword [0x140183048]
lea r13, [0x140183048]
cmp rcx, r13
je 0x1400d73b8
test byte [rcx + 0x1c], 4
je 0x1400d73b8
cmp byte [rcx + 0x19], 2
jb 0x1400d73b8
mov edx, 0xae
jmp 0x1400d73a8
mov rcx, qword [0x140183048]
lea r13, [0x140183048]
cmp rcx, r13
je 0x1400d737b
test byte [rcx + 0x1c], 4
je 0x1400d737b
cmp byte [rcx + 0x19], 2
jb 0x1400d737b
mov rax, qword [rdi + 0x38]
sub ebp, esi
mov rcx, qword [rcx + 0x10]
mov r9d, ebp
mov qword [rsp + 0x20], rax
call fcn.1400d2388
jmp 0x1400d737b
mov rcx, qword [0x140183048]
lea r13, [0x140183048]
cmp rcx, r13
je 0x1400d737b
test byte [rcx + 0x1c], 4
je 0x1400d737b
cmp byte [rcx + 0x19], 2
jb 0x1400d737b
mov eax, dword [r12 + 0x14]
mov edx, 0xac
mov dword [rsp + 0x30], ebx
mov r9d, esi
mov dword [rsp + 0x28], eax
mov eax, dword [r12 + 0x18]
mov dword [rsp + 0x20], eax
mov rcx, qword [rcx + 0x10]
call fcn.1400d21ac
jmp 0x1400d737b
mov rcx, qword [0x140183048]
lea r13, [0x140183048]
cmp rcx, r13
je 0x1400d737b
test byte [rcx + 0x1c], 4
je 0x1400d737b
cmp byte [rcx + 0x19], 2
jb 0x1400d737b
mov eax, dword [r12 + 0x14]
lea r8, [0x140164ed0]
mov rcx, qword [rcx + 0x10]
mov edx, 0xab
mov dword [rsp + 0x28], eax
mov r9d, esi
mov eax, dword [r12 + 0x18]
mov dword [rsp + 0x20], eax
call fcn.1400ba7d0
mov qword [r15], 0xffffffffc0000102
jmp 0x1400d73cd
mov rcx, qword [0x140183048]
lea r13, [0x140183048]
cmp rcx, r13
je 0x1400d73b8
test byte [rcx + 0x1c], 4
je 0x1400d73b8
cmp byte [rcx + 0x19], 2
jb 0x1400d73b8
mov edx, 0xaa
mov rcx, qword [rcx + 0x10]
lea r8, [0x140164ed0]
call fcn.140004e50
mov rax, qword [rdi + 0x110]
mov qword [r15], rax
mov rax, qword [rdi + 0x118]
mov qword [r15 + 8], rax
mov rcx, qword [r15 + 0x18]
call qword [sym.imp.KERNEL32.dll_SetEvent]
nop dword [rax + rax]
jmp 0x1400d6a3d
call fcn.1400dd608
mov byte [r13], al
mov rcx, qword [0x140183048]
lea r13, [0x140183048]
cmp rcx, r13
je 0x1400d7422
test byte [rcx + 0x1c], 4
je 0x1400d7422
cmp byte [rcx + 0x19], 4
jb 0x1400d7422
mov edx, 0xa9
mov r9d, ebx
mov rcx, qword [rcx + 0x10]
movzx eax, al
mov dword [rsp + 0x20], eax
call fcn.1400d2330
xor al, al
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.1401534b0
add rsp, 0xd8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret