Function at 0x4a0970
Capabilities:
Enumerate pe sections

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x288
xor r11d, r11d
xor esi, esi
xor ebp, ebp
lea r13, [0x006ff610]
mov rax, qword [rcx + 0x58]
lea r15, [0x00846400]
mov byte [rcx + 0x40], 0
mov rdi, rcx
mov rbx, rdx
mov byte [rcx + 0x41], 0
mov byte [rcx + 0x42], 0
mov byte [rcx + 0x43], 0
mov dword [rcx + 0x44], 0
mov dword [rcx + 0x48], 0
mov qword [rcx + 0x50], 0
mov dword [rcx + 0x60], 0
mov word [rax], r11w
mov rax, qword [rcx + 0x68]
mov dword [rcx + 0x70], 0
mov word [rax], si
mov rax, qword [rcx + 0x30]
mov dword [rcx + 0x38], 0
mov word [rax], bp
mov eax, dword [rcx + 8]
test eax, eax
jne 0x4a0a1e
jmp 0x4a0bb0
mov edx, 0x110
mov rcx, rsi
call fcn.007da070
mov eax, dword [rdi + 8]
sub eax, 1
test eax, eax
mov dword [rdi + 8], eax
je 0x4a0bb0
mov rdx, qword [rdi]
lea ecx, [rax - 1]
mov rax, rcx
mov rsi, qword [rdx + rcx*8]
test rsi, rsi
je 0x4a0a13
mov rcx, qword [rsi + 0xb0]
test rcx, rcx
je 0x4a0a41
call fcn.007da030
mov rcx, qword [rsi + 0xa0]
test rcx, rcx
je 0x4a0a52
call fcn.007da030
mov rcx, qword [rsi + 0x90]
test rcx, rcx
je 0x4a0a63
call fcn.007da030
mov rcx, qword [rsi + 0x80]
test rcx, rcx
je 0x4a0a74
call fcn.007da030
mov rcx, qword [rsi + 0x70]
test rcx, rcx
je 0x4a0a82
call fcn.007da030
mov rcx, qword [rsi + 0x48]
test rcx, rcx
je 0x4a0a90
call fcn.007da030
mov rcx, qword [rsi + 0x38]
test rcx, rcx
je 0x4a0a9e
call fcn.007da030
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x4a0aad
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsi + 0x10]
test rcx, rcx
je 0x4a0abc
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x4a0acb
mov rax, qword [rcx]
call qword [rax + 0x10]
mov r14, qword [rsi]
test r14, r14
je 0x4a0a00
mov rax, qword [r14]
mov rax, qword [rax + 0x10]
cmp rax, r13
jne 0x4a0ba0
sub dword [r14 + 0x10], 1
jne 0x4a0a00
mov rcx, qword [r14 + 0x30]
lea rax, [0x00846480]
mov qword [r14], r15
mov qword [r14 + 8], rax
test rcx, rcx
je 0x4a0b0f
mov rax, qword [rcx]
call qword [rax + 0x10]
mov eax, dword [r14 + 0x20]
mov rcx, qword [r14 + 0x18]
test eax, eax
je 0x4a0b7f
lea r12d, [rax - 1]
shl r12, 3
mov rbp, qword [rcx + r12]
test rbp, rbp
je 0x4a0b75
mov rcx, qword [rbp + 0x48]
test rcx, rcx
je 0x4a0b3a
call fcn.007da030
mov rcx, qword [rbp + 0x38]
test rcx, rcx
je 0x4a0b48
call fcn.007da030
mov rcx, qword [rbp + 0x20]
test rcx, rcx
je 0x4a0b56
call fcn.007da030
mov rcx, qword [rbp + 0x10]
test rcx, rcx
je 0x4a0b64
call fcn.007da030
mov rcx, rbp
mov edx, pe_nt_image_headers64
call fcn.007da070
mov rcx, qword [r14 + 0x18]
sub r12, 8
cmp r12, 0xfffffffffffffff8
jne 0x4a0b23
test rcx, rcx
je 0x4a0b89
call fcn.007da030
mov edx, 0x38
mov rcx, r14
call fcn.007da070
jmp 0x4a0a00
mov rcx, r14
call rax
jmp 0x4a0a00
mov rcx, qword [rbx + 0x28]
cmp dword [rcx + 8], 0x1f
ja 0x4a245d
lea rax, [rsp + 0x80]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x90]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x6f]
lea rsi, [rsp + 0x170]
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0xa0]
lea r15, [rsi + 0x38]
mov qword [rsp + 0x58], rax
nop dword [rax + rax]
mov dword [rbx + 8], 0xffffffff
mov byte [rbx + 0xc], 1
mov byte [rbx + 0xd], 1
mov byte [rbx + 0xe], 1
mov byte [rbx + 0xf], 1
mov byte [rbx + 0x10], 0
mov byte [rbx + 0x11], 0
mov byte [rbx + 0x12], 0
mov byte [rbx + 0x13], 0
mov byte [rbx + 0x14], 0
mov byte [rbx + 0x15], 1
mov byte [rbx + 0x16], 1
mov byte [rbx + 0x17], 1
mov byte [rbx + 0x18], 1
mov byte [rbx + 0x19], 1
mov byte [rbx + 0x1a], 0
mov byte [rbx + 0x1b], 0
mov byte [rbx + 0x1c], 0
mov byte [rbx + 0x1d], 0
mov qword [rbx + 0x20], 0
mov edx, dword [rcx + 8]
mov eax, dword [rdi + 8]
test edx, edx
je 0x4a0f20
cmp eax, edx
jae 0x4a1e60
not eax
add edx, eax
mov rax, qword [rcx]
mov rax, qword [rax + rdx*8]
movzx edx, byte [rax + 4]
mov r14d, dword [rax]
movzx r13d, byte [rax + 0xf]
movzx r8d, byte [rax + 0x10]
mov byte [rsp + 0x3c], dl
movzx edx, byte [rax + 5]
movzx r12d, byte [rax + 0x11]
movzx ebp, byte [rax + 0x12]
movzx r11d, byte [rax + 0x13]
mov byte [rsp + 0x3b], dl
movzx edx, byte [rax + 6]
movzx r10d, byte [rax + 0x14]
movzx r9d, byte [rax + 0x15]
mov byte [rsp + 0x3a], dl
movzx edx, byte [rax + 7]
mov byte [rsp + 0x39], dl
movzx edx, byte [rax + 8]
mov byte [rsp + 0x38], dl
movzx edx, byte [rax + 9]
mov byte [rsp + 0x37], dl
movzx edx, byte [rax + 0xa]
mov byte [rsp + 0x36], dl
movzx edx, byte [rax + 0xb]
mov byte [rsp + 0x28], dl
movzx edx, byte [rax + 0xc]
mov byte [rsp + 0x3f], dl
movzx edx, byte [rax + 0xd]
mov byte [rsp + 0x3e], dl
movzx edx, byte [rax + 0xe]
mov byte [rsp + 0x3d], dl
mov rdx, qword [rax + 0x18]
movzx eax, byte [rsp + 0x3c]
mov dword [rbx + 8], r14d
mov byte [rbx + 0x17], r13b
mov byte [rbx + 0x18], r8b
mov byte [rbx + 0x19], r12b
mov byte [rbx + 0xc], al
movzx eax, byte [rsp + 0x3b]
mov byte [rbx + 0x1a], bpl
mov byte [rbx + 0x1b], r11b
mov byte [rbx + 0x1c], r10b
mov byte [rbx + 0xd], al
movzx eax, byte [rsp + 0x3a]
mov byte [rbx + 0x1d], r9b
mov qword [rbx + 0x20], rdx
mov byte [rbx + 0xe], al
movzx eax, byte [rsp + 0x39]
mov byte [rbx + 0xf], al
movzx eax, byte [rsp + 0x38]
mov byte [rbx + 0x10], al
movzx eax, byte [rsp + 0x37]
mov byte [rbx + 0x11], al
movzx eax, byte [rsp + 0x36]
mov byte [rbx + 0x12], al
movzx eax, byte [rsp + 0x28]
mov byte [rbx + 0x13], al
movzx eax, byte [rsp + 0x3f]
mov byte [rbx + 0x14], al
movzx eax, byte [rsp + 0x3e]
mov byte [rbx + 0x15], al
movzx eax, byte [rsp + 0x3d]
mov byte [rbx + 0x16], al
mov eax, dword [rdi + 8]
test eax, eax
je 0x4a1870
mov rdx, qword [rdi]
lea r8d, [rax - 1]
cmp eax, dword [rcx + 8]
mov r13, qword [rdx + r8*8]
lea rdx, [0x00497940]
mov qword [rsp + 0x178], 0
sbb ebp, ebp
xor r9d, r9d
xor r10d, r10d
mov word [rsp + 0x170], r9w
and ebp, 0x80004001
mov word [rsp + 0x172], r10w
mov rcx, qword [r13]
mov rax, qword [rcx]
mov rax, qword [rax + 0x40]
cmp rax, rdx
je 0x4a1f10
mov qword [rsp + 0x28], rsi
mov r8, rsi
mov edx, 1
call rax
test eax, eax
je 0x4a0e08
mov rcx, rsi
mov ebp, eax
call fcn.004b48e0
mov eax, ebp
add rsp, 0x288
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp word [rsp + 0x170], 0x13
jne 0x4a1f1d
mov rcx, qword [r13]
lea rdx, [0x00497950]
mov r12d, dword [rsp + 0x178]
mov rax, qword [rcx]
mov rax, qword [rax + 0x28]
cmp rax, rdx
jne 0x4a1f35
mov eax, dword [rcx + 0x20]
mov dword [rsp + 0xf0], eax
cmp r12d, eax
jae 0x4a1f1d
mov rcx, rsi
call fcn.004b48e0
mov r14, qword [r13]
lea rdx, [0x006ff570]
mov qword [rsp + 0x70], 0
mov rax, qword [r14]
mov rax, qword [rax]
cmp rax, rdx
jne 0x4a2031
mov rdx, qword [0x008268f0]
mov r8d, 0x10
mov rcx, qword [0x00826830]
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x4a0f30
mov rdx, qword [0x00826820]
mov r8d, 0x10
mov rcx, qword [0x00826830]
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x4a0f30
lea rcx, [r14 + 8]
mov qword [rsp + 0x70], rcx
add dword [r14 + 0x10], 1
test rcx, rcx
je 0x4a0f10
mov rax, qword [rcx]
mov edx, r12d
mov qword [rsp + 0x80], 0
mov r8, qword [rsp + 0x40]
call qword [rax + 0x18]
test eax, eax
je 0x4a0f40
mov rcx, qword [rsp + 0x80]
test rcx, rcx
je 0x4a0f00
mov rax, qword [rcx]
call qword [rax + 0x10]
nop word [rax + rax]
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x4a0f10
mov rax, qword [rcx]
call qword [rax + 0x10]
mov eax, dword [rdi + 8]
jmp 0x4a1f2a
cmp eax, 0x1f
jbe 0x4a0d78
xor ebp, ebp
jmp 0x4a1f2a
mov qword [rsp + 0x70], r14
mov rcx, r14
jmp 0x4a0ebf
mov rcx, qword [rsp + 0x80]
test rcx, rcx
je 0x4a0f00
mov qword [rsp + 0x90], 0
mov rax, qword [rcx]
mov r8, qword [rsp + 0x48]
mov rdx, qword [0x00826840]
call qword [rax]
test eax, eax
je 0x4a0f90
mov rcx, qword [rsp + 0x90]
test rcx, rcx
je 0x4a0ee7
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x4a0ee7
cmp qword [rsp + 0x90], 0
je 0x4a0ee7
mov rcx, r15
mov qword [rsp + 0x170], 0
mov qword [rsp + 0x178], 0
mov qword [rsp + 0x180], 0
mov qword [rsp + 0x188], 0
mov byte [rsp + 0x190], 0
mov byte [rsp + 0x191], 0
mov byte [rsp + 0x192], 0
mov byte [rsp + 0x193], 0
mov dword [rsp + 0x194], 0
mov dword [rsp + 0x198], 0
mov dword [rsp + 0x19c], 0xffffffff
mov qword [rsp + 0x1a0], 0
call fcn.00477f50
lea rcx, [rsi + 0x48]
call fcn.00477f50
lea rcx, [rsi + 0x70]
mov byte [rsp + 0x1c8], 0
mov byte [rsp + 0x1c9], 0
mov byte [rsp + 0x1ca], 0
mov byte [rsp + 0x1cb], 0
mov dword [rsp + 0x1cc], 0
mov dword [rsp + 0x1d0], 0
mov dword [rsp + 0x1d4], 0xffffffff
mov qword [rsp + 0x1d8], 0
call fcn.00477f50
lea rcx, [rsi + 0x80]
call fcn.00477f50
lea rcx, [rsi + 0x90]
call fcn.00477f50
lea rcx, [rsi + 0xa0]
call fcn.00477f50
lea rcx, [rsi + 0xb0]
call fcn.00477f50
lea r8, [rsi + 0x90]
mov edx, r12d
mov rcx, r13
mov byte [rsp + 0x240], 0
mov byte [rsp + 0x279], 0
mov byte [rsp + 0x27a], 0
mov byte [rsp + 0x27b], 0
mov byte [rsp + 0x27c], 0
mov byte [rsp + 0x27d], 0
mov byte [rsp + 0x27e], 0
mov byte [rsp + 0x27f], 0
call fcn.00499c80
test eax, eax
jne 0x4a22bf
mov r9, qword [rsp + 0x50]
mov r8d, 0x56
mov edx, r12d
mov rcx, qword [r13]
call fcn.00498d90
test eax, eax
jne 0x4a22bf
mov rcx, qword [rbx + 0x48]
lea r14, [rsp + 0xf0]
test rcx, rcx
je 0x4a118e
mov rax, qword [rcx]
lea r14, [rsp + 0xf0]
mov qword [rsp + 0xf0], 0
mov r8, r14
mov rdx, qword [0x008266c0]
call qword [rax]
mov rcx, qword [rsp + 0xf0]
test rcx, rcx
je 0x4a118e
mov rax, qword [rcx]
mov rdx, qword [rsp + 0x200]
call qword [rax + 0x18]
mov rcx, qword [rsp + 0xf0]
test rcx, rcx
je 0x4a118e
mov rax, qword [rcx]
call qword [rax + 0x10]
lea rcx, [r14 + 0x68]
mov dword [rsp + 0x234], r12d
mov qword [rsp + 0xa0], 0
mov dword [rsp + 0xa8], 0
mov dword [rsp + 0xac], 0
mov qword [rsp + 0xf0], 0
mov dword [rsp + 0xf8], 0xffffffff
mov byte [rsp + 0x100], 0
mov byte [rsp + 0x101], 0
mov byte [rsp + 0x102], 0
mov byte [rsp + 0x103], 0
mov byte [rsp + 0x104], 0
mov byte [rsp + 0x108], 1
mov byte [rsp + 0x109], 1
mov byte [rsp + 0x10a], 0
mov byte [rsp + 0x10b], 0
mov byte [rsp + 0x10c], 0
mov byte [rsp + 0x10d], 0
mov qword [rsp + 0x110], 0
mov byte [rsp + 0xfc], 1
mov byte [rsp + 0xfd], 1
mov byte [rsp + 0xfe], 1
mov byte [rsp + 0xff], 1
mov byte [rsp + 0x106], 1
mov byte [rsp + 0x107], 1
mov byte [rsp + 0x105], 1
mov qword [rsp + 0x118], 0
mov qword [rsp + 0x120], 0
mov qword [rsp + 0x128], 0
mov qword [rsp + 0x130], 0
mov qword [rsp + 0x138], 0
mov qword [rsp + 0x140], 0
mov byte [rsp + 0x150], 0
call fcn.00477f50
mov rax, qword [rbx + 0x58]
lea rdx, [rsi + 0x90]
mov byte [rsp + 0x150], 0
lea rcx, [r14 + 0x68]
mov qword [rsp + 0x148], rax
mov rax, qword [rbx]
mov qword [rsp + 0xf0], rax
mov rax, qword [rbx + 8]
mov qword [rsp + 0xf8], rax
mov rax, qword [rbx + 0x10]
mov qword [rsp + 0x100], rax
mov rax, qword [rbx + 0x18]
mov qword [rsp + 0x108], rax
mov rax, qword [rbx + 0x20]
mov qword [rsp + 0x110], rax
movzx eax, byte [rsp + 0x6f]
mov byte [rsp + 0x10c], al
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x120], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x128], rax
call fcn.00478190
movdqu xmm0, xmmword [rbx + 0x48]
mov rdx, r14
mov rcx, rsi
movups xmmword [rsp + 0x138], xmm0
call fcn.004a01f0
cmp eax, 1
mov ebp, eax
je 0x4a2389
test eax, eax
jne 0x4a207c
xor ecx, ecx
xor r8d, r8d
mov qword [rsp + 0xb8], 0
mov word [rsp + 0xb0], cx
lea rdx, [0x004983e0]
mov word [rsp + 0xb2], r8w
mov rcx, qword [r13]
mov byte [rsp + 0x240], 0
mov dword [rsp + 0x238], 0
mov dword [rsp + 0x23c], 0
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
cmp rax, rdx
jne 0x4a2054
mov qword [rsp + 0xd8], 0
xor eax, eax
xor edx, edx
mov word [rsp + 0xd0], ax
mov rax, qword [rcx + 0x18]
lea rbp, [rsp + 0xd0]
mov word [rsp + 0xd2], dx
mov rdx, qword [rax + r12*8]
cmp byte [rdx + 0x58], 0
jne 0x4a2020
lea r14, [rsp + 0xb0]
mov rcx, rbp
mov rdx, r14
call fcn.004b4a80
mov rcx, rbp
call fcn.004b48e0
movzx eax, word [rsp + 0xb0]
cmp ax, 0x40
je 0x4a2230
test ax, ax
jne 0x4a2449
cmp byte [r13 + 0xd0], 0
je 0x4a1463
mov rax, qword [r13 + 0xc8]
mov byte [rsp + 0x240], 1
mov qword [rsp + 0x238], rax
mov rcx, r14
call fcn.004b48e0
mov ecx, 0x110
call fcn.007da0a0
mov rcx, qword [rsp + 0x170]
mov rbp, rax
test rcx, rcx
mov qword [rax], rcx
je 0x4a14a3
mov rax, qword [rcx]
lea rdx, [0x006ff600]
mov rax, qword [rax + 8]
cmp rax, rdx
jne 0x4a2210
add dword [rcx + 0x10], 1
mov rcx, qword [rsp + 0x178]
test rcx, rcx
mov qword [rbp + 8], rcx
je 0x4a14ba
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, qword [rsp + 0x180]
test rcx, rcx
mov qword [rbp + 0x10], rcx
je 0x4a14d1
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, qword [rsp + 0x188]
test rcx, rcx
mov qword [rbp + 0x18], rcx
je 0x4a14e8
mov rax, qword [rcx]
call qword [rax + 8]
movzx eax, byte [rsp + 0x190]
lea rcx, [rbp + 0x38]
mov rdx, r15
mov byte [rbp + 0x20], al
movzx eax, byte [rsp + 0x191]
mov byte [rbp + 0x21], al
movzx eax, byte [rsp + 0x192]
mov byte [rbp + 0x22], al
movzx eax, byte [rsp + 0x193]
mov byte [rbp + 0x23], al
mov eax, dword [rsp + 0x194]
mov dword [rbp + 0x24], eax
mov eax, dword [rsp + 0x198]
mov dword [rbp + 0x28], eax
mov eax, dword [rsp + 0x19c]
mov dword [rbp + 0x2c], eax
mov rax, qword [rsp + 0x1a0]
mov qword [rbp + 0x30], rax
call fcn.00478040
lea rdx, [rsi + 0x48]
lea rcx, [rbp + 0x48]
call fcn.00478040
movzx eax, byte [rsp + 0x1c8]
lea rdx, [rsi + 0x70]
lea rcx, [rbp + 0x70]
mov byte [rbp + 0x58], al
movzx eax, byte [rsp + 0x1c9]
mov byte [rbp + 0x59], al
movzx eax, byte [rsp + 0x1ca]
mov byte [rbp + 0x5a], al
movzx eax, byte [rsp + 0x1cb]
mov byte [rbp + 0x5b], al
mov eax, dword [rsp + 0x1cc]
mov dword [rbp + 0x5c], eax
mov eax, dword [rsp + 0x1d0]
mov dword [rbp + 0x60], eax
mov eax, dword [rsp + 0x1d4]
mov dword [rbp + 0x64], eax
mov rax, qword [rsp + 0x1d8]
mov qword [rbp + 0x68], rax
call fcn.00478040
lea rdx, [rsi + 0x80]
lea rcx, [rbp + 0x80]
call fcn.00478040
lea rdx, [rsi + 0x90]
lea rcx, [rbp + 0x90]
call fcn.00478040
lea rdx, [rsi + 0xa0]
lea rcx, [rbp + 0xa0]
call fcn.00478040
lea rdx, [rsi + 0xb0]
lea rcx, [rbp + 0xb0]
call fcn.00478040
mov eax, dword [rsp + 0x230]
mov dword [rbp + 0xc0], eax
mov eax, dword [rsp + 0x234]
mov dword [rbp + 0xc4], eax
mov rax, qword [rsp + 0x238]
mov qword [rbp + 0xc8], rax
movzx eax, byte [rsp + 0x240]
mov byte [rbp + 0xd0], al
mov rax, qword [rsp + 0x248]
mov qword [rbp + 0xd8], rax
mov rax, qword [rsp + 0x250]
mov qword [rbp + 0xe0], rax
movzx eax, byte [rsp + 0x258]
mov byte [rbp + 0xe8], al
mov rax, qword [rsp + 0x260]
mov qword [rbp + 0xf0], rax
mov rax, qword [rsp + 0x268]
mov qword [rbp + 0xf8], rax
mov rax, qword [rsp + 0x270]
mov qword [rbp + 0x100], rax
movzx eax, byte [rsp + 0x278]
mov byte [rbp + 0x108], al
movzx eax, byte [rsp + 0x279]
mov byte [rbp + 0x109], al
movzx eax, byte [rsp + 0x27a]
mov byte [rbp + 0x10a], al
movzx eax, byte [rsp + 0x27b]
mov byte [rbp + 0x10b], al
movzx eax, byte [rsp + 0x27c]
mov byte [rbp + 0x10c], al
movzx eax, byte [rsp + 0x27d]
mov byte [rbp + 0x10d], al
movzx eax, byte [rsp + 0x27e]
mov byte [rbp + 0x10e], al
movzx eax, byte [rsp + 0x27f]
mov byte [rbp + 0x10f], al
mov eax, dword [rdi + 8]
cmp eax, dword [rdi + 0xc]
je 0x4a21c4
mov r13, qword [rdi]
mov edx, eax
add eax, 1
mov qword [r13 + rdx*8], rbp
mov rcx, qword [rsp + 0x158]
mov dword [rdi + 8], eax
test rcx, rcx
je 0x4a1734
call fcn.007da030
mov rcx, qword [rsp + 0xa0]
test rcx, rcx
je 0x4a1746
call fcn.007da030
mov rcx, qword [rsp + 0x220]
test rcx, rcx
je 0x4a1758
call fcn.007da030
mov rcx, qword [rsp + 0x210]
test rcx, rcx
je 0x4a176a
call fcn.007da030
mov rcx, qword [rsp + 0x200]
test rcx, rcx
je 0x4a177c
call fcn.007da030
mov rcx, qword [rsp + 0x1f0]
test rcx, rcx
je 0x4a178e
call fcn.007da030
mov rcx, qword [rsp + 0x1e0]
test rcx, rcx
je 0x4a17a0
call fcn.007da030
mov rcx, qword [rsp + 0x1b8]
test rcx, rcx
je 0x4a17b2
call fcn.007da030
mov rcx, qword [rsp + 0x1a8]
test rcx, rcx
je 0x4a17c4
call fcn.007da030
mov rcx, qword [rsp + 0x188]
test rcx, rcx
je 0x4a17d7
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x180]
test rcx, rcx
je 0x4a17ea
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x178]
test rcx, rcx
je 0x4a17fd
mov rax, qword [rcx]
call qword [rax + 0x10]
mov r12, qword [rsp + 0x170]
test r12, r12
je 0x4a182e
mov rax, qword [r12]
lea rdx, [0x006ff610]
mov rax, qword [rax + 0x10]
cmp rax, rdx
jne 0x4a2220
sub dword [r12 + 0x10], 1
je 0x4a1f60
mov rcx, qword [rsp + 0x90]
test rcx, rcx
je 0x4a1841
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x80]
test rcx, rcx
je 0x4a1854
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x4a1864
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbx + 0x28]
jmp 0x4a0c00
mov rcx, r15
mov qword [rsp + 0x170], 0
mov qword [rsp + 0x178], 0
mov qword [rsp + 0x180], 0
mov qword [rsp + 0x188], 0
mov byte [rsp + 0x190], 0
mov byte [rsp + 0x191], 0
mov byte [rsp + 0x192], 0
mov byte [rsp + 0x193], 0
mov dword [rsp + 0x194], 0
mov dword [rsp + 0x198], 0
mov dword [rsp + 0x19c], 0xffffffff
mov qword [rsp + 0x1a0], 0
call fcn.00477f50
lea rcx, [rsi + 0x48]
call fcn.00477f50
lea rcx, [rsi + 0x70]
mov byte [rsp + 0x1c8], 0
mov byte [rsp + 0x1c9], 0
mov byte [rsp + 0x1ca], 0
mov byte [rsp + 0x1cb], 0
mov dword [rsp + 0x1cc], 0
mov dword [rsp + 0x1d0], 0
mov dword [rsp + 0x1d4], 0xffffffff
mov qword [rsp + 0x1d8], 0
call fcn.00477f50
lea rcx, [rsi + 0x80]
call fcn.00477f50
lea rcx, [rsi + 0x90]
call fcn.00477f50
lea rcx, [rsi + 0xa0]
call fcn.00477f50
lea rcx, [rsi + 0xb0]
call fcn.00477f50
lea rbp, [rbx + 0x68]
mov byte [rsp + 0x240], 0
lea rcx, [rsi + 0xa0]
mov rdx, rbp
mov byte [rsp + 0x279], 0
mov byte [rsp + 0x27a], 0
mov byte [rsp + 0x27b], 0
mov byte [rsp + 0x27c], 0
mov byte [rsp + 0x27d], 0
mov byte [rsp + 0x27e], 0
mov byte [rsp + 0x27f], 0
call fcn.00478190
lea rcx, [rsi + 0x90]
mov rdx, rbp
call fcn.00478190
mov rdx, rbx
mov rcx, rsi
mov dword [rsp + 0x234], 0xffffffff
call fcn.004a0830
test eax, eax
mov ebp, eax
jne 0x4a2467
mov ecx, 0x110
call fcn.007da0a0
mov rcx, qword [rsp + 0x170]
mov rbp, rax
test rcx, rcx
mov qword [rax], rcx
je 0x4a1a3e
mov rax, qword [rcx]
lea rdx, [0x006ff600]
mov rax, qword [rax + 8]
cmp rax, rdx
jne 0x4a22a0
add dword [rcx + 0x10], 1
mov rcx, qword [rsp + 0x178]
test rcx, rcx
mov qword [rbp + 8], rcx
je 0x4a1a55
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, qword [rsp + 0x180]
test rcx, rcx
mov qword [rbp + 0x10], rcx
je 0x4a1a6c
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, qword [rsp + 0x188]
test rcx, rcx
mov qword [rbp + 0x18], rcx
je 0x4a1a83
mov rax, qword [rcx]
call qword [rax + 8]
movzx eax, byte [rsp + 0x190]
lea rcx, [rbp + 0x38]
mov rdx, r15
mov byte [rbp + 0x20], al
movzx eax, byte [rsp + 0x191]
mov byte [rbp + 0x21], al
movzx eax, byte [rsp + 0x192]
mov byte [rbp + 0x22], al
movzx eax, byte [rsp + 0x193]
mov byte [rbp + 0x23], al
mov eax, dword [rsp + 0x194]
mov dword [rbp + 0x24], eax
mov eax, dword [rsp + 0x198]
mov dword [rbp + 0x28], eax
mov eax, dword [rsp + 0x19c]
mov dword [rbp + 0x2c], eax
mov rax, qword [rsp + 0x1a0]
mov qword [rbp + 0x30], rax
call fcn.00478040
lea rdx, [rsi + 0x48]
lea rcx, [rbp + 0x48]
call fcn.00478040
movzx eax, byte [rsp + 0x1c8]
lea rdx, [rsi + 0x70]
lea rcx, [rbp + 0x70]
mov byte [rbp + 0x58], al
movzx eax, byte [rsp + 0x1c9]
mov byte [rbp + 0x59], al
movzx eax, byte [rsp + 0x1ca]
mov byte [rbp + 0x5a], al
movzx eax, byte [rsp + 0x1cb]
mov byte [rbp + 0x5b], al
mov eax, dword [rsp + 0x1cc]
mov dword [rbp + 0x5c], eax
mov eax, dword [rsp + 0x1d0]
mov dword [rbp + 0x60], eax
mov eax, dword [rsp + 0x1d4]
mov dword [rbp + 0x64], eax
mov rax, qword [rsp + 0x1d8]
mov qword [rbp + 0x68], rax
call fcn.00478040
lea rdx, [rsi + 0x80]
lea rcx, [rbp + 0x80]
call fcn.00478040
lea rdx, [rsi + 0x90]
lea rcx, [rbp + 0x90]
call fcn.00478040
lea rdx, [rsi + 0xa0]
lea rcx, [rbp + 0xa0]
call fcn.00478040
lea rdx, [rsi + 0xb0]
lea rcx, [rbp + 0xb0]
call fcn.00478040
mov eax, dword [rsp + 0x230]
mov dword [rbp + 0xc0], eax
mov eax, dword [rsp + 0x234]
mov dword [rbp + 0xc4], eax
mov rax, qword [rsp + 0x238]
mov qword [rbp + 0xc8], rax
movzx eax, byte [rsp + 0x240]
mov byte [rbp + 0xd0], al
mov rax, qword [rsp + 0x248]
mov qword [rbp + 0xd8], rax
mov rax, qword [rsp + 0x250]
mov qword [rbp + 0xe0], rax
movzx eax, byte [rsp + 0x258]
mov byte [rbp + 0xe8], al
mov rax, qword [rsp + 0x260]
mov qword [rbp + 0xf0], rax
mov rax, qword [rsp + 0x268]
mov qword [rbp + 0xf8], rax
mov rax, qword [rsp + 0x270]
mov qword [rbp + 0x100], rax
movzx eax, byte [rsp + 0x278]
mov byte [rbp + 0x108], al
movzx eax, byte [rsp + 0x279]
mov byte [rbp + 0x109], al
movzx eax, byte [rsp + 0x27a]
mov byte [rbp + 0x10a], al
movzx eax, byte [rsp + 0x27b]
mov byte [rbp + 0x10b], al
movzx eax, byte [rsp + 0x27c]
mov byte [rbp + 0x10c], al
movzx eax, byte [rsp + 0x27d]
mov byte [rbp + 0x10d], al
movzx eax, byte [rsp + 0x27e]
mov byte [rbp + 0x10e], al
movzx eax, byte [rsp + 0x27f]
mov byte [rbp + 0x10f], al
mov eax, dword [rdi + 8]
cmp eax, dword [rdi + 0xc]
je 0x4a2250
mov r13, qword [rdi]
mov edx, eax
add eax, 1
mov qword [r13 + rdx*8], rbp
mov rcx, qword [rsp + 0x220]
mov dword [rdi + 8], eax
test rcx, rcx
je 0x4a1ccf
call fcn.007da030
mov rcx, qword [rsp + 0x210]
test rcx, rcx
je 0x4a1ce1
call fcn.007da030
mov rcx, qword [rsp + 0x200]
test rcx, rcx
je 0x4a1cf3
call fcn.007da030
mov rcx, qword [rsp + 0x1f0]
test rcx, rcx
je 0x4a1d05
call fcn.007da030
mov rcx, qword [rsp + 0x1e0]
test rcx, rcx
je 0x4a1d17
call fcn.007da030
mov rcx, qword [rsp + 0x1b8]
test rcx, rcx
je 0x4a1d29
call fcn.007da030
mov rcx, qword [rsp + 0x1a8]
test rcx, rcx
je 0x4a1d3b
call fcn.007da030
mov rcx, qword [rsp + 0x188]
test rcx, rcx
je 0x4a1d4e
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x180]
test rcx, rcx
je 0x4a1d61
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x178]
test rcx, rcx
je 0x4a1d74
mov rax, qword [rcx]
call qword [rax + 0x10]
mov r12, qword [rsp + 0x170]
test r12, r12
je 0x4a1864
mov rax, qword [r12]
lea rdx, [0x006ff610]
mov rax, qword [rax + 0x10]
cmp rax, rdx
jne 0x4a2290
sub dword [r12 + 0x10], 1
jne 0x4a1864
mov rcx, qword [r12 + 0x30]
lea rax, [0x00846400]
mov qword [r12], rax
lea rax, [0x00846480]
mov qword [r12 + 8], rax
test rcx, rcx
je 0x4a1dd0
mov rax, qword [rcx]
call qword [rax + 0x10]
mov eax, dword [r12 + 0x20]
mov rcx, qword [r12 + 0x18]
test eax, eax
je 0x4a1e42
lea ebp, [rax - 1]
shl rbp, 3
mov r13, qword [rcx + rbp]
test r13, r13
je 0x4a1e38
mov rcx, qword [r13 + 0x48]
test rcx, rcx
je 0x4a1dfc
call fcn.007da030
mov rcx, qword [r13 + 0x38]
test rcx, rcx
je 0x4a1e0a
call fcn.007da030
mov rcx, qword [r13 + 0x20]
test rcx, rcx
je 0x4a1e18
call fcn.007da030
mov rcx, qword [r13 + 0x10]
test rcx, rcx
je 0x4a1e26
call fcn.007da030
mov rcx, r13
mov edx, pe_nt_image_headers64
call fcn.007da070
mov rcx, qword [r12 + 0x18]
sub rbp, 8
cmp rbp, 0xfffffffffffffff8
jne 0x4a1de5
test rcx, rcx
je 0x4a1e4c
call fcn.007da030
mov edx, 0x38
mov rcx, r12
call fcn.007da070
jmp 0x4a1864
mov rdx, qword [rcx]
mov rdx, qword [rdx]
movzx r10d, byte [rdx + 4]
movzx r11d, byte [rdx + 5]
movzx r9d, byte [rdx + 8]
movzx r8d, byte [rdx + 0x10]
mov byte [rsp + 0x3c], r10b
movzx r10d, byte [rdx + 6]
mov byte [rsp + 0x3b], r11b
movzx r11d, byte [rdx + 7]
mov byte [rsp + 0x38], r9b
movzx r9d, byte [rdx + 0xb]
test r8b, r8b
mov r14d, dword [rdx]
mov byte [rsp + 0x3a], r10b
movzx r10d, byte [rdx + 9]
mov byte [rsp + 0x39], r11b
movzx r11d, byte [rdx + 0xa]
mov byte [rsp + 0x28], r9b
movzx r9d, byte [rdx + 0xe]
movzx r13d, byte [rdx + 0xf]
mov byte [rsp + 0x37], r10b
movzx r10d, byte [rdx + 0xc]
mov byte [rsp + 0x36], r11b
movzx r11d, byte [rdx + 0xd]
mov byte [rsp + 0x3d], r9b
movzx r12d, byte [rdx + 0x11]
movzx ebp, byte [rdx + 0x12]
mov byte [rsp + 0x3f], r10b
movzx r9d, byte [rdx + 0x15]
mov byte [rsp + 0x3e], r11b
movzx r10d, byte [rdx + 0x14]
movzx r11d, byte [rdx + 0x13]
mov rdx, qword [rdx + 0x18]
jne 0x4a0cf9
xor ebp, ebp
jmp 0x4a1f2a
lea rax, [rsp + 0x170]
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0x28]
call fcn.004b48e0
mov eax, dword [rdi + 8]
test eax, eax
setne byte [rdi + 0x28]
jmp 0x4a0df2
lea r14, [rsp + 0xf0]
mov rdx, r14
call rax
test eax, eax
jne 0x4a0de8
mov eax, dword [rsp + 0xf0]
jmp 0x4a0e44
mov rcx, qword [r12 + 0x30]
lea rax, [0x00846400]
mov qword [r12], rax
lea rax, [0x00846480]
mov qword [r12 + 8], rax
test rcx, rcx
je 0x4a1f87
mov rax, qword [rcx]
call qword [rax + 0x10]
mov eax, dword [r12 + 0x20]
mov rcx, qword [r12 + 0x18]
test eax, eax
je 0x4a1ffd
lea ebp, [rax - 1]
shl rbp, 3
nop dword [rax]
mov r13, qword [rcx + rbp]
test r13, r13
je 0x4a1ff3
mov rcx, qword [r13 + 0x48]
test rcx, rcx
je 0x4a1fb7
call fcn.007da030
mov rcx, qword [r13 + 0x38]
test rcx, rcx
je 0x4a1fc5
call fcn.007da030
mov rcx, qword [r13 + 0x20]
test rcx, rcx
je 0x4a1fd3
call fcn.007da030
mov rcx, qword [r13 + 0x10]
test rcx, rcx
je 0x4a1fe1
call fcn.007da030
mov rcx, r13
mov edx, pe_nt_image_headers64
call fcn.007da070
mov rcx, qword [r12 + 0x18]
sub rbp, 8
cmp rbp, 0xfffffffffffffff8
jne 0x4a1fa0
test rcx, rcx
je 0x4a2007
call fcn.007da030
mov edx, 0x38
mov rcx, r12
call fcn.007da070
jmp 0x4a182e
add rdx, 0x30
mov rcx, rbp
call fcn.004b47d0
jmp 0x4a140c
lea r8, [rsp + 0x70]
mov rdx, qword [0x00826830]
mov rcx, r14
call rax
test eax, eax
jne 0x4a0f00
mov rcx, qword [rsp + 0x70]
jmp 0x4a0ec4
lea r14, [rsp + 0xb0]
mov r8d, 0xc
mov edx, r12d
mov r9, r14
call rax
test eax, eax
je 0x4a1427
mov ebp, eax
mov rcx, r14
call fcn.004b48e0
mov rcx, qword [rsp + 0x158]
test rcx, rcx
je 0x4a208e
call fcn.007da030
mov rcx, qword [rsp + 0xa0]
test rcx, rcx
je 0x4a20a0
call fcn.007da030
mov rcx, qword [rsp + 0x220]
test rcx, rcx
je 0x4a20b2
call fcn.007da030
mov rcx, qword [rsp + 0x210]
test rcx, rcx
je 0x4a20c4
call fcn.007da030
mov rcx, qword [rsp + 0x200]
test rcx, rcx
je 0x4a20d6
call fcn.007da030
mov rcx, qword [rsp + 0x1f0]
test rcx, rcx
je 0x4a20e8
call fcn.007da030
mov rcx, qword [rsp + 0x1e0]
test rcx, rcx
je 0x4a20fa
call fcn.007da030
mov rcx, qword [rsp + 0x1b8]
test rcx, rcx
je 0x4a210c
call fcn.007da030
mov rcx, qword [rsp + 0x1a8]
test rcx, rcx
je 0x4a211e
call fcn.007da030
mov rcx, qword [rsp + 0x188]
test rcx, rcx
je 0x4a2131
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x180]
test rcx, rcx
je 0x4a2144
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x178]
test rcx, rcx
je 0x4a2157
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rdi, qword [rsp + 0x170]
test rdi, rdi
je 0x4a2185
mov rax, qword [rdi]
lea rdx, [0x006ff610]
mov rax, qword [rax + 0x10]
cmp rax, rdx
jne 0x4a2453
sub dword [rdi + 0x10], 1
je 0x4a22db
mov rcx, qword [rsp + 0x90]
test rcx, rcx
je 0x4a2198
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x80]
test rcx, rcx
je 0x4a21ab
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x4a0df2
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x4a0df2
mov edx, eax
shr edx, 2
lea ecx, [rax + rdx + 1]
mov r12, rcx
shl rcx, 3
call fcn.007da080
mov r13, rax
mov eax, dword [rdi + 8]
mov r14, qword [rdi]
test eax, eax
jne 0x4a22a7
test r14, r14
je 0x4a21fa
mov rcx, r14
call fcn.007da030
mov eax, dword [rdi + 8]
mov qword [rdi], r13
mov dword [rdi + 0xc], r12d
jmp 0x4a1715
call rax
jmp 0x4a14a3
mov rcx, r12
call rax
jmp 0x4a182e
mov rax, qword [rsp + 0xb8]
mov byte [rsp + 0x240], 1
mov qword [rsp + 0x238], rax
jmp 0x4a1463
mov edx, eax
shr edx, 2
lea ecx, [rax + rdx + 1]
mov r12, rcx
shl rcx, 3
call fcn.007da080
mov r13, rax
mov eax, dword [rdi + 8]
mov r14, qword [rdi]
test eax, eax
jne 0x4a22c6
test r14, r14
je 0x4a2282
mov rcx, r14
call fcn.007da030
mov eax, dword [rdi + 8]
mov qword [rdi], r13
mov dword [rdi + 0xc], r12d
jmp 0x4a1cb0
mov rcx, r12
call rax
jmp 0x4a1864
call rax
jmp 0x4a1a3e
lea r8, [rax*8]
mov rdx, r14
mov rcx, r13
call sub.msvcrt.dll_memcpy
jmp 0x4a21ef
mov ebp, eax
jmp 0x4a20a0
lea r8, [rax*8]
mov rdx, r14
mov rcx, r13
call sub.msvcrt.dll_memcpy
jmp 0x4a2277
mov rcx, qword [rdi + 0x30]
lea rax, [0x00846400]
mov qword [rdi], rax
lea rax, [0x00846480]
mov qword [rdi + 8], rax
test rcx, rcx
je 0x4a22ff
mov rax, qword [rcx]
call qword [rax + 0x10]
mov eax, dword [rdi + 0x20]
mov rcx, qword [rdi + 0x18]
test eax, eax
je 0x4a236d
lea esi, [rax - 1]
shl rsi, 3
mov rbx, qword [rcx + rsi]
test rbx, rbx
je 0x4a2363
mov rcx, qword [rbx + 0x48]
test rcx, rcx
je 0x4a2328
call fcn.007da030
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x4a2336
call fcn.007da030
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x4a2344
call fcn.007da030
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x4a2352
call fcn.007da030
mov rcx, rbx
mov edx, pe_nt_image_headers64
call fcn.007da070
mov rcx, qword [rdi + 0x18]
sub rsi, 8
cmp rsi, 0xfffffffffffffff8
jne 0x4a2311
test rcx, rcx
je 0x4a2377
call fcn.007da030
mov edx, 0x38
mov rcx, rdi
call fcn.007da070
jmp 0x4a2185
mov rax, qword [rbx + 0x28]
lea rdx, [rsi + 0x38]
lea rcx, [rdi + 0x58]
mov ebx, dword [rax + 8]
movzx eax, byte [rsp + 0x190]
mov byte [rdi + 0x40], al
movzx eax, byte [rsp + 0x191]
mov byte [rdi + 0x41], al
movzx eax, byte [rsp + 0x192]
mov byte [rdi + 0x42], al
movzx eax, byte [rsp + 0x193]
mov byte [rdi + 0x43], al
mov eax, dword [rsp + 0x194]
mov dword [rdi + 0x44], eax
mov eax, dword [rsp + 0x198]
mov dword [rdi + 0x48], eax
mov eax, dword [rsp + 0x19c]
mov dword [rdi + 0x4c], eax
mov rax, qword [rsp + 0x1a0]
mov qword [rdi + 0x50], rax
call fcn.00478190
lea rdx, [rsi + 0x48]
lea rcx, [rdi + 0x68]
call fcn.00478190
lea rdx, [rsi + 0x90]
lea rcx, [rdi + 0x30]
call fcn.00478190
mov rcx, qword [rsp + 0x158]
test rcx, rcx
je 0x4a2422
call fcn.007da030
mov rcx, qword [rsp + 0xa0]
test rcx, rcx
je 0x4a2434
call fcn.007da030
xor ebp, ebp
mov rcx, rsi
test ebx, ebx
setne bpl
call fcn.006b5a30
jmp 0x4a0f6e
mov ebp, 0x80004005
jmp 0x4a2074
mov rcx, rdi
call rax
jmp 0x4a2185
mov ebp, 0x80004001
jmp 0x4a0df2
cmp eax, 1
je 0x4a2479
mov rcx, rsi
call fcn.006b5a30
jmp 0x4a0df2
movzx eax, byte [rsp + 0x1c8]
lea rdx, [rsi + 0x70]
lea rcx, [rdi + 0x58]
mov byte [rdi + 0x40], al
movzx eax, byte [rsp + 0x1c9]
mov byte [rdi + 0x41], al
movzx eax, byte [rsp + 0x1ca]
mov byte [rdi + 0x42], al
movzx eax, byte [rsp + 0x1cb]
mov byte [rdi + 0x43], al
mov eax, dword [rsp + 0x1cc]
mov dword [rdi + 0x44], eax
mov eax, dword [rsp + 0x1d0]
mov dword [rdi + 0x48], eax
mov eax, dword [rsp + 0x1d4]
mov dword [rdi + 0x4c], eax
mov rax, qword [rsp + 0x1d8]
mov qword [rdi + 0x50], rax
call fcn.00478190
lea rdx, [rsi + 0x80]
lea rcx, [rdi + 0x68]
call fcn.00478190
lea rdx, [rsi + 0x90]
lea rcx, [rdi + 0x30]
call fcn.00478190
jmp 0x4a246c