Function at 0x4711b1
Capabilities:
Write file on windows

Disassembly:
push rbp
sub rsp, 0x120
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xb0], rcx
mov qword [rbp + 0xb8], rdx
mov rax, qword [rbp + 0xb8]
mov qword [rbp + 0x48], rax
mov qword [rbp - 8], 0
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax + 0xf0]
mov rax, qword [rax + 0x58]
mov qword [rbp + 0x98], rax
cmp qword [rbp + 0x98], 0
je 0x4714d5
mov rax, qword [rbp + 0x48]
mov r9, rax
mov r8d, 0x11
mov edx, 1
lea rcx, str._nProgram_Header:_n
call sub.msvcrt.dll_fwrite
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax + 0xf0]
mov eax, dword [rax + 0x3c]
mov dword [rbp + 0x44], eax
mov dword [rbp + 0x94], 0
jmp 0x4714c6
mov rax, qword [rbp + 0x98]
mov eax, dword [rax]
mov ecx, eax
call fcn.0047108d
mov qword [rbp + 0x88], rax
cmp qword [rbp + 0x88], 0
jne 0x471295
mov rax, qword [rbp + 0x98]
mov edx, dword [rax]
lea rax, [rbp - 0x20]
mov r8d, edx
lea rdx, str.0x_lx
mov rcx, rax
call sub.msvcrt.dll_sprintf
lea rax, [rbp - 0x20]
mov qword [rbp + 0x88], rax
mov rdx, qword [rbp + 0x88]
mov rax, qword [rbp + 0x48]
mov r8, rdx
lea rdx, str._8s_off____0x
mov rcx, rax
call sub.msvcrt.dll_fprintf
mov rax, qword [rbp + 0x98]
mov rdx, qword [rax + 8]
mov rax, qword [rbp + 0x48]
mov r8, rdx
mov rdx, rax
mov rcx, qword [rbp + 0xb0]
call fcn.0043a18a
mov rax, qword [rbp + 0x48]
mov r9, rax
mov r8d, 9
mov edx, 1
lea rcx, str._vaddr_0x
call sub.msvcrt.dll_fwrite
mov rax, qword [rbp + 0x98]
mov rdx, qword [rax + 0x10]
mov rax, qword [rbp + 0x48]
mov r8, rdx
mov rdx, rax
mov rcx, qword [rbp + 0xb0]
call fcn.0043a18a
mov rax, qword [rbp + 0x48]
mov r9, rax
mov r8d, 9
mov edx, 1
lea rcx, str._paddr_0x
call sub.msvcrt.dll_fwrite
mov rax, qword [rbp + 0x98]
mov rdx, qword [rax + 0x18]
mov rax, qword [rbp + 0x48]
mov r8, rdx
mov rdx, rax
mov rcx, qword [rbp + 0xb0]
call fcn.0043a18a
mov rax, qword [rbp + 0x98]
mov rax, qword [rax + 0x30]
mov rcx, rax
call fcn.004409a5
mov edx, eax
mov rax, qword [rbp + 0x48]
mov r8d, edx
lea rdx, str._align_2_u_n
mov rcx, rax
call sub.msvcrt.dll_fprintf
mov rax, qword [rbp + 0x48]
mov r9, rax
mov r8d, 0x12
mov edx, 1
lea rcx, str._________filesz_0x
call sub.msvcrt.dll_fwrite
mov rax, qword [rbp + 0x98]
mov rdx, qword [rax + 0x20]
mov rax, qword [rbp + 0x48]
mov r8, rdx
mov rdx, rax
mov rcx, qword [rbp + 0xb0]
call fcn.0043a18a
mov rax, qword [rbp + 0x48]
mov r9, rax
mov r8d, 9
mov edx, 1
lea rcx, str._memsz_0x
call sub.msvcrt.dll_fwrite
mov rax, qword [rbp + 0x98]
mov rdx, qword [rax + 0x28]
mov rax, qword [rbp + 0x48]
mov r8, rdx
mov rdx, rax
mov rcx, qword [rbp + 0xb0]
call fcn.0043a18a
mov rax, qword [rbp + 0x98]
mov eax, dword [rax + 4]
and eax, 1
test eax, eax
je 0x471412
mov edx, 0x78
jmp 0x471417
mov edx, 0x2d
mov rax, qword [rbp + 0x98]
mov eax, dword [rax + 4]
and eax, 2
test eax, eax
je 0x471430
mov r8d, 0x77
jmp 0x471436
mov r8d, 0x2d
mov rax, qword [rbp + 0x98]
mov eax, dword [rax + 4]
and eax, 4
test eax, eax
je 0x47144e
mov ecx, 0x72
jmp 0x471453
mov ecx, 0x2d
mov rax, qword [rbp + 0x48]
mov dword [rsp + 0x20], edx
mov r9d, r8d
mov r8d, ecx
lea rdx, str._flags__c_c_c
mov rcx, rax
call sub.msvcrt.dll_fprintf
mov rax, qword [rbp + 0x98]
mov eax, dword [rax + 4]
and eax, 0xfffffff8
test eax, eax
je 0x4714a6
mov rax, qword [rbp + 0x98]
mov eax, dword [rax + 4]
and eax, 0xfffffff8
mov edx, eax
mov rax, qword [rbp + 0x48]
mov r8d, edx
lea rdx, str.__lx
mov rcx, rax
call sub.msvcrt.dll_fprintf
mov rax, qword [rbp + 0x48]
mov rdx, rax
mov ecx, 0xa
call sub.msvcrt.dll_fputc
add dword [rbp + 0x94], 1
add qword [rbp + 0x98], 0x38
mov eax, dword [rbp + 0x94]
cmp eax, dword [rbp + 0x44]
jb 0x47124a
lea rdx, [0x00576052]
mov rcx, qword [rbp + 0xb0]
call fcn.00449a52
mov qword [rbp + 0x38], rax
cmp qword [rbp + 0x38], 0
je 0x471e43
mov rax, qword [rbp + 0x48]
mov r9, rax
mov r8d, 0x12
mov edx, 1
lea rcx, str._nDynamic_Section:_n
call sub.msvcrt.dll_fwrite
lea rdx, [rbp - 8]
mov rax, qword [rbp + 0x38]
mov r8, rdx
mov rdx, rax
mov rcx, qword [rbp + 0xb0]
call fcn.0044a5fa
test eax, eax
je 0x472142
mov rax, qword [rbp + 0x38]
mov rdx, rax
mov rcx, qword [rbp + 0xb0]
call fcn.0047ccdc
mov dword [rbp + 0x34], eax
cmp dword [rbp + 0x34], 0xfffffeff
je 0x472145
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax + 0xf0]
mov rax, qword [rax + 0x50]
mov edx, dword [rbp + 0x34]
shl rdx, 3
add rax, rdx
mov rax, qword [rax]
mov eax, dword [rax + 0x28]
mov dword [rbp + 0x30], eax
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x368]
mov rax, qword [rax + 0x300]
movzx eax, byte [rax + 6]
movzx eax, al
mov qword [rbp + 0x28], rax
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x368]
mov rax, qword [rax + 0x300]
mov rax, qword [rax + 0x50]
mov qword [rbp + 0x20], rax
mov rax, qword [rbp - 8]
mov qword [rbp + 0x80], rax
mov rax, qword [rbp + 0x38]
mov rax, qword [rax + 0x38]
cmp qword [rbp + 0x28], rax
ja 0x472148
mov rax, qword [rbp + 0x38]
mov rdx, qword [rax + 0x38]
mov rax, qword [rbp + 0x80]
add rax, rdx
mov qword [rbp + 0x18], rax
jmp 0x471e0e
lea rax, [0x00575a49]
mov qword [rbp + 0x78], rax
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x368]
mov qword [rbp + 0x10], rax
lea rcx, [rbp - 0x30]
mov rdx, qword [rbp + 0x80]
mov rax, qword [rbp + 0x20]
mov r8, rcx
mov rcx, qword [rbp + 0xb0]
call rax
mov rax, qword [rbp - 0x30]
test rax, rax
je 0x471e2e
mov dword [rbp + 0x74], 0
mov rax, qword [rbp - 0x30]
cmp rax, 0x1d
je 0x471b6b
cmp rax, 0x1d
ja 0x4717a0
cmp rax, 0xe
je 0x471a6d
cmp rax, 0xe
ja 0x47170c
cmp rax, 7
je 0x4719fd
cmp rax, 7
ja 0x4716ca
cmp rax, 3
je 0x4719bd
cmp rax, 3
ja 0x4716b1
cmp rax, 1
je 0x471996
cmp rax, 2
je 0x4719ad
jmp 0x471935
cmp rax, 5
je 0x4719dd
cmp rax, 5
ja 0x4719ed
jmp 0x4719cd
cmp rax, 0xa
je 0x471a2d
cmp rax, 0xa
ja 0x4716f3
cmp rax, 8
je 0x471a0d
cmp rax, 9
je 0x471a1d
jmp 0x471935
cmp rax, 0xc
je 0x471a4d
cmp rax, 0xc
ja 0x471a5d
jmp 0x471a3d
cmp rax, 0x15
je 0x471aeb
cmp rax, 0x15
ja 0x47175e
cmp rax, 0x11
je 0x471aab
cmp rax, 0x11
ja 0x471745
cmp rax, 0xf
je 0x471a84
cmp rax, 0x10
je 0x471a9b
jmp 0x471935
cmp rax, 0x13
je 0x471acb
cmp rax, 0x13
ja 0x471adb
jmp 0x471abb
cmp rax, 0x19
je 0x471b2b
cmp rax, 0x19
ja 0x471787
cmp rax, 0x17
je 0x471b0b
cmp rax, 0x17
ja 0x471b1b
jmp 0x471afb
cmp rax, 0x1b
je 0x471b4b
cmp rax, 0x1b
ja 0x471b5b
jmp 0x471b3b
cmp rax, 0x6ffffefc
je 0x471c60
cmp rax, 0x6ffffefc
ja 0x471878
cmp rax, 0x6ffffdfb
je 0x471be2
cmp rax, 0x6ffffdfb
ja 0x47181e
cmp rax, 0x21
je 0x471ba2
cmp rax, 0x21
ja 0x4717f5
cmp rax, 0x1e
je 0x471b82
cmp rax, 0x20
je 0x471b92
jmp 0x471935
cmp rax, 0x6ffffdf9
je 0x471bc2
cmp rax, 0x6ffffdf9
ja 0x471bd2
cmp rax, 0x6ffffdf8
je 0x471bb2
jmp 0x471935
cmp rax, 0x6ffffdff
je 0x471c22
cmp rax, 0x6ffffdff
ja 0x47184f
cmp rax, 0x6ffffdfd
je 0x471c02
cmp rax, 0x6ffffdfd
ja 0x471c12
jmp 0x471bf2
cmp rax, 0x6ffffefa
je 0x471c32
cmp rax, 0x6ffffefa
ja 0x471c49
cmp rax, 0x6ffffef5
je 0x471d4d
jmp 0x471935
cmp rax, 0x6ffffffb
je 0x471cc7
cmp rax, 0x6ffffffb
ja 0x4718e0
cmp rax, 0x6ffffeff
je 0x471c97
cmp rax, 0x6ffffeff
ja 0x4718ba
cmp rax, 0x6ffffefd
je 0x471c77
cmp rax, 0x6ffffefe
je 0x471c87
jmp 0x471935
cmp rax, 0x6ffffff9
je 0x471ca7
cmp rax, 0x6ffffff9
ja 0x471cb7
cmp rax, 0x6ffffff0
je 0x471cd7
jmp 0x471935
cmp rax, 0x6fffffff
je 0x471d0b
cmp rax, 0x6fffffff
ja 0x471911
cmp rax, 0x6ffffffd
je 0x471cf1
cmp rax, 0x6ffffffd
ja 0x471cfe
jmp 0x471ce4
cmp rax, 0x7ffffffe
je 0x471d2c
cmp rax, 0x7fffffff
je 0x471d39
cmp rax, 0x7ffffffd
je 0x471d18
mov rax, qword [rbp + 0x10]
mov rax, qword [rax + 0x1d0]
test rax, rax
je 0x47195d
mov rax, qword [rbp + 0x10]
mov rax, qword [rax + 0x1d0]
mov rdx, qword [rbp - 0x30]
mov rcx, rdx
call rax
mov qword [rbp + 0x78], rax
mov rax, qword [rbp + 0x78]
movzx eax, byte [rax]
movzx eax, al
test eax, eax
jne 0x471d5a
mov rdx, qword [rbp - 0x30]
lea rax, [rbp - 0x50]
mov r8, rdx
lea rdx, str._I64x
mov rcx, rax
call sub.msvcrt.dll_sprintf
lea rax, [rbp - 0x50]
mov qword [rbp + 0x78], rax
jmp 0x471d5a
lea rax, str.NEEDED
mov qword [rbp + 0x78], rax
mov dword [rbp + 0x74], 1
jmp 0x471d5b
lea rax, str.PLTRELSZ
mov qword [rbp + 0x78], rax
jmp 0x471d5b
lea rax, str.PLTGOT
mov qword [rbp + 0x78], rax
jmp 0x471d5b
lea rax, str.HASH
mov qword [rbp + 0x78], rax
jmp 0x471d5b
lea rax, str.STRTAB
mov qword [rbp + 0x78], rax
jmp 0x471d5b
lea rax, str.SYMTAB
mov qword [rbp + 0x78], rax
jmp 0x471d5b
lea rax, str.RELA
mov qword [rbp + 0x78], rax
jmp 0x471d5b
lea rax, str.RELASZ
mov qword [rbp + 0x78], rax
jmp 0x471d5b
lea rax, str.RELAENT
mov qword [rbp + 0x78], rax
jmp 0x471d5b
lea rax, str.STRSZ
mov qword [rbp + 0x78], rax
jmp 0x471d5b
lea rax, str.SYMENT
mov qword [rbp + 0x78], rax
jmp 0x471d5b
lea rax, str.INIT
mov qword [rbp + 0x78], rax
jmp 0x471d5b
lea rax, str.FINI
mov qword [rbp + 0x78], rax
jmp 0x471d5b
lea rax, str.SONAME
mov qword [rbp + 0x78], rax
mov dword [rbp + 0x74], 1
jmp 0x471d5b
lea rax, str.RPATH
mov qword [rbp + 0x78], rax
mov dword [rbp + 0x74], 1
jmp 0x471d5b
lea rax, str.SYMBOLIC
mov qword [rbp + 0x78], rax
jmp 0x471d5b
lea rax, [0x005760e0]
mov qword [rbp + 0x78], rax
jmp 0x471d5b
lea rax, str.RELSZ
mov qword [rbp + 0x78], rax
jmp 0x471d5b
lea rax, str.RELENT
mov qword [rbp + 0x78], rax
jmp 0x471d5b
lea rax, str.PLTREL
mov qword [rbp + 0x78], rax
jmp 0x471d5b
lea rax, str.DEBUG
mov qword [rbp + 0x78], rax
jmp 0x471d5b
lea rax, str.TEXTREL
mov qword [rbp + 0x78], rax
jmp 0x471d5b
lea rax, str.JMPREL
mov qword [rbp + 0x78], rax
jmp 0x471d5b
lea rax, str.BIND_NOW
mov qword [rbp + 0x78], rax
jmp 0x471d5b
lea rax, str.INIT_ARRAY
mov qword [rbp + 0x78], rax
jmp 0x471d5b
lea rax, str.FINI_ARRAY
mov qword [rbp + 0x78], rax
jmp 0x471d5b
lea rax, str.INIT_ARRAYSZ
mov qword [rbp + 0x78], rax
jmp 0x471d5b
lea rax, str.FINI_ARRAYSZ
mov qword [rbp + 0x78], rax
jmp 0x471d5b
lea rax, str.RUNPATH
mov qword [rbp + 0x78], rax
mov dword [rbp + 0x74], 1
jmp 0x471d5b
lea rax, str.FLAGS
mov qword [rbp + 0x78], rax
jmp 0x471d5b
lea rax, str.PREINIT_ARRAY
mov qword [rbp + 0x78], rax
jmp 0x471d5b
lea rax, str.PREINIT_ARRAYSZ
mov qword [rbp + 0x78], rax
jmp 0x471d5b
lea rax, str.CHECKSUM
mov qword [rbp + 0x78], rax
jmp 0x471d5b
lea rax, str.PLTPADSZ
mov qword [rbp + 0x78], rax
jmp 0x471d5b
lea rax, str.MOVEENT
mov qword [rbp + 0x78], rax
jmp 0x471d5b
lea rax, str.MOVESZ
mov qword [rbp + 0x78], rax
jmp 0x471d5b
lea rax, str.FEATURE
mov qword [rbp + 0x78], rax
jmp 0x471d5b
lea rax, str.POSFLAG_1
mov qword [rbp + 0x78], rax
jmp 0x471d5b
lea rax, str.SYMINSZ
mov qword [rbp + 0x78], rax
jmp 0x471d5b
lea rax, str.SYMINENT
mov qword [rbp + 0x78], rax
jmp 0x471d5b
lea rax, str.CONFIG
mov qword [rbp + 0x78], rax
mov dword [rbp + 0x74], 1
jmp 0x471d5b
lea rax, str.DEPAUDIT
mov qword [rbp + 0x78], rax
mov dword [rbp + 0x74], 1
jmp 0x471d5b
lea rax, str.AUDIT
mov qword [rbp + 0x78], rax
mov dword [rbp + 0x74], 1
jmp 0x471d5b
lea rax, str.PLTPAD
mov qword [rbp + 0x78], rax
jmp 0x471d5b
lea rax, str.MOVETAB
mov qword [rbp + 0x78], rax
jmp 0x471d5b
lea rax, str.SYMINFO
mov qword [rbp + 0x78], rax
jmp 0x471d5b
lea rax, str.RELACOUNT
mov qword [rbp + 0x78], rax
jmp 0x471d5b
lea rax, str.RELCOUNT
mov qword [rbp + 0x78], rax
jmp 0x471d5b
lea rax, str.FLAGS_1
mov qword [rbp + 0x78], rax
jmp 0x471d5b
lea rax, str.VERSYM
mov qword [rbp + 0x78], rax
jmp 0x471d5b
lea rax, str.VERDEF
mov qword [rbp + 0x78], rax
jmp 0x471d5b
lea rax, str.VERDEFNUM
mov qword [rbp + 0x78], rax
jmp 0x471d5b
lea rax, str.VERNEED
mov qword [rbp + 0x78], rax
jmp 0x471d5b
lea rax, str.VERNEEDNUM
mov qword [rbp + 0x78], rax
jmp 0x471d5b
lea rax, str.AUXILIARY
mov qword [rbp + 0x78], rax
mov dword [rbp + 0x74], 1
jmp 0x471d5b
lea rax, str.USED
mov qword [rbp + 0x78], rax
jmp 0x471d5b
lea rax, str.FILTER
mov qword [rbp + 0x78], rax
mov dword [rbp + 0x74], 1
jmp 0x471d5b
lea rax, str.GNU_HASH
mov qword [rbp + 0x78], rax
jmp 0x471d5b
nop
mov rdx, qword [rbp + 0x78]
mov rax, qword [rbp + 0x48]
mov r8, rdx
lea rdx, str.____20s
mov rcx, rax
call sub.msvcrt.dll_fprintf
cmp dword [rbp + 0x74], 0
jne 0x471db5
mov rax, qword [rbp + 0x48]
mov r9, rax
mov r8d, 2
mov edx, 1
lea rcx, [0x00576251]
call sub.msvcrt.dll_fwrite
mov rdx, qword [rbp - 0x28]
mov rax, qword [rbp + 0x48]
mov r8, rdx
mov rdx, rax
mov rcx, qword [rbp + 0xb0]
call fcn.0043a18a
jmp 0x471df2
mov rax, qword [rbp - 0x28]
mov dword [rbp + 0xc], eax
mov edx, dword [rbp + 0xc]
mov eax, dword [rbp + 0x30]
mov r8d, edx
mov edx, eax
mov rcx, qword [rbp + 0xb0]
call fcn.0046e7fb
mov qword [rbp], rax
cmp qword [rbp], 0
je 0x47214b
mov rdx, qword [rbp + 0x48]
mov rax, qword [rbp]
mov rcx, rax
call sub.msvcrt.dll_fputs
mov rax, qword [rbp + 0x48]
mov rdx, rax
mov ecx, 0xa
call sub.msvcrt.dll_fputc
mov rax, qword [rbp + 0x28]
add qword [rbp + 0x80], rax
mov rax, qword [rbp + 0x28]
neg rax
mov rdx, rax
mov rax, qword [rbp + 0x18]
add rax, rdx
cmp qword [rbp + 0x80], rax
jbe 0x4715fc
jmp 0x471e2f
nop
mov rax, qword [rbp - 8]
mov rcx, rax
call sub.msvcrt.dll_free
mov qword [rbp - 8], 0
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax + 0xf0]
mov eax, dword [rax + 0xc7c]
test eax, eax
je 0x471e75
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax + 0xf0]
mov rax, qword [rax + 0x340]
test rax, rax
je 0x471ea7
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax + 0xf0]
mov eax, dword [rax + 0xc80]
test eax, eax
je 0x471ec6
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax + 0xf0]
mov rax, qword [rax + 0x348]
test rax, rax
jne 0x471ec6
mov edx, 0
mov rcx, qword [rbp + 0xb0]
call fcn.00481477
test eax, eax
jne 0x471ec6
mov eax, 0
jmp 0x472166
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax + 0xf0]
mov eax, dword [rax + 0xc7c]
test eax, eax
je 0x472025
mov rax, qword [rbp + 0x48]
mov r9, rax
mov r8d, 0x16
mov edx, 1
lea rcx, str._nVersion_definitions:_n
call sub.msvcrt.dll_fwrite
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax + 0xf0]
mov rax, qword [rax + 0x340]
mov qword [rbp + 0x68], rax
jmp 0x47201a
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 0x20]
test rax, rax
je 0x471f35
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 0x20]
jmp 0x471f3c
lea rax, str._corrupt_
mov rdx, qword [rbp + 0x68]
mov edx, dword [rdx + 8]
mov rcx, qword [rbp + 0x68]
movzx ecx, word [rcx + 2]
movzx r9d, cx
mov rcx, qword [rbp + 0x68]
movzx ecx, word [rcx + 4]
movzx r8d, cx
mov rcx, qword [rbp + 0x48]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], edx
lea rdx, str._d_0x_2.2x_0x_8.8lx__s_n
call sub.msvcrt.dll_fprintf
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 0x30]
test rax, rax
je 0x47200e
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 0x30]
mov rax, qword [rax + 0x10]
test rax, rax
je 0x47200e
mov rax, qword [rbp + 0x48]
mov rdx, rax
mov ecx, 9
call sub.msvcrt.dll_fputc
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 0x30]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x60], rax
jmp 0x471ff6
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 8]
test rax, rax
je 0x471fd0
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 8]
jmp 0x471fd7
lea rax, str._corrupt_
mov rcx, qword [rbp + 0x48]
mov r8, rax
lea rdx, [0x0057628d]
call sub.msvcrt.dll_fprintf
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x60], rax
cmp qword [rbp + 0x60], 0
jne 0x471fb9
mov rax, qword [rbp + 0x48]
mov rdx, rax
mov ecx, 0xa
call sub.msvcrt.dll_fputc
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 0x28]
mov qword [rbp + 0x68], rax
cmp qword [rbp + 0x68], 0
jne 0x471f1e
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax + 0xf0]
mov eax, dword [rax + 0xc80]
test eax, eax
je 0x47213b
mov rax, qword [rbp + 0x48]
mov r9, rax
mov r8d, 0x15
mov edx, 1
lea rcx, str._nVersion_References:_n
call sub.msvcrt.dll_fwrite
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax + 0xf0]
mov rax, qword [rax + 0x348]
mov qword [rbp + 0x58], rax
jmp 0x472130
mov rax, qword [rbp + 0x58]
mov rax, qword [rax + 0x18]
test rax, rax
je 0x472094
mov rax, qword [rbp + 0x58]
mov rax, qword [rax + 0x18]
jmp 0x47209b
lea rax, str._corrupt_
mov rcx, qword [rbp + 0x48]
mov r8, rax
lea rdx, str.__required_from__s:_n
call sub.msvcrt.dll_fprintf
mov rax, qword [rbp + 0x58]
mov rax, qword [rax + 0x20]
mov qword [rbp + 0x50], rax
jmp 0x47211d
mov rax, qword [rbp + 0x50]
mov rax, qword [rax + 0x10]
test rax, rax
je 0x4720d3
mov rax, qword [rbp + 0x50]
mov rax, qword [rax + 0x10]
jmp 0x4720da
lea rax, str._corrupt_
mov rdx, qword [rbp + 0x50]
movzx edx, word [rdx + 6]
movzx edx, dx
mov rcx, qword [rbp + 0x50]
movzx ecx, word [rcx + 4]
movzx r9d, cx
mov rcx, qword [rbp + 0x50]
mov r8d, dword [rcx]
mov rcx, qword [rbp + 0x48]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], edx
lea rdx, str.____0x_8.8lx_0x_2.2x__2.2d__s_n
call sub.msvcrt.dll_fprintf
mov rax, qword [rbp + 0x50]
mov rax, qword [rax + 0x18]
mov qword [rbp + 0x50], rax
cmp qword [rbp + 0x50], 0
jne 0x4720bc
mov rax, qword [rbp + 0x58]
mov rax, qword [rax + 0x28]
mov qword [rbp + 0x58], rax
cmp qword [rbp + 0x58], 0
jne 0x47207d
mov eax, 1
jmp 0x472166
nop
jmp 0x47214c
nop
jmp 0x47214c
nop
jmp 0x47214c
nop
mov rax, qword [rbp - 8]
test rax, rax
je 0x472161
mov rax, qword [rbp - 8]
mov rcx, rax
call sub.msvcrt.dll_free
mov eax, 0
add rsp, 0x120
pop rbp
ret