Function at 0x180045aa0
Capabilities:
Enumerate pe sections

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x60]
sub rsp, 0x160
mov rax, qword [0x1804762b8]
xor rax, rsp
mov qword [rbp + 0x50], rax
mov r12, r9
mov r15, r8
mov r13, rdx
mov eax, ecx
mov dword [rsp + 0x60], ecx
movdqa xmm0, xmmword [0x18046bdf0]
movdqa xmmword [rbp - 0x30], xmm0
mov byte [rbp - 0x40], 0
movdqa xmm1, xmm0
movdqa xmmword [rbp - 0x10], xmm0
mov byte [rbp - 0x20], 0
movdqa xmmword [rbp + 0x10], xmm0
mov byte [rbp], 0
movdqa xmmword [rbp + 0x30], xmm0
mov byte [rbp + 0x20], 0
mov edi, ecx
lea esi, [rcx + 0x2b8]
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0x58], rdx
cmp ecx, esi
jae 0x180045ecb
lea ebx, [rcx - 0x28]
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x48], rax
mov r14, qword [rsp + 0x68]
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0x38], eax
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x50], rcx
lea r8, [0x180000000]
cmp ebx, 0xed
ja case.0x180045b6e.11
movzx eax, byte [r8 + rbx + 0x4631c]
mov ecx, dword [r8 + rax*4 + 0x462ec]
add rcx, r8
jmp rcx
mov rdx, r12
mov qword [rsp + 0x58], rdx
xor ecx, ecx
mov qword [rsp + 0x48], rcx
jmp 0x180045e48
cmp dword [r13], 1
jne case.0x180045b6e.11
mov eax, 0x16
cmp eax, 0x16
je 0x180045ba6
cmp eax, 0x604
je case.0x180045b6e.1
jmp 0x180045bab
mov byte [rsp + 0x40], 1
add eax, 0x5ee
cmp eax, 0xbdc
jbe 0x180045b94
jmp case.0x180045b6e.11
xor r9d, r9d
xor r8d, r8d
mov edx, 0xb8
mov rcx, r12
call fcn.1800b4ef0
jmp 0x180045e3e
mov r14, qword [r12]
xor r9d, r9d
mov r8, r12
xor edx, edx
mov ecx, 0xd8
call fcn.1800e2e60
jmp 0x180045e3e
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x10c
lea r9, [rsp + 0x40]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.1800c6140
mov dword [rsp + 0x40], eax
jmp 0x180045e3e
movzx eax, word [r12]
mov word [0x4000380], ax
movzx eax, word [r12 + 2]
mov word [0x4000382], ax
movzx eax, word [r12 + 4]
mov word [0x4000384], ax
movzx eax, word [r12 + 6]
mov word [0x4000386], ax
movzx eax, word [r12 + 8]
mov word [0x4000388], ax
movzx eax, word [r12 + 0xa]
mov word [0x400038a], ax
movzx eax, word [r12 + 0xc]
mov word [0x400038c], ax
movzx eax, word [r12 + 0xe]
mov word [0x400038e], ax
movzx eax, word [r12 + 0x10]
mov word [0x4000390], ax
movzx eax, word [r12 + 0x12]
mov word [0x4000392], ax
movzx eax, word [r12 + 0x14]
mov word [0x4000394], ax
movzx eax, word [r12 + 0x16]
mov word [0x4000396], ax
movzx eax, word [r12 + 0x18]
mov word [0x4000398], ax
movzx eax, word [r12 + 0x1a]
mov word [0x400039a], ax
movzx eax, word [r12 + 0x1c]
mov word [0x400039c], ax
movzx eax, word [r12 + 0x1e]
mov word [0x400039e], ax
movzx eax, word [r12 + 0x20]
mov word [0x40003a0], ax
movzx eax, word [r12 + 0x22]
mov word [0x40003a2], ax
movzx eax, word [r12 + 0x24]
mov word [0x40003a4], ax
movzx eax, word [r12 + 0x26]
mov word [0x40003a6], ax
movzx eax, word [r12 + 0x28]
mov word [0x40003a8], ax
movzx eax, word [r12 + 0x2a]
mov word [0x40003aa], ax
movzx eax, word [r12 + 0x2c]
mov word [0x40003ac], ax
movzx eax, word [r12 + 0x2e]
mov word [0x40003ae], ax
movzx eax, word [r12 + 0x30]
mov word [0x40003b0], ax
movzx eax, word [r12 + 0x32]
mov word [0x40003b2], ax
movzx eax, word [r12 + 0x34]
mov word [0x40003b4], ax
movzx eax, word [r12 + 0x36]
mov word [0x40003b6], ax
movzx eax, word [r12 + 0x38]
mov word [0x40003b8], ax
movzx eax, word [r12 + 0x3a]
mov word [0x40003ba], ax
movzx eax, word [r12 + 0x3c]
mov word [0x40003bc], ax
movzx eax, word [r12 + 0x3e]
mov word [0x40003be], ax
jmp case.0x180045b6e.11
xor r9d, r9d
mov dword [rsp + 0x38], r9d
xor r8d, r8d
mov qword [rsp + 0x50], r8
mov rcx, qword [rsp + 0x48]
jmp 0x180045e52
mov eax, dword [r13]
add dword [r12 + 4], eax
mov eax, dword [r12 + 4]
mov dword [rsp + 0x40], eax
jmp case.0x180045b6e.11
cmp qword [rdx + 0x1a], 0
jne case.0x180045b6e.11
mov byte [rsp + 0x40], 0
jmp case.0x180045b6e.1
movzx eax, byte [r15]
mov byte [rsp + 0x30], al
lea r9, [rsp + 0x30]
mov r8d, 0xde
mov rdx, r12
mov rcx, r13
call fcn.1800e33f0
mov byte [rsp + 0x40], al
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x50]
mov r9d, dword [rsp + 0x38]
add edi, 0x3a
add ebx, 0x3a
cmp edi, esi
jb 0x180045b47
mov eax, dword [rsp + 0x60]
mov esi, eax
imul r15d, eax, 0x16
cmp eax, r15d
ja case.0x180045b6e.1
mov r14, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x68]
nop dword [rax]
cmp esi, 0x28f
ja 0x180045fa7
je 0x180045f50
mov eax, esi
sub eax, 0x83
je 0x180045f08
sub eax, 0x1e
je 0x180045eee
sub eax, 0x10
je case.0x180045b6e.1
sub eax, 0xd8
je 0x18004629d
cmp eax, 0x5a
jne 0x1800462a1
mov edx, r9d
call qword [sym.imp.GDI32.dll_GetMetaFileBitsEx]
jmp 0x1800462a1
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x48], rcx
mov r9d, dword [rsp + 0x60]
mov dword [rsp + 0x38], r9d
mov r8, qword [rsp + 0x58]
mov qword [rsp + 0x50], r8
jmp 0x180045e64
lea r8, [rdx + 0xa]
xor edx, edx
mov r9d, 0x94
lea rcx, [rbp - 0x40]
call fcn.180075180
jmp 0x1800462a1
mov rax, qword [r12 + 0x58]
mov r14, qword [rax + 0x10]
cmp qword [r14 + 8], 0
jne 0x1800462a1
mov qword [rsp + 0x68], 0x20
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0x68]
xor edx, edx
xor ecx, ecx
mov r8d, 0xac
call fcn.18009b6a0
mov qword [r14 + 8], rax
jmp 0x1800462a1
mov qword [rsp + 0x20], r13
mov r9d, 0xb6
xor r8d, r8d
xor edx, edx
mov rcx, r12
call fcn.18008b130
test al, al
je 0x1800462a1
mov ecx, 0x84
mov eax, ecx
sub eax, 0x84
je 0x180045f89
cmp eax, 1
je case.0x180045b6e.1
jmp 0x180045f98
cmp qword [rdi], 0
je 0x1800462d0
mov byte [rsp + 0x40], 1
inc ecx
cmp ecx, 0x86
jb 0x180045f75
jmp 0x1800462a1
mov eax, esi
sub eax, 0x325
je 0x180046246
sub eax, 0x70
je 0x180046228
sub eax, 0x106
je 0x180046011
sub eax, 0x106
je 0x180045fdb
cmp eax, 0x106
je case.0x180045b6e.1
jmp 0x1800462a1
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea ecx, [rdx + 0x59]
call fcn.18004f870
mov byte [rsp + 0x30], al
lea r8, [rsp + 0x70]
mov edx, 0x9f
lea rcx, [rsp + 0x30]
call fcn.1800578b0
mov byte [rsp + 0x40], al
jmp 0x1800462a1
cmp qword [rdi], 0
jne 0x1800460b9
mov r9d, 0xc2
mov r8, r13
lea rdx, [rsp + 0x70]
mov rcx, r12
call fcn.18005cae0
mov qword [rdi], rax
test rax, rax
je 0x1800462a1
mov ecx, 0x96
mov eax, ecx
sub eax, 0x96
je 0x1800460a1
cmp eax, 1
jne 0x1800460aa
mov byte [rsp + 0x30], 1
lea r8, [rsp + 0x70]
mov edx, 0x9f
lea rcx, [rsp + 0x30]
call fcn.1800578b0
mov byte [rsp + 0x40], al
lea rcx, [rbp - 0x40]
call fcn.180008480
mov eax, dword [rsp + 0x40]
mov rcx, qword [rbp + 0x50]
xor rcx, rsp
call fcn.1800e9340
mov rbx, qword [rsp + 0x1a0]
add rsp, 0x160
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rax, qword [rdi]
mov dword [rax], 0x49
inc ecx
cmp ecx, 0x98
jb 0x180046042
jmp 0x1800462a1
cmp qword [rdi + 8], 0
jne 0x180046138
mov r9d, 0xc2
mov r8, r13
lea rdx, [rsp + 0x70]
mov rcx, r12
call fcn.18005cae0
mov qword [rdi + 8], rax
test rax, rax
je 0x1800462a1
mov ebx, 0xd4
cmp ebx, 0xd4
je 0x1800460fe
cmp ebx, 0x70a0
je case.0x180045b6e.1
jmp 0x180046125
mov rax, qword [rdi + 8]
mov dword [rax], 0x41
mov byte [rsp + 0x30], 1
lea r8, [rsp + 0x70]
mov edx, 0x9f
lea rcx, [rsp + 0x30]
call fcn.1800578b0
mov byte [rsp + 0x40], al
add ebx, 0x6fcc
cmp ebx, 0xdf98
jbe 0x1800460e8
jmp 0x1800462a1
cmp qword [rdi + 0x10], 0
jne 0x1800461ca
mov r9d, 0xc2
mov r8, r13
lea rdx, [rsp + 0x70]
mov rcx, r12
call fcn.18005cae0
mov qword [rdi + 0x10], rax
test rax, rax
je 0x1800462a1
mov ebx, 0x8c
nop dword [rax + rax]
cmp ebx, 0x8c
je 0x1800461ad
cmp ebx, 0x3d40
je 0x18004618e
cmp ebx, 0x79f4
je case.0x180045b6e.1
jmp 0x1800461b7
mov byte [rsp + 0x30], 1
lea r8, [rsp + 0x70]
mov edx, 0x9f
lea rcx, [rsp + 0x30]
call fcn.1800578b0
mov byte [rsp + 0x40], al
jmp 0x1800461b7
mov rax, qword [rdi + 0x10]
mov dword [rax], 0x29
add ebx, 0x3cb4
cmp ebx, 0xb61c
jbe 0x180046170
jmp 0x1800462a1
cmp qword [rdi + 0x18], 0
jne 0x1800462a1
mov r9d, 0xc2
mov r8, r13
lea rdx, [rsp + 0x70]
mov rcx, r12
call fcn.18005cae0
mov qword [rdi + 0x18], rax
test rax, rax
je 0x1800462a1
mov ecx, 0x11c
nop dword [rax]
mov eax, ecx
sub eax, 0x11b
je 0x180046050
cmp eax, 1
jne 0x18004621c
mov rax, qword [rdi + 0x18]
mov dword [rax], 0x3c
dec ecx
cmp ecx, 0x11a
ja 0x180046200
jmp 0x1800462a1
xorps xmm0, xmm0
xor eax, eax
mov qword [rbp - 0x48], rax
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rbp - 0x80], xmm0
movsd xmm0, qword [rbp - 0x48]
movsd qword [rbp - 0x70], xmm0
jmp 0x1800462a1
mov ebx, 0x16
nop dword [rax + rax]
mov eax, ebx
sub eax, 0x16
je 0x180046262
cmp eax, 1
je case.0x180045b6e.1
jmp 0x180046296
movzx eax, word [rdx + 8]
mov word [rsp + 0x30], ax
mov qword [rsp + 0x28], r13
lea rax, [rbp - 0x40]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x30]
xor edx, edx
xor ecx, ecx
mov r8d, 0xb3
call fcn.1800d5f60
mov byte [rsp + 0x40], al
mov rdx, qword [rsp + 0x58]
inc ebx
cmp ebx, 0x18
jb 0x180046250
mov rdi, qword [r14 + 8]
mov eax, dword [rsp + 0x60]
lea esi, [rsi + rax*2]
cmp esi, r15d
ja case.0x180045b6e.1
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x48]
mov r9d, dword [rsp + 0x38]
mov r8, qword [rsp + 0x50]
jmp 0x180045e80
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea ecx, [rdx + 0x59]
call fcn.18004f870
jmp 0x180046069