Function at 0x406640
Capabilities:
Enumerate pe sections
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x118
lea rax, [0x004150a0]
mov r14, rdx
mov r13, rcx
mov rcx, rax
mov qword [rsp + 0xa0], rdx
mov r12, r8
mov qword [rsp + 0xe8], r8
mov qword [rsp + 0xe0], rax
call fcn.004026c0
test r14, r14
je 0x406748
test r12, r12
je 0x406748
mov r8d, dword [r14]
cmp r8d, 0x5446534d
je 0x406760
mov r9, r12
mov rcx, r13
xor ebx, ebx
lea rdx, str.Unknown_magic_0x_x___I64x__n
call sub.msvcrt.dll_fprintf
lea rbp, str.0x_08I64x:
lea rdi, str.__02X
nop word [rax + rax]
mov r8, rbx
mov rdx, rbp
mov rcx, r13
call sub.msvcrt.dll_fprintf
cmp rbx, 0x1ff
ja 0x407da0
cmp r12, rbx
jbe 0x407da0
xor r15d, r15d
jmp 0x406705
test sil, sil
je 0x406736
movzx r8d, byte [r14 + rbx]
mov rdx, rdi
add rbx, 1
mov rcx, r13
add r15, 1
call sub.msvcrt.dll_fprintf
cmp r12, rbx
seta sil
cmp rbx, 0x1ff
setbe al
and esi, eax
cmp r15, 0xf
jbe 0x406700
mov rdx, r13
mov ecx, 0xa
call sub.msvcrt.dll_fputc
test sil, sil
jne 0x4066d0
add rsp, 0x118
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rsi, qword [rsp + 0xe8]
lea rcx, [rsi + 1]
call sub.msvcrt.dll_malloc
mov r8, rsi
xor edx, edx
mov rcx, rax
mov rbp, rax
mov qword [rsp + 0x100], rax
call sub.msvcrt.dll_memset
mov rdx, qword [rsp + 0xa0]
mov byte [rbp + rsi], 1
mov rcx, rbp
mov eax, dword [rdx + 0x14]
mov dword [rsp + 0x78], eax
shr eax, 8
and eax, 1
add rax, 0x15
lea rsi, [rdx + rax*4]
movsxd rax, dword [rdx + 0x20]
mov qword [rsp + 0xf0], rsi
lea rbx, [rsi + rax*4]
lea rsi, [rbx + 0xf0]
mov rdi, rbx
mov qword [rsp + 0xd0], rbx
mov r8, rsi
sub r8, rdx
mov edx, 1
call sub.msvcrt.dll_memset
jmp 0x4067eb
add rdi, 0x10
cmp rsi, rdi
je 0x40680c
mov r8d, dword [rdi + 4]
test r8d, r8d
je 0x4067e2
mov ecx, dword [rdi]
mov edx, 1
add rdi, 0x10
add rcx, rbp
call sub.msvcrt.dll_memset
cmp rsi, rdi
jne 0x4067eb
mov rsi, qword [rsp + 0xd0]
mov rdi, qword [rsp + 0xa0]
mov r14, qword [rsp + 0xe0]
mov edx, dword [rsi + 0x70]
mov r8d, dword [rsi + 0x74]
mov rcx, r14
add rdx, rdi
call fcn.00402c60
mov edx, dword [rsi + 0x80]
mov rcx, r14
mov r8d, dword [rsi + 0x84]
add rdx, rdi
call fcn.00402d50
mov edx, dword [rsi + 0x50]
mov rcx, r14
mov r8d, dword [rsi + 0x54]
add rdx, rdi
call fcn.00402e30
mov edx, dword [rsi + 0x20]
mov rcx, r14
mov r8d, dword [rsi + 0x24]
add rdx, rdi
call fcn.00404230
mov edx, dword [rsi + 0x10]
mov rcx, r14
mov r8d, dword [rsi + 0x14]
add rdx, rdi
call fcn.004044f0
mov edx, dword [rsi]
mov rcx, r14
mov r8d, dword [rsi + 4]
add rdx, rdi
call fcn.00402f30
mov edx, dword [rsi + 0x90]
mov rcx, r14
mov r8d, dword [rsi + 0x94]
add rdx, rdi
call fcn.00403970
mov edx, dword [rsi + 0xb0]
mov rcx, r14
mov r8d, dword [rsi + 0xb4]
add rdx, rdi
call fcn.00404070
mov edx, dword [rsi + 0xc0]
mov rcx, r14
mov r8d, dword [rsi + 0xc4]
add rdx, rdi
call fcn.00404760
mov edx, dword [rsi + 0xa0]
mov rcx, r14
mov r8d, dword [rsi + 0xa4]
add rdx, rdi
call fcn.00404390
mov edx, dword [rsi + 0x30]
mov rcx, r14
mov r8d, dword [rsi + 0x34]
add rdx, rdi
call fcn.004042f0
mov eax, dword [rdi + 0x1c]
lea rdx, str.__TypeLib_V_u._u_Version:_d__SetFlags:0x_x___n
mov rcx, r13
mov dword [rsp + 0x28], eax
mov eax, dword [rdi + 0x18]
mov dword [rsp + 0x20], eax
movzx r9d, word [rdi + 6]
movzx r8d, word [rdi + 4]
call sub.msvcrt.dll_fprintf
mov r9, r13
mov r8d, 9
mov edx, 1
lea rcx, str._Guid_at
call sub.msvcrt.dll_fwrite
mov r8d, dword [rdi + 8]
lea rdx, str.Guid_
mov rcx, r13
call fcn.00404e50
mov r9d, dword [rdi + 0x10]
lea rdx, str.__Lcid1:__d_Lcide2:__d_n
mov rcx, r13
mov r8d, dword [rdi + 0xc]
call sub.msvcrt.dll_fprintf
mov r8d, dword [rdi + 0x14]
lea rdx, str._var_flags:_0x_x_n
mov rcx, r13
call sub.msvcrt.dll_fprintf
mov r9d, dword [rdi + 0x50]
lea rdx, str.__of_typeinfos:__d___of_import_infos:__d_n
mov rcx, r13
mov r8d, dword [rdi + 0x20]
call sub.msvcrt.dll_fprintf
mov r9, r13
mov r8d, 0xd
mov edx, 1
lea rcx, str._helpstring:
call sub.msvcrt.dll_fwrite
mov r8d, dword [rdi + 0x24]
lea rdx, str.Str_
mov rcx, r13
call fcn.00404e50
mov r9, r13
mov r8d, 0xc
mov edx, 1
lea rcx, str.__helpfile:
call sub.msvcrt.dll_fwrite
mov r8d, dword [rdi + 0x3c]
lea rdx, str.Str_
mov rcx, r13
call fcn.00404e50
mov r9d, dword [rdi + 0x2c]
lea rdx, str.__helpstring_context:_d__help_context:_d_n
mov rcx, r13
mov r8d, dword [rdi + 0x28]
call sub.msvcrt.dll_fprintf
mov r9d, dword [rdi + 0x34]
lea rdx, str._Nametable_strings:_d_with__u__of_characters._Name_is
mov rcx, r13
mov r8d, dword [rdi + 0x30]
call sub.msvcrt.dll_fprintf
mov r8d, dword [rdi + 0x38]
lea rdx, str.Name_
mov rcx, r13
call fcn.00404e50
mov rdx, r13
mov ecx, 0xa
call sub.msvcrt.dll_fputc
mov eax, dword [rdi + 0x48]
lea rdx, str._Custom_data_offset:__d__Res44_Hash_:0x_x__Res48_name_hash_:0x_x_n
mov rcx, r13
mov dword [rsp + 0x20], eax
mov r9d, dword [rdi + 0x44]
mov r8d, dword [rdi + 0x40]
call sub.msvcrt.dll_fprintf
mov r8d, dword [rdi + 0x4c]
lea rdx, str._Dispatch:__d_n
mov rcx, r13
call sub.msvcrt.dll_fprintf
test byte [rdi + 0x15], 1
jne 0x408551
lea rdi, str._Seg__d:_offset
xor esi, esi
lea rbp, str.0x_x_length0x_x
lea r12, [0x0040f84b]
jmp 0x406ad2
mov r9d, dword [rbx + 4]
mov rdx, rbp
mov rcx, r13
call sub.msvcrt.dll_fprintf
mov r9d, dword [rbx + 0xc]
mov rcx, r13
add esi, 1
add rbx, 0x10
mov r8d, dword [rbx - 8]
lea rdx, str.__res08_d__res0c_d_n
call sub.msvcrt.dll_fprintf
cmp esi, 0xf
je 0x406af5
mov r8d, esi
mov rdx, rdi
mov rcx, r13
call sub.msvcrt.dll_fprintf
mov r8d, dword [rbx]
test r8d, r8d
jns 0x406aa0
mov rdx, r12
mov rcx, r13
call sub.msvcrt.dll_fprintf
jmp 0x406aaf
mov qword [rsp + 0xa8], 0
mov r12, r13
mov rax, qword [rsp + 0xa8]
cmp eax, 0xc
mov ebx, eax
mov dword [rsp + 0x98], eax
ja case.default.0x406b2e
lea rdi, [0x00410558]
mov eax, eax
movsxd rax, dword [rdi + rax*4]
add rax, rdi
jmp rax
mov rax, qword [rsp + 0xd0]
mov esi, dword [rax + 0xb4]
test esi, esi
je 0x4070d5
mov r9, r12
mov edx, 1
mov edi, dword [rax + 0xb0]
xor ebx, ebx
lea rcx, str.CustomData_n
mov r8d, 0xb
call sub.msvcrt.dll_fwrite
mov r15, qword [rsp + 0xa0]
lea r14, [0x0040f89f]
lea rbp, [0x00410448]
nop
mov r13d, ebx
mov rdx, r12
mov ecx, 0x20
call sub.msvcrt.dll_fputc
add r13, rdi
mov r8d, ebx
mov rdx, r14
mov rcx, r12
add r13, r15
call fcn.00404ce0
mov r9, r12
mov edx, 1
mov rcx, rbp
mov r8d, 2
call sub.msvcrt.dll_fwrite
movzx edx, word [r13]
lea r8, [r13 + 2]
mov rcx, r12
call fcn.00405070
mov rdx, r12
mov ecx, 0xa
lea ebx, [rax + rbx + 1]
call sub.msvcrt.dll_fputc
and ebx, 0xfffffffc
cmp esi, ebx
ja 0x406b80
jmp 0x4070d5
mov rax, qword [rsp + 0xd0]
mov ebp, dword [rax + 0xa4]
test ebp, ebp
je 0x4070d5
mov r9, r12
mov r8d, 0x12
mov edx, 1
mov ebx, dword [rax + 0xa0]
lea rcx, str.Array_Description_n
call sub.msvcrt.dll_fwrite
cmp ebp, 7
jbe 0x4070d5
lea r13, str.ArrayD_
mov eax, ebx
xor edi, edi
mov qword [rsp + 0x78], rax
lea r14, str.:_vt:_0x_x_
lea rsi, str.___u_
nop dword [rax]
mov ebx, edi
add rbx, qword [rsp + 0x78]
mov rdx, r12
mov ecx, 0x20
add rbx, qword [rsp + 0xa0]
xor r15d, r15d
call sub.msvcrt.dll_fputc
mov r8d, edi
mov rdx, r13
mov rcx, r12
call fcn.00404e50
mov rdx, r14
mov rcx, r12
mov r8d, dword [rbx]
call sub.msvcrt.dll_fprintf
mov edx, dword [rbx]
xor r8d, r8d
mov rcx, r12
shr edx, 0x10
call fcn.00405070
movzx r9d, word [rbx + 6]
lea rdx, str.___u___d_bytes_
mov rcx, r12
movzx r8d, word [rbx + 4]
call sub.msvcrt.dll_fprintf
cmp word [rbx + 4], 0
je 0x406cdd
nop dword [rax + rax]
mov r8d, dword [rbx + r15*8 + 8]
mov rdx, rsi
mov rcx, r12
add r15, 1
call sub.msvcrt.dll_fprintf
movzx eax, word [rbx + 4]
cmp eax, r15d
jg 0x406cc0
movzx eax, word [rbx + 6]
mov rdx, r12
mov ecx, 0xa
lea edi, [rdi + rax + 0xb]
call sub.msvcrt.dll_fputc
and edi, 0xfffffffc
lea eax, [rdi + 7]
cmp ebp, eax
ja 0x406c50
jmp 0x4070d5
mov rax, qword [rsp + 0xd0]
mov esi, dword [rax + 0x94]
test esi, esi
je 0x4070d5
mov r9, r12
mov r8d, 0x11
mov edx, 1
mov ebx, dword [rax + 0x90]
lea rcx, str.Type_Description_n
call sub.msvcrt.dll_fwrite
cmp esi, 7
jbe 0x4070d5
sub esi, 8
add rbx, qword [rsp + 0xa0]
shr esi, 3
lea ebp, [rsi*8 + 8]
xor esi, esi
lea rdi, str.TypeD_
lea r14, str.:_kind:0x_x__flags:0x_x__vt:0x_x_
lea r13, str.ImpI_
jmp 0x406dbe
cmp ax, 0x1d
jne 0x4084b0
mov r8d, dword [rbx + 4]
test r8d, r8d
js 0x4085f4
test r8b, 1
je 0x4085a8
and r8d, 0xfffffffe
mov rdx, r13
mov rcx, r12
call fcn.00404e50
add esi, 8
mov rdx, r12
mov ecx, 0xa
call sub.msvcrt.dll_fputc
add rbx, 8
cmp esi, ebp
je 0x4070d5
mov rdx, r12
mov ecx, 0x20
call sub.msvcrt.dll_fputc
mov r8d, esi
mov rdx, rdi
mov rcx, r12
call fcn.00404ce0
mov eax, dword [rbx + 4]
mov rdx, r14
mov rcx, r12
movzx r9d, word [rbx + 2]
mov dword [rsp + 0x20], eax
movzx r8d, word [rbx]
call sub.msvcrt.dll_fprintf
movzx eax, word [rbx]
cmp ax, 0x1b
je 0x408450
jbe 0x408265
cmp ax, 0x1c
jne 0x406d72
movzx r8d, word [rbx + 4]
lea rdx, str.ArrayD_
mov rcx, r12
call fcn.00404e50
jmp 0x406da2
mov rax, qword [rsp + 0xd0]
mov ebp, dword [rax + 0x84]
test ebp, ebp
je 0x4070d5
mov r9, r12
mov r8d, 0xc
mov edx, 1
mov ebx, dword [rax + 0x80]
lea rcx, str.StringTable_n
call sub.msvcrt.dll_fwrite
cmp ebp, 2
jbe 0x4070d5
mov rax, qword [rsp + 0xa0]
lea r15, str.Str_
xor esi, esi
lea r13, [0x00410493]
lea rdi, [rax + rbx]
mov ebx, 2
mov eax, esi
mov rdx, r12
mov ecx, 0x20
movzx r14d, word [rdi + rax]
call sub.msvcrt.dll_fputc
mov r8d, esi
mov rdx, r15
mov rcx, r12
call fcn.00404ce0
mov r9, r12
mov edx, 1
mov rcx, r13
mov r8d, 3
call sub.msvcrt.dll_fwrite
test r14w, r14w
je 0x4084f0
lea esi, [r14 - 1]
lea r14d, [rbx + 1]
movzx esi, si
add esi, r14d
jmp 0x406ef6
mov rdx, r12
mov ecx, r8d
call sub.msvcrt.dll_fputc
cmp esi, r14d
je 0x406f1c
add r14d, 1
movzx r8d, byte [rdi + rbx]
mov ebx, r14d
mov eax, r8d
sub eax, 0x20
cmp al, 0x5f
jbe 0x406ee2
lea rdx, str._03o
mov rcx, r12
call sub.msvcrt.dll_fprintf
cmp esi, r14d
jne 0x406ef2
add esi, 3
mov r9, r12
mov r8d, 2
lea rcx, [0x00410404]
and esi, 0xfffffffc
mov edx, 1
call sub.msvcrt.dll_fwrite
lea ebx, [rsi + 2]
cmp ebp, ebx
ja 0x406e90
jmp 0x4070d5
mov rax, qword [rsp + 0xd0]
mov ebp, dword [rax + 0x74]
test ebp, ebp
je 0x4070d5
mov r9, r12
mov r8d, 0xa
mov edx, 1
mov ebx, dword [rax + 0x70]
lea rcx, str.NameTable_n
call sub.msvcrt.dll_fwrite
cmp ebp, 0xc
jbe 0x4070d5
mov rax, qword [rsp + 0xa0]
lea r15, str._Name__x
xor esi, esi
lea r14, str.:__d_
lea rdi, [rax + rbx]
mov ebx, 0xc
nop word [rax + rax]
mov r13d, esi
mov r8d, esi
mov rdx, r15
add r13, rdi
mov rcx, r12
call sub.msvcrt.dll_fprintf
mov r8d, dword [r13]
mov rdx, r14
mov rcx, r12
call sub.msvcrt.dll_fprintf
mov r8d, dword [r13 + 4]
lea rdx, str.Name_
mov rcx, r12
call fcn.00404e50
movzx r9d, word [r13 + 0xa]
lea rdx, str.__0x_02x_0x_04x___
mov rcx, r12
movzx r8d, byte [r13 + 9]
call sub.msvcrt.dll_fprintf
movzx eax, byte [r13 + 8]
test al, al
je 0x4084ff
lea esi, [rax - 1]
lea r13d, [rbx + 1]
movzx esi, sil
add esi, r13d
jmp 0x407034
mov rdx, r12
mov ecx, r8d
call sub.msvcrt.dll_fputc
cmp esi, r13d
je 0x40705a
add r13d, 1
movzx r8d, byte [rdi + rbx]
mov ebx, r13d
mov eax, r8d
sub eax, 0x20
cmp al, 0x5f
jbe 0x407020
lea rdx, str._03o
mov rcx, r12
call sub.msvcrt.dll_fprintf
cmp esi, r13d
jne 0x407030
add esi, 3
mov r9, r12
mov r8d, 2
lea rcx, [0x00410404]
and esi, 0xfffffffc
mov edx, 1
call sub.msvcrt.dll_fwrite
lea ebx, [rsi + 0xc]
cmp ebp, ebx
ja 0x406fb0
jmp 0x4070d5
mov r8d, 0xa
mov r9, r12
mov edx, 1
lea rcx, str.NAMEHASH:_n
call sub.msvcrt.dll_fwrite
mov rax, qword [rsp + 0xd0]
mov r8d, dword [rax + 0x64]
test r8, r8
je 0x4070d5
mov edx, dword [rax + 0x60]
lea r9, str.Name_
mov rcx, r12
add rdx, qword [rsp + 0xa0]
call fcn.00404d20
add qword [rsp + 0xa8], 1
jmp 0x406b04
mov rax, qword [rsp + 0xd0]
mov edi, dword [rax + 0x54]
test edi, edi
je 0x4070d5
mov r9, r12
mov r8d, 9
mov edx, 1
mov ebp, dword [rax + 0x50]
lea rcx, str.GuidTab:_n
call sub.msvcrt.dll_fwrite
cmp edi, 0x17
jbe 0x407213
lea rsi, str.Guid_
mov r14d, 0x18
mov rax, rbp
lea r15, [0x00410448]
mov ebp, r14d
mov r14, rax
lea r13, [0x004104ce]
jmp 0x407142
mov ebp, eax
lea ebx, [rbp - 0x18]
mov rdx, r12
mov ecx, 0x20
call sub.msvcrt.dll_fputc
mov r8d, ebx
mov rdx, rsi
mov rcx, r12
call fcn.00404ce0
mov r9, r12
mov edx, 1
mov rcx, r15
mov r8d, 2
add rbx, r14
call sub.msvcrt.dll_fwrite
add rbx, qword [rsp + 0xa0]
mov rdx, r13
mov rcx, r12
mov r8d, dword [rbx + 0x10]
call sub.msvcrt.dll_fprintf
mov r8d, dword [rbx + 0x14]
mov rdx, rsi
mov rcx, r12
call fcn.00404ce0
movzx eax, byte [rbx + 0xf]
lea rdx, str.____08X__04X__04X__02X_02X__02X_02X_02X_02X_02X_02X__n
mov rcx, r12
mov dword [rsp + 0x60], eax
movzx eax, byte [rbx + 0xe]
mov dword [rsp + 0x58], eax
movzx eax, byte [rbx + 0xd]
mov dword [rsp + 0x50], eax
movzx eax, byte [rbx + 0xc]
mov dword [rsp + 0x48], eax
movzx eax, byte [rbx + 0xb]
mov dword [rsp + 0x40], eax
movzx eax, byte [rbx + 0xa]
mov dword [rsp + 0x38], eax
movzx eax, byte [rbx + 9]
mov dword [rsp + 0x30], eax
movzx eax, byte [rbx + 8]
mov dword [rsp + 0x28], eax
movzx eax, word [rbx + 6]
mov dword [rsp + 0x20], eax
movzx r9d, word [rbx + 4]
mov r8d, dword [rbx]
call sub.msvcrt.dll_fprintf
lea eax, [rbp + 0x18]
cmp edi, eax
jae 0x407140
cmp edi, ebp
je 0x4070d5
sub edi, ebp
lea rdx, str._Junk_at_end_of__u_bytes_n
mov r8d, edi
mov rcx, r12
call sub.msvcrt.dll_fprintf
jmp 0x4070d5
mov r8d, 0xa
mov r9, r12
mov edx, 1
lea rcx, str.GUIDHASH:_n
call sub.msvcrt.dll_fwrite
mov rax, qword [rsp + 0xd0]
mov r8d, dword [rax + 0x44]
test r8, r8
je 0x4070d5
mov edx, dword [rax + 0x40]
lea r9, str.Guid_
mov rcx, r12
add rdx, qword [rsp + 0xa0]
call fcn.00404d20
jmp 0x4070d5
mov rax, qword [rsp + 0xd0]
mov esi, dword [rax + 0x34]
test esi, esi
je 0x4070d5
mov r9, r12
mov r8d, 0x10
mov edx, 1
mov ebx, dword [rax + 0x30]
lea rcx, str.Reference_Table_n
call sub.msvcrt.dll_fwrite
cmp esi, 0xf
jbe 0x4070d5
add rbx, qword [rsp + 0xa0]
sub esi, 0x10
and esi, 0xfffffff0
lea r13d, [rsi + 0x10]
xor esi, esi
lea rdi, str.Ref_
lea r14, [0x00410448]
lea rbp, str.TypeB_
mov rdx, r12
mov ecx, 0x20
add rbx, 0x10
call sub.msvcrt.dll_fputc
mov r8d, esi
mov rdx, rdi
mov rcx, r12
call fcn.00404e50
mov r9, r12
mov edx, 1
mov rcx, r14
mov r8d, 2
add esi, 0x10
call sub.msvcrt.dll_fwrite
mov r8d, dword [rbx - 0x10]
mov rdx, rbp
mov rcx, r12
call fcn.00404e50
mov r9d, dword [rbx - 8]
lea rdx, str.___d___d_
mov rcx, r12
mov r8d, dword [rbx - 0xc]
call sub.msvcrt.dll_fprintf
mov r8d, dword [rbx - 4]
mov rdx, rdi
mov rcx, r12
call fcn.00404e50
mov rdx, r12
mov ecx, 0xa
call sub.msvcrt.dll_fputc
cmp esi, r13d
jne 0x4072e2
jmp 0x4070d5
mov rax, qword [rsp + 0xd0]
mov esi, dword [rax + 0x24]
test esi, esi
je 0x4070d5
mov r9, r12
mov r8d, 0xd
mov edx, 1
mov ebx, dword [rax + 0x20]
lea rcx, str.Import_Files_n
call sub.msvcrt.dll_fwrite
cmp esi, 0xd
jbe 0x4070d5
mov rax, qword [rsp + 0xa0]
lea r15, str.Imp_
lea rbp, str.:__d__d__d__flag:_u___
lea rdi, [rax + rbx]
xor ebx, ebx
mov r14d, ebx
mov rdx, r12
mov ecx, 0x20
call sub.msvcrt.dll_fputc
add r14, rdi
mov r8d, ebx
mov rdx, r15
mov rcx, r12
add ebx, 0xe
call fcn.00404e50
movzx eax, word [r14 + 0xc]
mov rdx, rbp
mov rcx, r12
mov r13d, eax
and eax, 3
mov dword [rsp + 0x28], eax
mov eax, dword [r14 + 8]
shr r13w, 2
mov dword [rsp + 0x20], eax
mov r9d, dword [r14 + 4]
mov r8d, dword [r14]
call sub.msvcrt.dll_fprintf
test r13w, r13w
je 0x40747e
cmp esi, ebx
jbe 0x40747e
add r13d, ebx
jmp 0x40744b
mov rdx, r12
mov ecx, r8d
call sub.msvcrt.dll_fputc
cmp r13w, bx
setne dl
cmp esi, ebx
seta al
test dl, al
je 0x40747e
mov eax, ebx
add ebx, 1
movzx r8d, byte [rdi + rax]
mov eax, r8d
sub eax, 0x20
cmp al, 0x5f
jbe 0x407430
lea rdx, str._03o
mov rcx, r12
call sub.msvcrt.dll_fprintf
cmp r13w, bx
setne dl
cmp esi, ebx
seta al
test dl, al
jne 0x40744b
add ebx, 3
mov r9, r12
mov r8d, 2
lea rcx, [0x00410404]
and ebx, 0xfffffffc
mov edx, 1
call sub.msvcrt.dll_fwrite
lea eax, [rbx + 0xd]
cmp esi, eax
ja 0x4073c5
jmp 0x4070d5
mov rax, qword [rsp + 0xd0]
mov edi, dword [rax + 0x14]
test edi, edi
je 0x4070d5
mov ebp, dword [rax + 0x10]
lea rdx, str.ImportFile_Information._Has__d_Import_Files_n
mov rcx, r12
mov rax, qword [rsp + 0xa0]
mov r8d, dword [rax + 0x50]
call sub.msvcrt.dll_fprintf
cmp edi, 0xb
jbe 0x4070d5
lea r13, str.ImpI_
xor esi, esi
lea r15, str.Guid_
lea r14, str.TypeB_
jmp 0x407505
mov esi, eax
mov ebx, esi
mov rdx, r12
mov ecx, 0x20
add rbx, rbp
add rbx, qword [rsp + 0xa0]
call sub.msvcrt.dll_fputc
mov r8d, esi
mov rdx, r13
mov rcx, r12
call fcn.00404e50
movzx ecx, byte [rbx + 3]
call fcn.00406010
lea rdx, str.:_count:_d__flags:0x_x__tkind:_s_
mov rcx, r12
mov qword [rsp + 0x20], rax
movzx r9d, byte [rbx + 2]
movzx r8d, word [rbx]
call sub.msvcrt.dll_fprintf
mov r8d, dword [rbx + 4]
lea rdx, str.Imp_
mov rcx, r12
call fcn.00404ce0
mov r9, r12
mov r8d, 2
mov edx, 1
lea rcx, [0x0040fe62]
call sub.msvcrt.dll_fwrite
test byte [rbx + 2], 1
mov rdx, r14
mov rcx, r12
mov r8d, dword [rbx + 8]
cmovne rdx, r15
call fcn.00404ce0
mov rdx, r12
mov ecx, 0xa
call sub.msvcrt.dll_fputc
lea eax, [rsi + 0xc]
add esi, 0x17
cmp edi, esi
ja 0x407503
jmp 0x4070d5
mov rax, qword [rsp + 0xd0]
mov r9d, dword [rax + 4]
test r9d, r9d
je 0x4070d5
lea rdx, str.Has__d_typeinfo_blocks_n
mov rdi, qword [rsp + 0xa0]
mov rcx, r12
mov ebx, dword [rax]
mov esi, dword [rdi + 0x20]
mov r8d, esi
call sub.msvcrt.dll_fprintf
test esi, esi
jle 0x4070d5
mov qword [rsp + 0xd8], 0
lea r15, [rdi + rbx]
lea eax, [rsi - 1]
mov r14, r15
mov r15, r12
mov qword [rsp + 0x108], rax
nop dword [rax]
mov rax, qword [rsp + 0xd8]
mov esi, eax
mov ebx, eax
mov eax, dword [r14 + 4]
test eax, eax
je 0x407644
add rax, qword [rsp + 0x100]
cmp byte [rax], 1
je 0x407644
mov byte [rax], 2
mov rdx, r15
mov ecx, 0x20
call sub.msvcrt.dll_fputc
imul r8d, esi, 0x64
lea rdx, str.TypeB_
mov rcx, r15
call fcn.00404ce0
mov rax, qword [rsp + 0xf0]
mov r8d, ebx
mov rcx, r15
mov rdi, qword [rsp + 0xd8]
lea rdx, str.:__d__TypInfoId:_d
mov r9d, dword [rax + rdi*4]
call sub.msvcrt.dll_fprintf
mov r8d, dword [r14 + 0x18]
test r8d, r8d
jne 0x408434
mov ebx, dword [r14]
mov ebp, dword [r14 + 0x10]
mov edi, dword [r14 + 0xc]
mov esi, dword [r14 + 8]
mov ecx, ebx
sar ebx, 4
and ecx, 0xf
and ebx, 0xfff
call fcn.00406010
mov dword [rsp + 0x38], ebp
mov rcx, r15
mov dword [rsp + 0x30], edi
lea rdx, str.__typekind:_u___s:0x_x__res2:_u__res3:_d__res4:_d_n
mov r9, rax
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], ebx
mov r8d, dword [r14]
sar r8d, 0x10
call sub.msvcrt.dll_fprintf
mov rdx, r15
mov ecx, 9
call sub.msvcrt.dll_fputc
mov r8d, dword [r14 + 0x14]
test r8d, r8d
jne 0x408420
mov r8d, dword [r14 + 0x1c]
test r8d, r8d
jne 0x408404
mov r8d, dword [r14 + 0x20]
test r8d, r8d
jne 0x4083f0
mov r8d, dword [r14 + 0x24]
test r8d, r8d
jne 0x4083d4
mov r8d, dword [r14 + 0x18]
lea rdx, str.cVar:0x_x_cFunc:0x_x_n
mov rcx, r15
movzx r9d, r8w
shr r8d, 0x10
call sub.msvcrt.dll_fprintf
mov r8d, dword [r14 + 0x28]
test r8d, r8d
je 0x4083a0
lea rdx, str._tresA:_d_0_GUID:
mov rcx, r15
call sub.msvcrt.dll_fprintf
mov r8d, dword [r14 + 0x2c]
lea rdx, str.Guid_
mov rcx, r15
call fcn.00404e50
mov r9, r15
mov r8d, 7
mov edx, 1
lea rcx, str._n_tName:
call sub.msvcrt.dll_fwrite
mov r8d, dword [r14 + 0x34]
lea rdx, str.Name_
mov rcx, r15
call fcn.00404e50
mov r8d, dword [r14 + 0x38]
lea rdx, str._n_tVersion:_d_n_t
mov rcx, r15
call sub.msvcrt.dll_fprintf
mov edx, dword [r14 + 0x30]
mov rcx, r15
call fcn.00406380
cmp dword [r14 + 0x3c], 0xffffffff
je 0x4077fa
mov r9, r15
mov r8d, 5
mov edx, 1
lea rcx, str._Doc:
call sub.msvcrt.dll_fwrite
mov r8d, dword [r14 + 0x3c]
lea rdx, str.Str_
mov rcx, r15
call fcn.00404e50
mov rdx, r15
mov ecx, 0xa
call sub.msvcrt.dll_fputc
movsx eax, word [r14 + 0x4c]
lea rdx, str._tHelpStringCtx:_d_HelpCtx:_d_ImplTypes:_d_n
mov rcx, r15
mov r9d, dword [r14 + 0x44]
mov r8d, dword [r14 + 0x40]
mov dword [rsp + 0x20], eax
call sub.msvcrt.dll_fprintf
cmp dword [r14 + 0x48], 0xffffffff
je 0x40785b
mov r9, r15
mov r8d, 0xc
mov edx, 1
lea rcx, str._tCustomData:
call sub.msvcrt.dll_fwrite
mov r8d, dword [r14 + 0x48]
lea rdx, [0x0040f89f]
mov rcx, r15
call fcn.00404e50
mov rdx, r15
mov ecx, 0xa
call sub.msvcrt.dll_fputc
mov rdx, r15
mov ecx, 9
call sub.msvcrt.dll_fputc
mov r8d, dword [r14 + 0x5c]
test r8d, r8d
jne 0x4083c0
mov r8d, dword [r14 + 0x60]
cmp r8d, 0xffffffff
je 0x40788e
lea rdx, str.res19:_d____1_
mov rcx, r15
call sub.msvcrt.dll_fprintf
mov eax, dword [r14 + 0x58]
mov rcx, r15
mov r9d, dword [r14 + 0x50]
movsx r8d, word [r14 + 0x4e]
movzx edx, ax
shr eax, 0x10
mov dword [rsp + 0x30], edx
lea rdx, str.VirtualTableSizeInherits:_d_TypeSize:_d_OffsetTDTBICOCINTF:0x_x_n_tInheritFuncts:_d_unkown:_d_n
mov dword [rsp + 0x28], eax
mov eax, dword [r14 + 0x54]
mov dword [rsp + 0x20], eax
call sub.msvcrt.dll_fprintf
mov r10d, dword [r14 + 0x18]
mov eax, dword [r14 + 4]
mov r11d, r10d
sar r11d, 0x10
test eax, eax
je 0x408314
mov rsi, qword [rsp + 0xa0]
mov edx, r10d
or edx, r11d
and edx, 0xfff
add rsi, rax
cmp qword [rsp + 0xe8], rax
mov qword [rsp + 0x90], rsi
jbe 0x408330
test edx, edx
je 0x40823a
mov rsi, qword [rsp + 0x90]
add rax, qword [rsp + 0x100]
mov r9d, dword [rsi]
mov byte [rax + 4], 3
movzx edx, r9w
test r9d, r9d
mov byte [rax + rdx + 4], 3
lea rdx, [rsi + 4]
je 0x407958
xor ecx, ecx
nop word [rax + rax]
movzx ebx, word [rdx]
add rdx, rbx
add ecx, ebx
mov r8, rdx
sub r8, rsi
cmp r9d, ecx
mov byte [rax + r8], 3
ja 0x407940
mov eax, dword [r14]
mov edi, r11d
and edi, 0xfff
mov dword [rsp + 0x9c], edi
and eax, 0xf
mov dword [rsp + 0xcc], eax
mov eax, r10d
and eax, 0xfff
mov dword [rsp + 0xc8], eax
add eax, edi
mov rsi, qword [rsp + 0x90]
mov edx, r9d
test r9d, r9d
lea r13, [rsi + rdx + 4]
je 0x40823a
lea edx, [rax + rax]
shl rax, 2
mov qword [rsp + 0xf8], r14
mov r14, r13
lea rsi, [rdx*4]
mov qword [rsp + 0xc0], rax
mov r13, qword [rsp + 0xe0]
mov qword [rsp + 0xb8], rsi
mov dword [rsp + 0x80], 0
jmp 0x407a5f
lea rdx, str._t_id__u_
mov rcx, r15
call sub.msvcrt.dll_fprintf
mov edx, dword [rbx + 8]
test edx, edx
je 0x4079ff
mov rcx, r15
call fcn.00404a40
lea rdx, str.___s
mov r8, rsi
mov rcx, r15
call sub.msvcrt.dll_fprintf
mov rcx, rsi
call sub.msvcrt.dll_free
movzx eax, word [rbx + 0xc]
cmp eax, dword [rsp + 0xcc]
je 0x4082d0
mov r9, r15
mov r8d, 2
mov edx, 1
lea rcx, [0x0041032d]
call sub.msvcrt.dll_fwrite
mov rax, qword [rsp + 0x90]
add r14, 4
mov edi, dword [rsp + 0x80]
cmp dword [rax], edi
jbe 0x408232
mov ecx, dword [rsp + 0xc8]
test ecx, ecx
jne 0x407dd2
mov eax, dword [rsp + 0x9c]
test eax, eax
je 0x408232
sub eax, 1
mov rsi, qword [rsp + 0x90]
mov rcx, r15
mov dword [rsp + 0x9c], eax
mov eax, dword [rsp + 0x80]
lea rdx, str.____u:
lea rbx, [rsi + rax + 4]
mov rdi, rax
movzx eax, word [rbx]
movzx r8d, word [rbx + 2]
add edi, eax
mov dword [rsp + 0x80], edi
call sub.msvcrt.dll_fprintf
movzx r9d, word [rbx + 0xe]
lea rdx, str._n_tvarKind:0x_x_vardescSize:0x_x
mov rcx, r15
movzx r8d, word [rbx + 0xc]
call sub.msvcrt.dll_fprintf
mov rax, qword [rsp + 0xb8]
lea rdx, str.__Offset:0x_x_n
mov rcx, r15
mov r8d, dword [r14 + rax]
call sub.msvcrt.dll_fprintf
mov rax, qword [rsp + 0xc0]
xor r8d, r8d
mov rcx, r13
lea r9, [0x0040f84a]
mov edx, dword [r14 + rax]
call fcn.00402980
mov edx, dword [rbx + 4]
xor r9d, r9d
mov rcx, r13
mov r8, rax
mov rdi, rax
call fcn.00404130
mov rcx, rdi
mov rsi, rax
call sub.msvcrt.dll_free
mov r8d, dword [r14]
cmp r8d, 0xff
jbe 0x4079e1
lea rdx, str._t_id_0x_x_
mov rcx, r15
call sub.msvcrt.dll_fprintf
jmp 0x4079f0
mov rax, qword [rsp + 0xd0]
mov ebp, dword [rax + 0xc4]
test ebp, ebp
je 0x4070d5
mov r9, r12
mov r8d, 0x11
mov edx, 1
mov ebx, dword [rax + 0xc0]
lea rcx, str.CustomData_GUIDs_n
call sub.msvcrt.dll_fwrite
cmp ebp, 0xb
jbe 0x4070d5
lea rdi, str.CDGuid_
xor r14d, r14d
mov r15d, ebx
lea r13, [0x00410448]
lea rsi, [0x0040fe62]
nop dword [rax]
mov ebx, r14d
mov rdx, r12
mov ecx, 0x20
add rbx, r15
add rbx, qword [rsp + 0xa0]
call sub.msvcrt.dll_fputc
mov r8d, r14d
mov rdx, rdi
mov rcx, r12
call fcn.00404ce0
mov r9, r12
mov edx, 1
mov rcx, r13
mov r8d, 2
call sub.msvcrt.dll_fwrite
mov r8d, dword [rbx]
lea rdx, str.Guid_
mov rcx, r12
call fcn.00404e50
mov r9, r12
mov edx, 1
mov rcx, rsi
mov r8d, 2
call sub.msvcrt.dll_fwrite
mov r8d, dword [rbx + 4]
mov rcx, r12
mov rdx, qword [rsp + 0xe0]
call fcn.00405d30
mov r9, r12
mov edx, 1
mov rcx, rsi
mov r8d, 2
call sub.msvcrt.dll_fwrite
mov r8d, dword [rbx + 8]
mov rdx, rdi
mov rcx, r12
call fcn.00404e50
mov rdx, r12
mov ecx, 0xa
call sub.msvcrt.dll_fputc
lea eax, [r14 + 0x17]
add r14d, 0xc
cmp ebp, eax
ja 0x407bb0
jmp 0x4070d5
mov rsi, qword [rsp + 0xa8]
mov rax, qword [rsp + 0xd0]
shl rsi, 4
mov eax, dword [rax + rsi + 4]
test eax, eax
jne 0x408506
cmp ebx, 0xe
jne 0x4070d5
mov r14, qword [rsp + 0x100]
mov r13, r12
xor ebp, ebp
xor esi, esi
mov r12, qword [rsp + 0xe8]
lea rdi, str._mem:0x_x_n
movzx edx, byte [r14]
nop dword [rax]
lea rax, [rbp + 1]
cmp dl, 1
mov rbx, rax
je 0x407d53
cmp r12, rax
jbe 0x407dc7
cmp byte [r14 + rax], 0
je 0x407cec
jmp 0x407dc7
cmp byte [r14 + rbx], 0
jne 0x407cf5
add rbx, 1
cmp r12, rbx
ja 0x407ce5
mov r15, rbx
sub r15, rbp
cmp dl, 3
je 0x407d80
mov rdx, rdi
mov r8d, ebp
mov rcx, r13
call sub.msvcrt.dll_fprintf
mov rsi, r15
xor edx, edx
test r15, r15
je 0x407d33
mov rax, qword [rsp + 0xa0]
mov r9, r15
mov rcx, r13
lea r8, [rax + rbp]
call fcn.00404770
cmp r12, rbx
jbe 0x407d5b
movzx edx, byte [r14 + rbx]
mov rbp, rbx
jmp 0x407cc0
movzx edx, byte [r14 + rax]
cmp dl, 1
jne 0x407dc0
add rax, 1
cmp r12, rax
mov rbp, rax
ja 0x407d45
mov rcx, qword [rsp + 0xe0]
add rsp, 0x118
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.004026e0
mov rdx, r13
mov ecx, 0xa
call sub.msvcrt.dll_fputc
mov rdx, rsi
add rsi, r15
jmp 0x407d17
mov rdx, r13
mov ecx, 0xa
add rsp, 0x118
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sub.msvcrt.dll_fputc
xor esi, esi
jmp 0x407cc0
mov r15d, 1
jmp 0x407cfb
mov eax, dword [rsp + 0x80]
mov rcx, qword [rsp + 0x90]
mov rdi, rax
lea rsi, [rcx + rax + 4]
movzx ebx, word [rsi + 0x14]
lea r12, [rsi + 0x18]
movzx eax, word [rsi]
mov dword [rsp + 0x84], ebx
add edi, eax
lea eax, [rbx + rbx*2]
mov dword [rsp + 0x80], edi
shl eax, 2
sub edi, eax
mov edx, edi
lea rdi, [rcx + rdx + 4]
mov rax, rdx
mov qword [rsp + 0x78], rdi
xor edi, edi
test byte [rsi + 0x11], 0x10
je 0x407e31
lea edx, [rbx*4]
sub eax, edx
lea rdi, [rcx + rax + 4]
movzx r8d, word [rsi + 2]
lea rdx, str.____u:
mov rcx, r15
call sub.msvcrt.dll_fprintf
movzx eax, word [rsi + 0x16]
lea rdx, str._oVTable:0x_x_FuncDescSize:0x_x_Args:_u_OptArgs:_u_n
mov rcx, r15
mov dword [rsp + 0x28], eax
movzx eax, word [rsi + 0x14]
mov dword [rsp + 0x20], eax
movzx r9d, word [rsi + 0xe]
movzx r8d, word [rsi + 0xc]
call sub.msvcrt.dll_fprintf
movzx ecx, byte [rsi + 0x10]
movzx ebp, word [rsi + 0x12]
shr cl, 3
and ecx, 0xf
call fcn.004056d0
mov r9d, ebp
mov rcx, r15
lea rdx, str._t__invokekind:_s_nextIndexWithSameID:_u
mov r8, rax
call sub.msvcrt.dll_fprintf
mov rax, qword [rsp + 0xb8]
lea rdx, str.__Offset:0x_x_n
mov rcx, r15
mov r8d, dword [r14 + rax]
call sub.msvcrt.dll_fprintf
mov edx, dword [rsi + 4]
xor r9d, r9d
mov rcx, r13
lea r8, [0x0040f84a]
call fcn.00404130
xor r8d, r8d
mov rcx, r13
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0xc0]
lea r9, [0x0040f84a]
mov edx, dword [r14 + rax]
call fcn.00402980
mov r8d, dword [r14]
mov qword [rsp + 0xb0], rax
cmp r8d, 0xff
ja 0x408300
lea rdx, str._t_id__u_
mov rcx, r15
call sub.msvcrt.dll_fprintf
mov edx, dword [rsi + 8]
mov rcx, r15
call fcn.00406100
cmp qword [rsp + 0x78], r12
jbe 0x407fb9
test rdi, rdi
sete bpl
cmp r12, rdi
jb 0x407f3a
test bpl, bpl
je 0x407fb9
mov rdx, r15
mov ecx, 9
call sub.msvcrt.dll_fputc
cmp rdi, r12
ja 0x407f51
test bpl, bpl
je 0x407fac
mov ebx, dword [rsp + 0x98]
nop dword [rax + rax]
mov r9d, dword [r12]
lea rax, [0x0040f84a]
test ebx, ebx
mov rcx, r15
lea r8, [0x0040fe62]
cmove r8, rax
add ebx, 1
add r12, 4
lea rdx, str._s0x_x
call sub.msvcrt.dll_fprintf
cmp ebx, 7
jg 0x4081a2
cmp qword [rsp + 0x78], r12
jbe 0x4081a2
cmp r12, rdi
jb 0x407f60
test bpl, bpl
jne 0x407f60
mov rdx, r15
mov ecx, 0xa
call sub.msvcrt.dll_fputc
movzx eax, byte [rsi + 0x11]
lea r12, [0x0040f84a]
lea r8, str._reserved1
lea rcx, str._retvalParam
lea rdx, str._oEntryNumeric
lea r9, str._paramDefValue
test al, al
cmovns r8, r12
test al, 0x40
cmove rcx, r12
test al, 0x20
cmove rdx, r12
test al, 0x10
cmove r9, r12
cmp byte [rsi + 0x10], 0
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], rcx
mov rcx, r15
lea r8, str._customData
mov qword [rsp + 0x20], rdx
lea rdx, str._s_s_s_s_s
cmovns r8, r12
call sub.msvcrt.dll_fprintf
mov r9, r15
mov r8d, 2
mov edx, 1
lea rcx, [0x004102d5]
call sub.msvcrt.dll_fwrite
movzx ecx, byte [rsi + 0x11]
and ecx, 0xf
call fcn.004059a0
movzx ecx, byte [rsi + 0x10]
mov rbp, rax
and ecx, 7
call fcn.00405900
mov rsi, qword [rsp + 0xb0]
mov rcx, r15
mov qword [rsp + 0x20], rbp
mov rbx, qword [rsp + 0x88]
lea rdx, str._t_s__s__s__s__
mov r9, rax
mov qword [rsp + 0x28], rsi
mov r8, rbx
call sub.msvcrt.dll_fprintf
mov rcx, rbx
call sub.msvcrt.dll_free
mov rcx, rsi
call sub.msvcrt.dll_free
mov edx, dword [rsp + 0x84]
test edx, edx
je 0x408380
mov rbx, qword [rsp + 0x78]
xor esi, esi
mov qword [rsp + 0x88], r12
mov eax, dword [rsp + 0x84]
mov qword [rsp + 0xb0], r14
sub eax, 1
mov qword [rsp + 0x78], rax
jmp 0x4080f8
mov rdx, r15
mov ecx, 0x2c
call sub.msvcrt.dll_fputc
and r12d, 1
jne 0x408213
add rsi, 1
add rbx, 0xc
cmp dword [rsp + 0x84], esi
jle 0x408173
mov edx, dword [rbx + 4]
mov r12d, esi
cmp edx, 0xffffffff
je 0x4081d0
mov r9, qword [rsp + 0x88]
xor r8d, r8d
mov rcx, r13
call fcn.00402980
mov r14, rax
mov edx, dword [rbx]
xor r9d, r9d
mov r8, r14
mov rcx, r13
call fcn.00404130
mov rcx, r14
mov rbp, rax
call sub.msvcrt.dll_free
mov ecx, dword [rbx + 8]
call fcn.00405a80
mov r9, rbp
mov rcx, r15
lea rdx, str.__s___s
mov r8, rax
call sub.msvcrt.dll_fprintf
mov rcx, rbp
call sub.msvcrt.dll_free
test rdi, rdi
je 0x408168
test byte [rbx + 8], 0x20
jne 0x4081e5
cmp qword [rsp + 0x78], rsi
jne 0x4080d0
mov r14, qword [rsp + 0xb0]
mov r9, r15
mov r8d, 3
mov edx, 1
lea rcx, [0x004102fd]
call sub.msvcrt.dll_fwrite
sub dword [rsp + 0xc8], 1
jmp 0x407a44
mov rdx, r15
mov ecx, 0xa
call sub.msvcrt.dll_fputc
cmp qword [rsp + 0x78], r12
jbe 0x407fb9
cmp r12, rdi
jb 0x407f3a
jmp 0x407f35
mov rcx, qword [rsp + 0x88]
call sub.msvcrt.dll__strdup
mov r14, rax
jmp 0x40811d
mov r9, r15
mov r8d, 3
mov edx, 1
lea rcx, [0x004102ef]
call sub.msvcrt.dll_fwrite
mov r8d, dword [rdi + rsi*4]
mov rdx, r13
mov rcx, r15
call fcn.00405d30
jmp 0x408168
mov r9, r15
mov r8d, 4
mov edx, 1
lea rcx, str._n_t
call sub.msvcrt.dll_fwrite
jmp 0x4080e7
mov r14, qword [rsp + 0xf8]
mov rsi, qword [rsp + 0xd8]
add r14, 0x64
cmp qword [rsp + 0x108], rsi
lea rax, [rsi + 1]
je 0x4084f7
mov qword [rsp + 0xd8], rax
jmp 0x407620
cmp ax, 0x1a
jne 0x4084b0
mov r8d, dword [rbx + 4]
test r8d, r8d
js 0x4085cc
test r8b, 1
je 0x4085bc
and r8d, 0xfffffffe
mov rdx, r13
mov rcx, r12
call fcn.00404e50
movzx eax, word [rbx + 2]
and ax, 0x7fff
cmp ax, 0x7ffe
je 0x406da2
mov r9, r12
mov r8d, 2
mov edx, 1
lea rcx, [0x004103cb]
call sub.msvcrt.dll_fwrite
jmp 0x406da2
mov r9, r15
mov r8d, 3
mov edx, 1
lea rcx, [0x004102ef]
call sub.msvcrt.dll_fwrite
mov r8d, dword [rbx + 0x10]
mov rdx, r13
mov rcx, r15
call fcn.00405d30
jmp 0x407a2a
lea rdx, str._t_id_0x_x_
mov rcx, r15
call sub.msvcrt.dll_fprintf
jmp 0x407f13
mov rax, qword [rsp + 0xa0]
mov edx, r10d
or edx, r11d
and edx, 0xfff
mov qword [rsp + 0x90], rax
test edx, edx
je 0x40823a
mov eax, dword [r14]
mov edi, r11d
mov rsi, qword [rsp + 0x90]
and edi, 0xfff
mov dword [rsp + 0x9c], edi
and eax, 0xf
mov dword [rsp + 0xcc], eax
mov eax, r10d
mov r9d, dword [rsi]
and eax, 0xfff
mov dword [rsp + 0xc8], eax
add eax, edi
jmp 0x407986
mov r9, r15
mov r8d, 4
mov edx, 1
lea rcx, str.void
call sub.msvcrt.dll_fwrite
jmp 0x40817b
mov r9, r15
mov r8d, 6
mov edx, 1
lea rcx, str._tGUID:
call sub.msvcrt.dll_fwrite
jmp 0x40775a
lea rdx, str.res18:_d___0_
mov rcx, r15
call sub.msvcrt.dll_fprintf
jmp 0x407875
lea rdx, str.res9:_d_0_
mov rcx, r15
call sub.msvcrt.dll_fprintf
jmp 0x407723
lea rdx, str.res8:_d_0_
mov rcx, r15
call sub.msvcrt.dll_fprintf
jmp 0x407716
lea rdx, str.res7:_d_0_
mov rcx, r15
call sub.msvcrt.dll_fprintf
jmp 0x407709
lea rdx, str.res5:_d_0_
mov rcx, r15
call sub.msvcrt.dll_fprintf
jmp 0x4076fc
mov r8d, dword [r14 + 4]
lea rdx, str._mem:0x_x_
mov rcx, r15
call sub.msvcrt.dll_fprintf
jmp 0x407697
mov r8d, dword [rbx + 4]
test r8d, r8d
js 0x4085e0
test r8b, 1
je 0x408598
and r8d, 0xfffffffe
mov rdx, r13
mov rcx, r12
call fcn.00404e50
movzx eax, word [rbx + 2]
and ax, 0x7fff
cmp ax, 0x7ffe
je 0x406da2
mov r9, r12
mov r8d, 3
mov edx, 1
lea rcx, [0x004103ce]
call sub.msvcrt.dll_fwrite
jmp 0x406da2
mov r9, r12
mov r8d, 4
mov edx, 1
lea rcx, str.____
call sub.msvcrt.dll_fwrite
movzx edx, word [rbx + 4]
xor r8d, r8d
mov rcx, r12
call fcn.00405070
movzx eax, word [rbx + 2]
and ax, 0xf000
cmp ax, 0x4000
jne 0x406da2
jmp 0x4082a7
mov esi, ebx
jmp 0x406f1c
mov r12, r15
jmp 0x4070d5
mov esi, ebx
jmp 0x40705a
mov r8d, dword [rsp + 0xa8]
lea rdx, str.Segment__d_n
mov rcx, r12
call sub.msvcrt.dll_fprintf
mov rax, qword [rsp + 0xd0]
mov r9d, dword [rax + rsi + 4]
test r9, r9
je 0x407c92
mov eax, dword [rax + rsi]
xor edx, edx
mov rcx, r12
mov rdi, qword [rsp + 0xa0]
lea r8, [rdi + rax]
call fcn.00404770
jmp 0x407c92
mov r9, r13
mov r8d, 0x10
mov edx, 1
lea rcx, str._HelpstringDll:
call sub.msvcrt.dll_fwrite
mov rax, qword [rsp + 0xa0]
mov rcx, r13
lea rdx, str.Str_
mov r8d, dword [rax + 0x54]
call fcn.00404e50
mov rdx, r13
mov ecx, 0xa
call sub.msvcrt.dll_fputc
jmp 0x406a7f
mov rdx, rdi
mov rcx, r12
call fcn.00404e50
jmp 0x408476
lea rdx, str.TypeB_
mov rcx, r12
call fcn.00404e50
jmp 0x406da2
mov rdx, rdi
mov rcx, r12
call fcn.00404e50
jmp 0x408295
movzx edx, r8w
mov rcx, r12
xor r8d, r8d
call fcn.00405070
jmp 0x408295
movzx edx, r8w
mov rcx, r12
xor r8d, r8d
call fcn.00405070
jmp 0x408476
movzx edx, r8w
mov rcx, r12
xor r8d, r8d
call fcn.00405070
jmp 0x406da2