Function at 0x427b44
Capabilities:
Write file on windows

Disassembly:
push rbp
push rbx
sub rsp, 0x218
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x1b0], rcx
mov dword [rbp + 0x180], 0
mov eax, dword [0x004a83a4]
test eax, eax
jne 0x427b7a
mov eax, 1
jmp 0x42924e
mov dword [rbp + 0x184], 0
mov rax, qword [rbp + 0x1b0]
mov rax, qword [rax + 0x68]
mov qword [rbp + 0x188], rax
jmp 0x42921e
mov rax, qword [rbp + 0x188]
mov eax, dword [rax + 4]
cmp eax, 0x6ffffffe
je 0x42820a
cmp eax, 0x6fffffff
je 0x4287c8
cmp eax, 0x6ffffffd
je 0x427bc7
jmp 0x42920f
mov dword [rbp + 0x180], 1
mov rax, qword [rbp + 0x188]
mov ebx, dword [rax + 0x2c]
mov rax, qword [rbp + 0x188]
mov rdx, rax
mov rcx, qword [rbp + 0x1b0]
call fcn.0040c3b9
mov rdx, rax
mov rax, qword [rbp + 0x188]
mov eax, dword [rax + 0x2c]
cmp eax, 1
jne 0x427c0c
lea rax, str._nVersion_definition_section__s_contains__u_entry:_n
jmp 0x427c13
lea rax, str._nVersion_definition_section__s_contains__u_entries:_n
mov r8d, ebx
mov rcx, rax
call sub.msvcrt.dll_printf
lea rcx, str.__Addr:_0x
call sub.msvcrt.dll_printf
mov rax, qword [rbp + 0x188]
mov rbx, qword [rax + 0x10]
mov rax, qword [sym.imp.msvcrt.dll___iob_func]
call rax
add rax, 0x30
mov r8, rbx
lea rdx, [0x0048482e]
mov rcx, rax
call sub.msvcrt.dll_fprintf
mov rax, qword [rbp + 0x188]
mov eax, dword [rax + 0x28]
mov edx, eax
mov rcx, qword [rbp + 0x1b0]
call fcn.0040c581
mov rcx, rax
mov rax, qword [rbp + 0x188]
mov edx, dword [rax + 0x28]
mov rax, qword [rbp + 0x188]
mov rax, qword [rax + 0x18]
mov r9, rcx
mov r8d, edx
mov edx, eax
lea rcx, str.__Offset:__08lx__Link:__u___s__n
call sub.msvcrt.dll_printf
mov rax, qword [rbp + 0x188]
mov rax, qword [rax + 0x20]
mov rdx, qword [rbp + 0x188]
mov rdx, qword [rdx + 0x18]
mov ecx, edx
lea rdx, str.version_definition_section
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
mov r9d, 1
mov r8d, ecx
mov rdx, qword [rbp + 0x1b0]
mov ecx, 0
call fcn.0040be81
mov qword [rbp + 0xb8], rax
cmp qword [rbp + 0xb8], 0
je 0x429202
mov rax, qword [rbp + 0x188]
mov rdx, qword [rax + 0x20]
mov rax, qword [rbp + 0xb8]
add rax, rdx
mov qword [rbp + 0xb0], rax
mov dword [rbp + 0x178], 0
mov eax, dword [rbp + 0x178]
mov dword [rbp + 0x17c], eax
jmp 0x4281b6
mov edx, dword [rbp + 0x17c]
mov rax, qword [rbp + 0xb8]
add rax, rdx
mov qword [rbp + 0x170], rax
mov rax, qword [rbp + 0x170]
add rax, 0x14
cmp qword [rbp + 0xb0], rax
jb 0x4281ce
mov rax, qword [rbp + 0x170]
mov qword [rbp + 0xa8], rax
mov rax, qword [0x004a2e00]
mov rax, qword [rax]
mov rcx, qword [rbp + 0xa8]
mov edx, 2
call rax
mov word [rbp - 0x30], ax
mov rax, qword [0x004a2e00]
mov rax, qword [rax]
mov rdx, qword [rbp + 0xa8]
lea rcx, [rdx + 2]
mov edx, 2
call rax
mov word [rbp - 0x2e], ax
mov rax, qword [0x004a2e00]
mov rax, qword [rax]
mov rdx, qword [rbp + 0xa8]
lea rcx, [rdx + 4]
mov edx, 2
call rax
mov word [rbp - 0x2c], ax
mov rax, qword [0x004a2e00]
mov rax, qword [rax]
mov rdx, qword [rbp + 0xa8]
lea rcx, [rdx + 6]
mov edx, 2
call rax
mov word [rbp - 0x2a], ax
mov rax, qword [0x004a2e00]
mov rax, qword [rax]
mov rdx, qword [rbp + 0xa8]
lea rcx, [rdx + 8]
mov edx, 4
call rax
mov dword [rbp - 0x28], eax
mov rax, qword [0x004a2e00]
mov rax, qword [rax]
mov rdx, qword [rbp + 0xa8]
lea rcx, [rdx + 0xc]
mov edx, 4
call rax
mov dword [rbp - 0x24], eax
mov rax, qword [0x004a2e00]
mov rax, qword [rax]
mov rdx, qword [rbp + 0xa8]
lea rcx, [rdx + 0x10]
mov edx, 4
call rax
mov dword [rbp - 0x20], eax
movzx eax, word [rbp - 0x2e]
movzx eax, ax
mov ecx, eax
call fcn.00427943
mov rcx, rax
movzx eax, word [rbp - 0x30]
movzx edx, ax
mov eax, dword [rbp + 0x17c]
mov r9, rcx
mov r8d, edx
mov edx, eax
lea rcx, str.___06lx:_Rev:__d__Flags:__s
call sub.msvcrt.dll_printf
movzx eax, word [rbp - 0x2a]
movzx edx, ax
movzx eax, word [rbp - 0x2c]
movzx eax, ax
mov r8d, edx
mov edx, eax
lea rcx, str.__Index:__d__Cnt:__d
call sub.msvcrt.dll_printf
mov eax, dword [rbp - 0x24]
mov ecx, eax
mov rdx, qword [rbp + 0xb0]
mov rax, qword [rbp + 0x170]
sub rdx, rax
mov rax, rdx
cmp rcx, rax
ja 0x4281d1
mov eax, dword [rbp - 0x24]
mov eax, eax
add qword [rbp + 0x170], rax
mov rax, qword [rbp + 0x170]
add rax, 8
cmp qword [rbp + 0xb0], rax
jb 0x4281d4
mov rax, qword [rbp + 0x170]
mov qword [rbp + 0xa0], rax
mov rax, qword [0x004a2e00]
mov rax, qword [rax]
mov rcx, qword [rbp + 0xa0]
mov edx, 4
call rax
mov dword [rbp + 0x80], eax
mov rax, qword [0x004a2e00]
mov rax, qword [rax]
mov rdx, qword [rbp + 0xa0]
lea rcx, [rdx + 4]
mov edx, 4
call rax
mov dword [rbp + 0x84], eax
mov rax, qword [0x004a8060]
test rax, rax
je 0x427f61
mov edx, dword [rbp + 0x80]
mov eax, dword [0x004a8068]
cmp edx, eax
jae 0x427f61
mov rax, qword [0x004a8060]
mov edx, dword [rbp + 0x80]
mov edx, edx
add rax, rdx
mov rdx, rax
lea rcx, str.Name:__s_n
call sub.msvcrt.dll_printf
jmp 0x427f75
mov eax, dword [rbp + 0x80]
mov edx, eax
lea rcx, str.Name_index:__ld_n
call sub.msvcrt.dll_printf
mov edx, dword [rbp - 0x24]
mov eax, dword [rbp + 0x17c]
add eax, edx
mov dword [rbp + 0x16c], eax
mov dword [rbp + 0x168], 1
jmp 0x428106
mov eax, dword [rbp + 0x84]
cmp eax, 7
ja 0x427fe2
movzx eax, word [rbp - 0x2a]
movzx eax, ax
sub eax, 1
cmp dword [rbp + 0x168], eax
jne 0x427fbc
mov eax, dword [rbp + 0x84]
test eax, eax
je 0x427fe2
mov eax, dword [rbp + 0x84]
mov edx, eax
lea rcx, str.Invalid_vda_next_field_of__lx_n
call fcn.0045d7fb
movzx eax, word [rbp - 0x2a]
movzx eax, ax
mov dword [rbp + 0x168], eax
jmp 0x42811f
mov eax, dword [rbp + 0x84]
mov ecx, eax
mov rdx, qword [rbp + 0xb0]
mov rax, qword [rbp + 0x170]
sub rdx, rax
mov rax, rdx
cmp rcx, rax
ja 0x42811b
mov eax, dword [rbp + 0x84]
add dword [rbp + 0x16c], eax
mov eax, dword [rbp + 0x84]
mov eax, eax
add qword [rbp + 0x170], rax
mov rax, qword [rbp + 0x170]
add rax, 8
cmp qword [rbp + 0xb0], rax
jb 0x42811e
mov rax, qword [rbp + 0x170]
mov qword [rbp + 0xa0], rax
mov rax, qword [0x004a2e00]
mov rax, qword [rax]
mov rcx, qword [rbp + 0xa0]
mov edx, 4
call rax
mov dword [rbp + 0x80], eax
mov rax, qword [0x004a2e00]
mov rax, qword [rax]
mov rdx, qword [rbp + 0xa0]
lea rcx, [rdx + 4]
mov edx, 4
call rax
mov dword [rbp + 0x84], eax
mov rax, qword [0x004a8060]
test rax, rax
je 0x4280d9
mov edx, dword [rbp + 0x80]
mov eax, dword [0x004a8068]
cmp edx, eax
jae 0x4280d9
mov rax, qword [0x004a8060]
mov edx, dword [rbp + 0x80]
mov edx, edx
lea rcx, [rax + rdx]
mov edx, dword [rbp + 0x168]
mov eax, dword [rbp + 0x16c]
mov r9, rcx
mov r8d, edx
mov edx, eax
lea rcx, str.___06lx:_Parent__d:__s_n
call sub.msvcrt.dll_printf
jmp 0x4280ff
mov ecx, dword [rbp + 0x80]
mov edx, dword [rbp + 0x168]
mov eax, dword [rbp + 0x16c]
mov r9d, ecx
mov r8d, edx
mov edx, eax
lea rcx, str.___06lx:_Parent__d__name_index:__ld_n
call sub.msvcrt.dll_printf
add dword [rbp + 0x168], 1
movzx eax, word [rbp - 0x2a]
movzx eax, ax
cmp dword [rbp + 0x168], eax
jl 0x427f95
jmp 0x42811f
nop
jmp 0x42811f
nop
movzx eax, word [rbp - 0x2a]
movzx eax, ax
cmp dword [rbp + 0x168], eax
jge 0x42813a
lea rcx, str.__Version_def_aux_past_end_of_section
call sub.msvcrt.dll_puts
mov eax, dword [rbp - 0x20]
cmp eax, 0x13
ja 0x428181
mov rax, qword [rbp + 0x188]
mov eax, dword [rax + 0x2c]
sub eax, 1
cmp dword [rbp + 0x178], eax
jne 0x42815e
mov eax, dword [rbp - 0x20]
test eax, eax
je 0x428181
mov eax, dword [rbp - 0x20]
mov edx, eax
lea rcx, str.Invalid_vd_next_field_of__lx_n
call fcn.0045d7fb
mov rax, qword [rbp + 0x188]
mov eax, dword [rax + 0x2c]
mov dword [rbp + 0x178], eax
jmp 0x4281d8
mov eax, dword [rbp - 0x20]
mov r8d, eax
mov rax, qword [rbp + 0xb0]
mov ecx, dword [rbp + 0x17c]
mov rdx, qword [rbp + 0xb8]
add rdx, rcx
sub rax, rdx
cmp r8, rax
ja 0x4281d7
mov eax, dword [rbp - 0x20]
add dword [rbp + 0x17c], eax
add dword [rbp + 0x178], 1
mov rax, qword [rbp + 0x188]
mov eax, dword [rax + 0x2c]
cmp dword [rbp + 0x178], eax
jb 0x427d27
jmp 0x4281d8
nop
jmp 0x4281d8
nop
jmp 0x4281d8
nop
jmp 0x4281d8
nop
mov rax, qword [rbp + 0x188]
mov eax, dword [rax + 0x2c]
cmp dword [rbp + 0x178], eax
jae 0x4281f6
lea rcx, str.__Version_definition_past_end_of_section
call sub.msvcrt.dll_puts
mov rax, qword [rbp + 0xb8]
mov rcx, rax
call sub.msvcrt.dll_free
jmp 0x42920f
mov dword [rbp + 0x180], 1
mov rax, qword [rbp + 0x188]
mov ebx, dword [rax + 0x2c]
mov rax, qword [rbp + 0x188]
mov rdx, rax
mov rcx, qword [rbp + 0x1b0]
call fcn.0040c3b9
mov rdx, rax
mov rax, qword [rbp + 0x188]
mov eax, dword [rax + 0x2c]
cmp eax, 1
jne 0x42824f
lea rax, str._nVersion_needs_section__s_contains__u_entry:_n
jmp 0x428256
lea rax, str._nVersion_needs_section__s_contains__u_entries:_n
mov r8d, ebx
mov rcx, rax
call sub.msvcrt.dll_printf
lea rcx, str._Addr:_0x
call sub.msvcrt.dll_printf
mov rax, qword [rbp + 0x188]
mov rbx, qword [rax + 0x10]
mov rax, qword [sym.imp.msvcrt.dll___iob_func]
call rax
add rax, 0x30
mov r8, rbx
lea rdx, [0x0048482e]
mov rcx, rax
call sub.msvcrt.dll_fprintf
mov rax, qword [rbp + 0x188]
mov eax, dword [rax + 0x28]
mov edx, eax
mov rcx, qword [rbp + 0x1b0]
call fcn.0040c581
mov rcx, rax
mov rax, qword [rbp + 0x188]
mov edx, dword [rax + 0x28]
mov rax, qword [rbp + 0x188]
mov rax, qword [rax + 0x18]
mov r9, rcx
mov r8d, edx
mov edx, eax
lea rcx, str.__Offset:__08lx__Link:__u___s__n
call sub.msvcrt.dll_printf
mov rax, qword [rbp + 0x188]
mov rax, qword [rax + 0x20]
mov rdx, qword [rbp + 0x188]
mov rdx, qword [rdx + 0x18]
mov ecx, edx
lea rdx, str.Version_Needs_section
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
mov r9d, 1
mov r8d, ecx
mov rdx, qword [rbp + 0x1b0]
mov ecx, 0
call fcn.0040be81
mov qword [rbp + 0xd8], rax
cmp qword [rbp + 0xd8], 0
je 0x429205
mov rax, qword [rbp + 0x188]
mov rdx, qword [rax + 0x20]
mov rax, qword [rbp + 0xd8]
add rax, rdx
mov qword [rbp + 0xd0], rax
mov dword [rbp + 0x160], 0
mov eax, dword [rbp + 0x160]
mov dword [rbp + 0x164], eax
jmp 0x428777
mov edx, dword [rbp + 0x164]
mov rax, qword [rbp + 0xd8]
add rax, rdx
mov qword [rbp + 0x150], rax
mov rax, qword [rbp + 0x150]
add rax, 0x10
cmp qword [rbp + 0xd0], rax
jb 0x42878f
mov rax, qword [rbp + 0x150]
mov qword [rbp + 0xc8], rax
mov rax, qword [0x004a2e00]
mov rax, qword [rax]
mov rcx, qword [rbp + 0xc8]
mov edx, 2
call rax
mov word [rbp - 0x30], ax
mov rax, qword [0x004a2e00]
mov rax, qword [rax]
mov rdx, qword [rbp + 0xc8]
lea rcx, [rdx + 2]
mov edx, 2
call rax
mov word [rbp - 0x2e], ax
mov rax, qword [0x004a2e00]
mov rax, qword [rax]
mov rdx, qword [rbp + 0xc8]
lea rcx, [rdx + 4]
mov edx, 4
call rax
mov dword [rbp - 0x2c], eax
mov rax, qword [0x004a2e00]
mov rax, qword [rax]
mov rdx, qword [rbp + 0xc8]
lea rcx, [rdx + 8]
mov edx, 4
call rax
mov dword [rbp - 0x28], eax
mov rax, qword [0x004a2e00]
mov rax, qword [rax]
mov rdx, qword [rbp + 0xc8]
lea rcx, [rdx + 0xc]
mov edx, 4
call rax
mov dword [rbp - 0x24], eax
movzx eax, word [rbp - 0x30]
movzx edx, ax
mov eax, dword [rbp + 0x164]
mov r8d, edx
mov edx, eax
lea rcx, str.___06lx:_Version:__d
call sub.msvcrt.dll_printf
mov rax, qword [0x004a8060]
test rax, rax
je 0x428497
mov edx, dword [rbp - 0x2c]
mov eax, dword [0x004a8068]
cmp edx, eax
jae 0x428497
mov rax, qword [0x004a8060]
mov edx, dword [rbp - 0x2c]
mov edx, edx
add rax, rdx
mov rdx, rax
lea rcx, str.__File:__s
call sub.msvcrt.dll_printf
jmp 0x4284a8
mov eax, dword [rbp - 0x2c]
mov edx, eax
lea rcx, str.__File:__lx
call sub.msvcrt.dll_printf
movzx eax, word [rbp - 0x2e]
movzx eax, ax
mov edx, eax
lea rcx, str.__Cnt:__d_n
call sub.msvcrt.dll_printf
mov eax, dword [rbp - 0x28]
mov ecx, eax
mov rdx, qword [rbp + 0xd0]
mov rax, qword [rbp + 0x150]
sub rdx, rax
mov rax, rdx
cmp rcx, rax
ja 0x428792
mov eax, dword [rbp - 0x28]
mov eax, eax
add qword [rbp + 0x150], rax
mov dword [rbp + 0x158], 0
mov edx, dword [rbp - 0x28]
mov eax, dword [rbp + 0x164]
add eax, edx
mov dword [rbp + 0x15c], eax
jmp 0x4286c7
mov rax, qword [rbp + 0x150]
add rax, 0x10
cmp qword [rbp + 0xd0], rax
jb 0x4286dc
mov rax, qword [rbp + 0x150]
mov qword [rbp + 0xc0], rax
mov rax, qword [0x004a2e00]
mov rax, qword [rax]
mov rcx, qword [rbp + 0xc0]
mov edx, 4
call rax
mov dword [rbp - 0x50], eax
mov rax, qword [0x004a2e00]
mov rax, qword [rax]
mov rdx, qword [rbp + 0xc0]
lea rcx, [rdx + 4]
mov edx, 2
call rax
mov word [rbp - 0x4c], ax
mov rax, qword [0x004a2e00]
mov rax, qword [rax]
mov rdx, qword [rbp + 0xc0]
lea rcx, [rdx + 6]
mov edx, 2
call rax
mov word [rbp - 0x4a], ax
mov rax, qword [0x004a2e00]
mov rax, qword [rax]
mov rdx, qword [rbp + 0xc0]
lea rcx, [rdx + 8]
mov edx, 4
call rax
mov dword [rbp - 0x48], eax
mov rax, qword [0x004a2e00]
mov rax, qword [rax]
mov rdx, qword [rbp + 0xc0]
lea rcx, [rdx + 0xc]
mov edx, 4
call rax
mov dword [rbp - 0x44], eax
mov rax, qword [0x004a8060]
test rax, rax
je 0x42860b
mov edx, dword [rbp - 0x48]
mov eax, dword [0x004a8068]
cmp edx, eax
jae 0x42860b
mov rax, qword [0x004a8060]
mov edx, dword [rbp - 0x48]
mov edx, edx
add rdx, rax
mov eax, dword [rbp + 0x15c]
mov r8, rdx
mov edx, eax
lea rcx, str.___06lx:___Name:__s
call sub.msvcrt.dll_printf
jmp 0x428625
mov edx, dword [rbp - 0x48]
mov eax, dword [rbp + 0x15c]
mov r8d, edx
mov edx, eax
lea rcx, str.___06lx:___Name_index:__lx
call sub.msvcrt.dll_printf
movzx eax, word [rbp - 0x4a]
movzx ebx, ax
movzx eax, word [rbp - 0x4c]
movzx eax, ax
mov ecx, eax
call fcn.00427943
mov r8d, ebx
mov rdx, rax
lea rcx, str.__Flags:__s__Version:__d_n
call sub.msvcrt.dll_printf
mov eax, dword [rbp - 0x44]
cmp eax, 0xf
ja 0x42868d
movzx eax, word [rbp - 0x2e]
movzx eax, ax
sub eax, 1
cmp dword [rbp + 0x158], eax
jne 0x42866d
mov eax, dword [rbp - 0x44]
test eax, eax
je 0x42868d
mov eax, dword [rbp - 0x44]
mov edx, eax
lea rcx, str.Invalid_vna_next_field_of__lx_n
call fcn.0045d7fb
movzx eax, word [rbp - 0x2e]
movzx eax, ax
mov dword [rbp + 0x158], eax
jmp 0x4286e0
mov eax, dword [rbp - 0x44]
mov ecx, eax
mov rdx, qword [rbp + 0xd0]
mov rax, qword [rbp + 0x150]
sub rdx, rax
mov rax, rdx
cmp rcx, rax
ja 0x4286df
mov eax, dword [rbp - 0x44]
add dword [rbp + 0x15c], eax
mov eax, dword [rbp - 0x44]
mov eax, eax
add qword [rbp + 0x150], rax
add dword [rbp + 0x158], 1
movzx eax, word [rbp - 0x2e]
movzx eax, ax
cmp dword [rbp + 0x158], eax
jl 0x42850b
jmp 0x4286e0
nop
jmp 0x4286e0
nop
movzx eax, word [rbp - 0x2e]
movzx eax, ax
cmp dword [rbp + 0x158], eax
jge 0x4286fb
lea rcx, str.Missing_Version_Needs_auxillary_information_n
call fcn.0045d7fb
mov eax, dword [rbp - 0x24]
cmp eax, 0xf
ja 0x428742
mov rax, qword [rbp + 0x188]
mov eax, dword [rax + 0x2c]
sub eax, 1
cmp dword [rbp + 0x160], eax
jne 0x42871f
mov eax, dword [rbp - 0x24]
test eax, eax
je 0x428742
mov eax, dword [rbp - 0x24]
mov edx, eax
lea rcx, str.Invalid_vn_next_field_of__lx_n
call fcn.0045d7fb
mov rax, qword [rbp + 0x188]
mov eax, dword [rax + 0x2c]
mov dword [rbp + 0x160], eax
jmp 0x428796
mov eax, dword [rbp - 0x24]
mov r8d, eax
mov rax, qword [rbp + 0xd0]
mov ecx, dword [rbp + 0x164]
mov rdx, qword [rbp + 0xd8]
add rdx, rcx
sub rax, rdx
cmp r8, rax
ja 0x428795
mov eax, dword [rbp - 0x24]
add dword [rbp + 0x164], eax
add dword [rbp + 0x160], 1
mov rax, qword [rbp + 0x188]
mov eax, dword [rax + 0x2c]
cmp dword [rbp + 0x160], eax
jb 0x42836a
jmp 0x428796
nop
jmp 0x428796
nop
jmp 0x428796
nop
mov rax, qword [rbp + 0x188]
mov eax, dword [rax + 0x2c]
cmp dword [rbp + 0x160], eax
jae 0x4287b4
lea rcx, str.Missing_Version_Needs_information_n
call fcn.0045d7fb
mov rax, qword [rbp + 0xd8]
mov rcx, rax
call sub.msvcrt.dll_free
jmp 0x42920f
mov rax, qword [rbp + 0x188]
mov edx, dword [rax + 0x28]
mov rax, qword [rbp + 0x1b0]
mov eax, dword [rax + 0x5c]
cmp edx, eax
jae 0x429208
mov rax, qword [rbp + 0x1b0]
mov rdx, qword [rax + 0x68]
mov rax, qword [rbp + 0x188]
mov eax, dword [rax + 0x28]
mov ecx, eax
mov rax, rcx
shl rax, 2
add rax, rcx
shl rax, 4
add rax, rdx
mov qword [rbp + 0x120], rax
mov rax, qword [rbp + 0x188]
mov rax, qword [rax + 0x20]
shr rax, 1
mov qword [rbp + 0x118], rax
mov rax, qword [rbp + 0x120]
mov edx, dword [rax + 0x28]
mov rax, qword [rbp + 0x1b0]
mov eax, dword [rax + 0x5c]
cmp edx, eax
jae 0x42920b
mov dword [rbp + 0x180], 1
mov eax, dword [0x004a83bc]
test eax, eax
je 0x428877
lea rdx, [rbp + 0x7c]
mov rax, qword [rbp + 0x120]
mov r8, rdx
mov rdx, rax
mov rcx, qword [rbp + 0x1b0]
call fcn.0041b9e5
jmp 0x428894
lea rdx, [rbp + 0x7c]
mov rax, qword [rbp + 0x120]
mov r8, rdx
mov rdx, rax
mov rcx, qword [rbp + 0x1b0]
call fcn.0041bef0
mov qword [rbp + 0x110], rax
cmp qword [rbp + 0x110], 0
je 0x42920e
mov rax, qword [rbp + 0x1b0]
mov rdx, qword [rax + 0x68]
mov rax, qword [rbp + 0x120]
mov eax, dword [rax + 0x28]
mov ecx, eax
mov rax, rcx
shl rax, 2
add rax, rcx
shl rax, 4
add rax, rdx
mov qword [rbp + 0x108], rax
mov rax, qword [rbp + 0x108]
mov rax, qword [rax + 0x20]
mov rdx, qword [rbp + 0x108]
mov rdx, qword [rdx + 0x18]
mov ecx, edx
lea rdx, str.version_string_table
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
mov r9d, 1
mov r8d, ecx
mov rdx, qword [rbp + 0x1b0]
mov ecx, 0
call fcn.0040be81
mov qword [rbp + 0x100], rax
cmp qword [rbp + 0x100], 0
jne 0x428940
mov rax, qword [rbp + 0x110]
mov rcx, rax
call sub.msvcrt.dll_free
jmp 0x42920f
mov rax, qword [rbp + 0x118]
mov ebx, eax
mov rax, qword [rbp + 0x188]
mov rdx, rax
mov rcx, qword [rbp + 0x1b0]
call fcn.0040c3b9
mov rdx, rax
cmp qword [rbp + 0x118], 1
jne 0x428975
lea rax, str._nVersion_symbols_section__s_contains__lu_entry:_n
jmp 0x42897c
lea rax, str._nVersion_symbols_section__s_contains__lu_entries:_n
mov r8d, ebx
mov rcx, rax
call sub.msvcrt.dll_printf
lea rcx, str._Addr:
call sub.msvcrt.dll_printf
mov rax, qword [rbp + 0x188]
mov rbx, qword [rax + 0x10]
mov rax, qword [sym.imp.msvcrt.dll___iob_func]
call rax
add rax, 0x30
mov r8, rbx
lea rdx, [0x0048482e]
mov rcx, rax
call sub.msvcrt.dll_fprintf
mov rax, qword [rbp + 0x120]
mov rdx, rax
mov rcx, qword [rbp + 0x1b0]
call fcn.0040c3b9
mov rcx, rax
mov rax, qword [rbp + 0x188]
mov edx, dword [rax + 0x28]
mov rax, qword [rbp + 0x188]
mov rax, qword [rax + 0x18]
mov r9, rcx
mov r8d, edx
mov edx, eax
lea rcx, str.__Offset:__08lx__Link:__u___s__n
call sub.msvcrt.dll_printf
mov rax, qword [rbp + 0x118]
lea rdx, [rax + rax]
mov rax, qword [0x004a8358]
mov r8, rdx
mov rdx, rax
mov rcx, qword [rbp + 0x1b0]
call fcn.0041b0d1
mov dword [rbp + 0xfc], eax
mov edx, dword [rbp + 0xfc]
mov rcx, qword [rbp + 0x118]
lea rax, str.version_symbol_data
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 2
mov r9, rcx
mov r8d, edx
mov rdx, qword [rbp + 0x1b0]
mov ecx, 0
call fcn.0040be81
mov qword [rbp + 0xf0], rax
cmp qword [rbp + 0xf0], 0
jne 0x428a96
mov rax, qword [rbp + 0x100]
mov rcx, rax
call sub.msvcrt.dll_free
mov rax, qword [rbp + 0x110]
mov rcx, rax
call sub.msvcrt.dll_free
jmp 0x42920f
mov rax, qword [rbp + 0x118]
mov edx, 2
mov rcx, rax
call fcn.0045c4b7
mov qword [rbp + 0xe8], rax
mov rax, qword [rbp + 0x118]
mov dword [rbp + 0x14c], eax
jmp 0x428b01
mov rax, qword [0x004a2e00]
mov rax, qword [rax]
mov edx, dword [rbp + 0x14c]
lea rcx, [rdx + rdx]
mov rdx, qword [rbp + 0xf0]
add rcx, rdx
mov edx, 2
call rax
mov rcx, rax
mov eax, dword [rbp + 0x14c]
lea rdx, [rax + rax]
mov rax, qword [rbp + 0xe8]
add rax, rdx
mov edx, ecx
mov word [rax], dx
mov eax, dword [rbp + 0x14c]
lea edx, [rax - 1]
mov dword [rbp + 0x14c], edx
test eax, eax
jne 0x428ac0
mov rax, qword [rbp + 0xf0]
mov rcx, rax
call sub.msvcrt.dll_free
mov dword [rbp + 0x14c], 0
jmp 0x4291c0
lea rax, str.invalid
mov qword [rbp + 0xe0], rax
mov eax, dword [rbp + 0x14c]
mov edx, eax
lea rcx, str.___03x:
call sub.msvcrt.dll_printf
mov dword [rbp + 0x148], 0
jmp 0x429189
mov edx, dword [rbp + 0x148]
mov eax, dword [rbp + 0x14c]
add eax, edx
mov eax, eax
lea rdx, [rax + rax]
mov rax, qword [rbp + 0xe8]
add rax, rdx
movzx eax, word [rax]
movzx eax, ax
test eax, eax
je 0x428b92
cmp eax, 1
je 0x428bbe
jmp 0x428bea
mov rax, qword [sym.imp.msvcrt.dll___iob_func]
call rax
add rax, 0x30
mov r9, rax
mov r8d, 0x12
mov edx, 1
lea rcx, str.___0__local_
call sub.msvcrt.dll_fwrite
jmp 0x429182
mov rax, qword [sym.imp.msvcrt.dll___iob_func]
call rax
add rax, 0x30
mov r9, rax
mov r8d, 0x12
mov edx, 1
lea rcx, str.___1__global_
call sub.msvcrt.dll_fwrite
jmp 0x429182
mov edx, dword [rbp + 0x148]
mov eax, dword [rbp + 0x14c]
add eax, edx
mov eax, eax
lea rdx, [rax + rax]
mov rax, qword [rbp + 0xe8]
add rax, rdx
movzx eax, word [rax]
test ax, ax
jns 0x428c17
mov ecx, 0x68
jmp 0x428c1c
mov ecx, 0x20
mov edx, dword [rbp + 0x148]
mov eax, dword [rbp + 0x14c]
add eax, edx
mov eax, eax
lea rdx, [rax + rax]
mov rax, qword [rbp + 0xe8]
add rax, rdx
movzx eax, word [rax]
movzx eax, ax
and eax, 0x7fff
mov r8d, ecx
mov edx, eax
lea rcx, str._4x_c
call sub.msvcrt.dll_printf
mov dword [rbp + 0x144], eax
mov edx, dword [rbp + 0x148]
mov eax, dword [rbp + 0x14c]
add edx, eax
mov eax, dword [rbp + 0x7c]
cmp edx, eax
jb 0x428c82
lea rcx, str.invalid_index_into_symbol_array_n
call fcn.0045d7fb
jmp 0x429182
mov qword [rbp + 0x138], 0
mov rax, qword [0x004a82e8]
test rax, rax
je 0x428ea4
mov rax, qword [0x004a82e8]
mov r8d, 0x10
mov rdx, rax
mov rcx, qword [rbp + 0x1b0]
call fcn.0041b0d1
mov dword [rbp + 0x134], eax
mov ecx, dword [rbp + 0x134]
lea rax, [rbp + 0x60]
lea rdx, str.version_need
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], 1
mov r9d, 0x10
mov r8d, ecx
mov rdx, qword [rbp + 0x1b0]
mov rcx, rax
call fcn.0040be81
test rax, rax
je 0x428ea3
mov rax, qword [0x004a2e00]
mov rax, qword [rax]
lea rdx, [rbp + 0x60]
lea rcx, [rdx + 8]
mov edx, 4
call rax
mov dword [rbp - 0x28], eax
mov rax, qword [0x004a2e00]
mov rax, qword [rax]
lea rdx, [rbp + 0x60]
lea rcx, [rdx + 0xc]
mov edx, 4
call rax
mov dword [rbp - 0x24], eax
mov edx, dword [rbp - 0x28]
mov eax, dword [rbp + 0x134]
add eax, edx
mov dword [rbp + 0x130], eax
mov ecx, dword [rbp + 0x130]
lea rax, [rbp + 0x50]
lea rdx, str.version_need_aux__2_
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], 1
mov r9d, 0x10
mov r8d, ecx
mov rdx, qword [rbp + 0x1b0]
mov rcx, rax
call fcn.0040be81
test rax, rax
jne 0x428d93
mov dword [rbp - 0x44], 0
mov word [rbp - 0x4a], 0
jmp 0x428dcc
mov rax, qword [0x004a2e00]
mov rax, qword [rax]
lea rdx, [rbp + 0x50]
lea rcx, [rdx + 0xc]
mov edx, 4
call rax
mov dword [rbp - 0x44], eax
mov rax, qword [0x004a2e00]
mov rax, qword [rax]
lea rdx, [rbp + 0x50]
lea rcx, [rdx + 6]
mov edx, 2
call rax
mov word [rbp - 0x4a], ax
mov eax, dword [rbp - 0x44]
add dword [rbp + 0x130], eax
movzx edx, word [rbp - 0x4a]
mov ecx, dword [rbp + 0x148]
mov eax, dword [rbp + 0x14c]
add eax, ecx
mov eax, eax
lea rcx, [rax + rax]
mov rax, qword [rbp + 0xe8]
add rax, rcx
movzx eax, word [rax]
cmp dx, ax
je 0x428e0a
mov eax, dword [rbp - 0x44]
test eax, eax
jne 0x428d48
movzx edx, word [rbp - 0x4a]
mov ecx, dword [rbp + 0x148]
mov eax, dword [rbp + 0x14c]
add eax, ecx
mov eax, eax
lea rcx, [rax + rax]
mov rax, qword [rbp + 0xe8]
add rax, rcx
movzx eax, word [rax]
cmp dx, ax
jne 0x428e8d
mov rax, qword [0x004a2e00]
mov rax, qword [rax]
lea rdx, [rbp + 0x50]
lea rcx, [rdx + 8]
mov edx, 4
call rax
mov dword [rbp - 0x48], eax
mov eax, dword [rbp - 0x48]
mov edx, eax
mov rax, qword [rbp + 0x108]
mov rax, qword [rax + 0x20]
cmp rdx, rax
jb 0x428e75
mov rax, qword [rbp + 0xe0]
mov qword [rbp + 0x138], rax
jmp 0x428ea4
mov eax, dword [rbp - 0x48]
mov edx, eax
mov rax, qword [rbp + 0x100]
add rax, rdx
mov qword [rbp + 0x138], rax
jmp 0x428ea4
mov eax, dword [rbp - 0x24]
add dword [rbp + 0x134], eax
mov eax, dword [rbp - 0x24]
test eax, eax
jne 0x428cbf
jmp 0x428ea4
nop
mov edx, dword [rbp + 0x148]
mov eax, dword [rbp + 0x14c]
add eax, edx
mov eax, eax
lea rdx, [rax + rax]
mov rax, qword [rbp + 0xe8]
add rax, rdx
movzx eax, word [rax]
cmp ax, 0x8001
je 0x429114
mov rax, qword [0x004a82f8]
test rax, rax
je 0x429114
mov rax, qword [0x004a82f8]
mov r8d, 0x14
mov rdx, rax
mov rcx, qword [rbp + 0x1b0]
call fcn.0041b0d1
mov dword [rbp + 0x12c], eax
mov ecx, dword [rbp + 0x12c]
lea rax, [rbp + 0x30]
lea rdx, str.version_def
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], 1
mov r9d, 0x14
mov r8d, ecx
mov rdx, qword [rbp + 0x1b0]
mov rcx, rax
call fcn.0040be81
test rax, rax
jne 0x428f75
mov dword [rbp - 0x20], 0
mov edx, dword [rbp + 0x148]
mov eax, dword [rbp + 0x14c]
add eax, edx
mov eax, eax
lea rdx, [rax + rax]
mov rax, qword [rbp + 0xe8]
add rax, rdx
movzx eax, word [rax]
and ax, 0x7fff
add eax, 1
mov word [rbp - 0x2c], ax
jmp 0x428ff7
mov rax, qword [0x004a2e00]
mov rax, qword [rax]
lea rdx, [rbp + 0x30]
lea rcx, [rdx + 0x10]
mov edx, 4
call rax
mov dword [rbp - 0x20], eax
mov rax, qword [0x004a2e00]
mov rax, qword [rax]
lea rdx, [rbp + 0x30]
lea rcx, [rdx + 4]
mov edx, 2
call rax
mov word [rbp - 0x2c], ax
mov eax, dword [rbp - 0x20]
add dword [rbp + 0x12c], eax
movzx eax, word [rbp - 0x2c]
movzx eax, ax
mov ecx, dword [rbp + 0x148]
mov edx, dword [rbp + 0x14c]
add edx, ecx
mov edx, edx
lea rcx, [rdx + rdx]
mov rdx, qword [rbp + 0xe8]
add rdx, rcx
movzx edx, word [rdx]
movzx edx, dx
and edx, 0x7fff
cmp eax, edx
je 0x428ff7
mov eax, dword [rbp - 0x20]
test eax, eax
jne 0x428f01
movzx eax, word [rbp - 0x2c]
movzx eax, ax
mov ecx, dword [rbp + 0x148]
mov edx, dword [rbp + 0x14c]
add edx, ecx
mov edx, edx
lea rcx, [rdx + rdx]
mov rdx, qword [rbp + 0xe8]
add rdx, rcx
movzx edx, word [rdx]
movzx edx, dx
and edx, 0x7fff
cmp eax, edx
jne 0x429114
mov rax, qword [0x004a2e00]
mov rax, qword [rax]
lea rdx, [rbp + 0x30]
lea rcx, [rdx + 0xc]
mov edx, 4
call rax
mov dword [rbp - 0x24], eax
mov eax, dword [rbp - 0x20]
mov edx, dword [rbp + 0x12c]
sub edx, eax
mov eax, dword [rbp - 0x24]
lea ecx, [rdx + rax]
lea rax, [rbp + 0x28]
lea rdx, str.version_def_aux
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], 1
mov r9d, 8
mov r8d, ecx
mov rdx, qword [rbp + 0x1b0]
mov rcx, rax
call fcn.0040be81
test rax, rax
je 0x429182
mov rax, qword [0x004a2e00]
mov rax, qword [rax]
lea rcx, [rbp + 0x28]
mov edx, 4
call rax
mov dword [rbp + 0x10], eax
mov eax, dword [rbp + 0x10]
mov edx, eax
mov rax, qword [rbp + 0x108]
mov rax, qword [rax + 0x20]
cmp rdx, rax
jb 0x4290d4
mov rax, qword [rbp + 0xe0]
mov qword [rbp + 0x138], rax
jmp 0x429114
cmp qword [rbp + 0x138], 0
je 0x4290fe
mov rax, qword [rbp + 0x138]
cmp rax, qword [rbp + 0xe0]
je 0x4290fe
lea rax, str.both
mov qword [rbp + 0x138], rax
jmp 0x429114
mov eax, dword [rbp + 0x10]
mov edx, eax
mov rax, qword [rbp + 0x100]
add rax, rdx
mov qword [rbp + 0x138], rax
cmp qword [rbp + 0x138], 0
je 0x42915a
mov rax, qword [rbp + 0x138]
mov rcx, rax
call sub.msvcrt.dll_strlen
mov edx, 0xc
sub edx, eax
mov rax, qword [rbp + 0x138]
lea r9, [0x0048c51e]
mov r8d, edx
mov rdx, rax
lea rcx, str.__s__s
call sub.msvcrt.dll_printf
add dword [rbp + 0x144], eax
cmp dword [rbp + 0x144], 0x11
jg 0x429182
mov eax, 0x12
sub eax, dword [rbp + 0x144]
mov r8d, 0x20
mov edx, eax
lea rcx, [0x00484d3d]
call sub.msvcrt.dll_printf
add dword [rbp + 0x148], 1
cmp dword [rbp + 0x148], 3
jg 0x4291af
mov edx, dword [rbp + 0x148]
mov eax, dword [rbp + 0x14c]
add eax, edx
mov eax, eax
cmp qword [rbp + 0x118], rax
ja 0x428b63
mov ecx, 0xa
call sub.msvcrt.dll_putchar
add dword [rbp + 0x14c], 4
mov eax, dword [rbp + 0x14c]
cmp qword [rbp + 0x118], rax
ja 0x428b32
mov rax, qword [rbp + 0xe8]
mov rcx, rax
call sub.msvcrt.dll_free
mov rax, qword [rbp + 0x100]
mov rcx, rax
call sub.msvcrt.dll_free
mov rax, qword [rbp + 0x110]
mov rcx, rax
call sub.msvcrt.dll_free
jmp 0x42920f
nop
jmp 0x42920f
nop
jmp 0x42920f
nop
jmp 0x42920f
nop
jmp 0x42920f
nop
add dword [rbp + 0x184], 1
add qword [rbp + 0x188], 0x50
mov rax, qword [rbp + 0x1b0]
mov eax, dword [rax + 0x5c]
cmp dword [rbp + 0x184], eax
jb 0x427b9b
cmp dword [rbp + 0x180], 0
jne 0x429249
lea rcx, str._nNo_version_information_found_in_this_file.
call sub.msvcrt.dll_puts
mov eax, 1
add rsp, 0x218
pop rbx
pop rbp
ret