Function at 0x40bc70
Capabilities:
Write file on windows

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x7c
mov dword [esp + 0x2c], eax
mov eax, dword [0x471084]
mov dword [0x471024], 0
test eax, eax
jne 0x40bcc0
mov eax, dword [0x471064]
or eax, dword [0x471060]
jne 0x40bfd0
mov edi, dword [0x4711c8]
test edi, edi
jne 0x40c6a0
mov eax, 1
add esp, 0x7c
pop ebx
pop esi
pop edi
pop ebp
ret
mov esi, dword [0x4711c8]
test esi, esi
je 0x40bcd8
mov ebx, dword [0x4711c4]
test ebx, ebx
je 0x40bff0
mov ecx, dword [0x47109c]
xor edx, edx
mov eax, dword [esp + 0x2c]
test ecx, ecx
je 0x40bf30
call fcn.00402af0
test eax, eax
je 0x40bf3d
mov eax, dword [0x471088]
test eax, eax
jne 0x40bf47
mov edx, dword [0x471084]
mov ebp, dword [0x471024]
mov dword [esp + 0x28], edx
cmp dword [0x47109c], 1
mov dword [0x4713b4], 0
mov dword [0x4713ac], 0
sbb eax, eax
and eax, 4
add eax, 4
mov dword [0x472cac], eax
movzx eax, word [0x471072]
mov dword [0x4713bc], 0
mov dword [0x4710a4], 0
cmp ax, 0x2f
ja 0x40c661
cmp ax, 0x2e
jae 0x40c8b0
cmp ax, 8
je 0x40c0c0
cmp ax, 0xa
je 0x40c0c0
mov eax, dword [esp + 0x28]
test eax, eax
je 0x40c8f1
mov dword [esp + 0x24], 0
test ebp, ebp
je 0x40c1d0
mov ebx, dword [0x471028]
test ebx, ebx
je 0x40c270
mov eax, dword [ebp]
add ebx, eax
cmp eax, dword [0x47102c]
mov eax, 0x444781
cmovae ebx, eax
mov eax, dword [ebp + 4]
cmp eax, 0xb
je 0x40c0f6
cmp eax, 3
je 0x40c194
cmp eax, 0x12
je 0x40c510
cmp eax, 2
nop
je 0x40c1e0
cmp eax, 0x11
je 0x40c280
cmp eax, 9
je 0x40c5f0
cmp eax, 4
je 0x40c647
mov eax, dword [0x4711f8]
test eax, eax
jne 0x40be88
mov edx, dword [0x472ce0]
test edx, edx
jne 0x40be88
mov edi, dword [0x472ca4]
test edi, edi
jne 0x40be88
mov esi, dword [0x472cec]
test esi, esi
jne 0x40be88
mov ecx, dword [0x472cb8]
test ecx, ecx
jne 0x40be88
mov edx, dword [0x472cc8]
test edx, edx
jne 0x40be88
mov edi, dword [0x472ce4]
test edi, edi
jne 0x40be88
mov esi, dword [0x472cc0]
test esi, esi
jne 0x40be88
mov ecx, dword [0x472cbc]
test ecx, ecx
jne 0x40be88
mov edx, dword [0x472ca0]
test edx, edx
jne 0x40be88
cmp dword [0x472cb0], 0
jne 0x40be88
cmp dword [0x472ccc], 0
jne 0x40be88
cmp dword [0x472ca8], 0
jne 0x40be88
cmp dword [0x472cd8], 0
je 0x40beec
mov edi, str..debug_
mov ecx, 7
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x40c300
mov edi, str..zdebug_
mov ecx, 8
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x40c300
test eax, eax
jne 0x40bebe
mov esi, dword [0x472ce0]
test esi, esi
je 0x40bece
mov edi, str..gnu.linkonce.wi.
mov ecx, 0x11
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x40bf0e
mov ecx, dword [0x472cc0]
test ecx, ecx
je 0x40beec
mov edi, 0x448f34
mov ecx, 0xa
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x40c0a0
mov edx, dword [0x472ce8]
test edx, edx
je 0x40c010
mov edi, 0x448f3e
mov ecx, 0xb
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
jne 0x40c010
mov eax, dword [esp + 0x24]
mov edx, 4
call fcn.00402470
mov ebx, dword [0x471084]
mov dword [esp + 0x28], ebx
jmp 0x40c120
call fcn.00402d40
test eax, eax
jne 0x40bcf9
add esp, 0x7c
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebx, dword [0x471084]
mov ebp, dword [0x471024]
cmp eax, ebx
mov dword [esp + 0x28], ebx
jae 0x40bd16
lea eax, [eax + eax*8]
lea ebx, [ebp + eax*8]
mov eax, dword [ebx + 0x24]
mov edx, dword [ebx + 0x20]
mov ecx, eax
or ecx, edx
je 0x40bd16
mov ecx, dword [ebx + 0x18]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 0x10], str.string_table
mov dword [esp], 1
mov dword [esp + 4], 0
call fcn.00402840
test eax, eax
mov dword [0x471028], eax
je 0x40d06a
mov eax, dword [ebx + 0x20]
mov ebx, dword [0x471084]
mov dword [0x47102c], eax
mov ebp, dword [0x471024]
mov dword [esp + 0x28], ebx
jmp 0x40bd16
mov dword [esp], str.possibly_corrupt_ELF_file_header___it_has_a_non_zero_section_header_offset__but_no_section_headers_n
call fcn.004371d0
add esp, 0x7c
mov eax, 1
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [0x471060]
mov dword [esp + 4], eax
mov dword [esp], str.There_are__d_section_headers__starting_at_offset_0x_lx:_n
mov dword [esp + 8], edx
call sub.msvcrt.dll_printf
jmp 0x40bcd8
test eax, eax
jne 0x40c951
mov eax, dword [0x472cd0]
test eax, eax
nop
je 0x40d033
mov dword [esp + 8], 7
mov dword [esp + 4], str..trace_
mov dword [esp], ebx
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x40c120
mov eax, dword [0x472cd0]
add ebx, 7
test eax, eax
je 0x40c062
mov edi, 0x448e97
mov ecx, 5
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x40c0a0
mov edi, dword [0x472cd4]
test edi, edi
je 0x40c07c
mov edi, 0x448ea2
mov ecx, 7
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x40c0a0
mov esi, dword [0x472cf0]
test esi, esi
je 0x40c120
mov edi, 0x448ee0
mov ecx, 8
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
jne 0x40c120
nop
mov eax, dword [esp + 0x24]
mov edx, 4
call fcn.00402470
mov edx, dword [0x471084]
mov dword [esp + 0x28], edx
jmp 0x40c120
mov eax, dword [0x47106c]
and eax, 0xf000
cmp eax, 0x4000
jne 0x40bd81
mov eax, str..gcc_compiled_long32
call fcn.004054c0
test eax, eax
jne 0x40bd81
mov dword [0x472cac], 8
jmp 0x40bd81
mov eax, dword [0x4713b4]
test eax, eax
je 0x40c540
mov dword [esp], str.File_contains_multiple_dynamic_symbol_tables_n
call fcn.00436bb0
mov edx, dword [0x471084]
mov dword [esp + 0x28], edx
lea esi, [esi]
add dword [esp + 0x24], 1
add ebp, 0x48
mov ebx, dword [esp + 0x24]
cmp dword [esp + 0x28], ebx
ja 0x40bd95
mov ebx, dword [0x4711c8]
test ebx, ebx
je 0x40bcad
cmp dword [esp + 0x28], 1
jbe 0x40c900
mov dword [esp], str._nSection_Headers:
call sub.msvcrt.dll_puts
mov ecx, dword [0x47109c]
test ecx, ecx
je 0x40c6b1
mov edx, dword [0x4711e4]
test edx, edx
je 0x40c940
mov dword [esp], str.___Nr__Name
call sub.msvcrt.dll_puts
mov dword [esp], str._______Type____________Addr_____Off____Size___ES___Lk_Inf_Al
call sub.msvcrt.dll_puts
jmp 0x40c6f0
mov edi, str..dynstr
mov ecx, 8
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
jne 0x40be01
mov eax, dword [0x4713ac]
test eax, eax
je 0x40cf66
mov dword [esp], str.File_contains_multiple_dynamic_string_tables_n
call fcn.00436bb0
mov ebx, dword [0x471084]
mov dword [esp + 0x28], ebx
jmp 0x40c120
mov ebx, 0x444770
jmp 0x40bdbe
mov eax, dword [0x47109c]
xor edi, edi
mov esi, 0x18
test eax, eax
je 0x40c1f7
mov esi, 0x10
xor edi, edi
mov edx, dword [ebp + 0x38]
mov ebx, edi
mov ecx, esi
mov eax, dword [ebp + 0x3c]
xor ecx, edx
xor ebx, eax
or ebx, ecx
je 0x40c120
mov dword [esp + 0xc], eax
lea eax, [esp + 0x48]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x445515
mov dword [esp], eax
call sub.msvcrt.dll_sprintf
lea edx, [esp + 0x48]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x24]
mov dword [esp], str.Section__d_has_invalid_sh_entsize_of__s_n
mov dword [esp + 4], ebx
call fcn.00436bb0
mov dword [esp + 4], esi
mov dword [esp], str._Using_the_expected_size_of__u_for_the_rest_of_this_dump__n
call fcn.00436bb0
mov dword [ebp + 0x38], esi
mov dword [ebp + 0x3c], edi
mov edx, dword [0x471084]
mov dword [esp + 0x28], edx
jmp 0x40c120
mov ebx, str._no_name_
jmp 0x40bdbe
mov edx, dword [ebp + 0x38]
mov eax, dword [ebp + 0x3c]
mov ecx, edx
xor ecx, 4
or ecx, eax
je 0x40c120
lea ecx, [esp + 0x48]
mov dword [esp + 8], edx
lea ebx, [esp + 0x48]
mov dword [esp], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 4], 0x445515
call sub.msvcrt.dll_sprintf
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x24]
mov dword [esp], str.Section__d_has_invalid_sh_entsize_of__s_n
mov dword [esp + 4], ebx
call fcn.00436bb0
mov dword [esp + 4], 4
mov dword [esp], str._Using_the_expected_size_of__u_for_the_rest_of_this_dump__n
call fcn.00436bb0
mov dword [ebp + 0x38], 4
mov dword [ebp + 0x3c], 0
mov edx, dword [0x471084]
mov dword [esp + 0x28], edx
jmp 0x40c120
cmp byte [ebx + 1], 0x7a
lea edx, [ebx + 8]
lea ecx, [ebx + 7]
cmovne edx, ecx
test eax, eax
jne 0x40c0a0
mov eax, dword [0x472ce0]
test eax, eax
je 0x40c346
mov edi, 0x448e97
mov ecx, 4
mov esi, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x40c0a0
mov edi, 0x448e9c
mov ecx, 5
mov esi, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x40c0a0
mov edi, dword [0x472ca4]
test edi, edi
je 0x40c364
mov edi, 0x448ea2
mov ecx, 6
mov esi, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x40c0a0
mov esi, dword [0x472cec]
test esi, esi
je 0x40c396
mov edi, 0x448ea9
mov ecx, 5
mov esi, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x40c0a0
mov edi, str.line.
mov ecx, 5
mov esi, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x40c0a0
mov eax, dword [0x472cb8]
test eax, eax
jne 0x40c976
mov ebx, dword [0x472cc8]
test ebx, ebx
mov dword [esp + 0x20], ebx
je 0x40c3c5
mov edi, 0x448ebd
mov ecx, 8
mov esi, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x40c0a0
test eax, eax
je 0x40c3dd
mov edi, str.gnu_pubnames
mov ecx, 0xc
mov esi, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x40c0a0
mov ebx, dword [esp + 0x20]
test ebx, ebx
je 0x40c3f9
mov edi, str.gnu_pubtypes
mov ecx, 0xc
mov esi, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x40c0a0
mov ecx, dword [0x472ce4]
test ecx, ecx
je 0x40c417
mov edi, 0x448ee0
mov ecx, 7
mov esi, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x40c0a0
mov eax, dword [0x472ccc]
test eax, eax
je 0x40c434
mov edi, 0x448ee8
mov ecx, 6
mov esi, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x40c0a0
mov eax, dword [0x472cc0]
test eax, eax
je 0x40c451
mov edi, str.frame
mov ecx, 5
mov esi, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x40c0a0
mov eax, dword [0x472cbc]
test eax, eax
je 0x40c482
mov edi, 0x448ef5
mov ecx, 7
mov esi, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x40c0a0
mov edi, 0x448efd
mov ecx, 5
mov esi, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x40c0a0
mov eax, dword [0x472ca0]
test eax, eax
je 0x40c49f
mov edi, 0x448f03
mov ecx, 3
mov esi, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x40c0a0
mov eax, dword [0x472cb0]
test eax, eax
je 0x40c4bc
mov edi, 0x448f07
mov ecx, 3
mov esi, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x40c0a0
mov eax, dword [0x472ca8]
test eax, eax
je 0x40c4d9
mov edi, 0x448f0b
mov ecx, 4
mov esi, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x40c0a0
mov edi, dword [0x472cd8]
test edi, edi
je 0x40c120
mov edi, 0x448f10
mov ecx, 8
mov esi, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x40c0a0
mov edi, str.tu_index
mov ecx, 8
mov esi, edx
jmp 0x40c096
mov dword [esp], 8
call fcn.00438df0
mov edx, dword [0x4710a4]
mov ebx, dword [0x471084]
mov dword [esp + 0x28], ebx
mov dword [eax], ebp
mov dword [eax + 4], edx
mov dword [0x4710a4], eax
jmp 0x40c120
mov eax, dword [0x47109c]
xor edi, edi
mov esi, 0x10
test eax, eax
jne 0x40c557
mov esi, 0x18
xor edi, edi
mov edx, dword [ebp + 0x3c]
mov ebx, edi
mov ecx, dword [ebp + 0x38]
xor ebx, edx
mov dword [esp + 0x28], ebx
mov ebx, esi
xor ebx, ecx
or ebx, dword [esp + 0x28]
je 0x40c5c2
lea eax, [esp + 0x48]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 4], 0x445515
mov dword [esp], eax
call sub.msvcrt.dll_sprintf
mov ebx, dword [esp + 0x24]
lea edx, [esp + 0x48]
mov dword [esp + 8], edx
mov dword [esp], str.Section__d_has_invalid_sh_entsize_of__s_n
mov dword [esp + 4], ebx
call fcn.00436bb0
mov dword [esp + 4], esi
mov dword [esp], str._Using_the_expected_size_of__u_for_the_rest_of_this_dump__n
call fcn.00436bb0
mov eax, dword [0x47109c]
mov dword [ebp + 0x38], esi
mov dword [ebp + 0x3c], edi
test eax, eax
mov ecx, 0x4713b8
mov eax, dword [esp + 0x2c]
mov edx, ebp
je 0x40c691
call fcn.00402f90
mov edx, dword [0x471084]
mov dword [0x4713b4], eax
mov dword [esp + 0x28], edx
jmp 0x40c120
mov ebx, dword [0x47109c]
xor edi, edi
mov esi, 0x10
test ebx, ebx
je 0x40c608
mov esi, 8
xor edi, edi
mov edx, dword [ebp + 0x38]
mov ebx, edi
mov ecx, esi
mov eax, dword [ebp + 0x3c]
xor ecx, edx
xor ebx, eax
or ebx, ecx
je 0x40c120
lea ecx, [esp + 0x48]
mov dword [esp + 8], edx
lea ebx, [esp + 0x48]
mov dword [esp + 0xc], eax
mov dword [esp + 4], 0x445515
mov dword [esp], ecx
call sub.msvcrt.dll_sprintf
mov dword [esp + 8], ebx
jmp 0x40c231
mov ecx, dword [0x47109c]
xor edi, edi
mov esi, 0x18
test ecx, ecx
je 0x40c608
mov esi, 0xc
xor edi, edi
jmp 0x40c608
cmp ax, 0x78
je 0x40c671
cmp ax, 0xfeb0
jne 0x40bd81
mov eax, dword [0x47106c]
and eax, 0x7f
cmp eax, 0x75
jne 0x40bd81
mov dword [0x472cac], 2
jmp 0x40bd81
call fcn.004033a0
jmp 0x40c5da
mov dword [esp], str._nThere_are_no_sections_in_this_file.
call sub.msvcrt.dll_puts
jmp 0x40bcad
mov eax, dword [0x472cb4]
test eax, eax
jne 0x40c911
mov eax, dword [0x4711e4]
test eax, eax
je 0x40d016
mov dword [esp], str.___Nr__Name
call sub.msvcrt.dll_puts
mov dword [esp], str._______Type______________Address__________Offset____________Link
call sub.msvcrt.dll_puts
mov dword [esp], str._______Size______________EntSize__________Info______________Align
call sub.msvcrt.dll_puts
nop
mov eax, dword [0x4711e4]
test eax, eax
jne 0x40cf55
mov eax, dword [0x471084]
xor esi, esi
mov ebx, dword [0x471024]
test eax, eax
mov edi, ebx
jne 0x40c871
jmp 0x40ca80
test edi, edi
je 0x40ce10
mov eax, dword [0x471028]
test eax, eax
nop
je 0x40ce40
mov ecx, dword [edi]
mov edx, 0x444781
add eax, ecx
cmp ecx, dword [0x47102c]
cmovb edx, eax
mov eax, 0xffffffef
call fcn.00405610
mov eax, dword [edi + 4]
call fcn.0040b7a0
mov ecx, dword [0x472cb4]
mov edx, str.___15s
test ecx, ecx
mov ecx, str.___15.15s
cmove edx, ecx
mov dword [esp + 4], eax
mov dword [esp], edx
call sub.msvcrt.dll_printf
mov ebx, dword [0x47109c]
test ebx, ebx
jne 0x40cae0
mov eax, dword [0x472cb4]
test eax, eax
jne 0x40cc82
mov edx, dword [0x4711e4]
test edx, edx
je 0x40cbc0
mov eax, dword [edi + 4]
call fcn.0040b7a0
mov dword [esp], str._________15.15s
mov dword [esp + 4], eax
call sub.msvcrt.dll_printf
mov edx, dword [edi + 0x14]
mov ecx, 6
mov eax, dword [edi + 0x10]
call fcn.004026f0
mov ecx, dword [edi + 0x18]
mov edx, ecx
sar edx, 0x1f
cmp dword [edi + 0x1c], edx
je 0x40cea7
mov dword [esp], 0x445b40
call sub.msvcrt.dll_printf
mov eax, dword [edi + 0x18]
mov ecx, 6
mov edx, dword [edi + 0x1c]
call fcn.004026f0
mov eax, dword [edi + 0x28]
mov dword [esp], str.___u_n
mov dword [esp + 4], eax
call sub.msvcrt.dll_printf
mov edx, dword [edi + 0x24]
mov ecx, 6
mov eax, dword [edi + 0x20]
call fcn.004026f0
mov dword [esp], 0x20
call sub.msvcrt.dll_putchar
mov eax, dword [edi + 0x38]
mov ecx, 6
mov edx, dword [edi + 0x3c]
call fcn.004026f0
mov eax, dword [edi + 0x30]
mov dword [esp + 8], eax
mov eax, dword [edi + 0x2c]
mov dword [esp], str.____16u___lu_n
mov dword [esp + 4], eax
call sub.msvcrt.dll_printf
mov eax, dword [0x4711e4]
test eax, eax
jne 0x40c9b5
add esi, 1
add edi, 0x48
cmp dword [0x471084], esi
jbe 0x40ca80
mov dword [esp + 4], esi
mov dword [esp], str.____2u_
call sub.msvcrt.dll_printf
mov ebp, dword [0x4711e4]
test ebp, ebp
je 0x40c720
mov eax, edi
call fcn.00401c10
mov dword [esp], str._s_n
mov dword [esp + 4], eax
call sub.msvcrt.dll_printf
jmp 0x40c752
mov eax, dword [0x47106c]
and eax, 0xff0000
cmp eax, 0x830000
je 0x40c682
jbe 0x40c98f
cmp eax, 0x850000
je 0x40cff6
cmp eax, 0x860000
je 0x40c682
cmp eax, 0x840000
jne 0x40bd81
jmp 0x40c682
cmp dword [0x4711c8], 0
je 0x40bcad
nop
mov dword [esp], str._nSection_Header:
call sub.msvcrt.dll_puts
jmp 0x40c15b
mov eax, dword [0x4711e4]
test eax, eax
je 0x40d005
mov dword [esp], str.___Nr__Name
call sub.msvcrt.dll_puts
mov dword [esp], str._______Type____________Address__________Off____Size___ES___Lk_Inf_Al
call sub.msvcrt.dll_puts
jmp 0x40c6f0
mov dword [esp], str.___Nr__Name______________Type____________Addr_____Off____Size___ES_Flg_Lk_Inf_Al
call sub.msvcrt.dll_puts
jmp 0x40c6f0
mov dword [esp + 8], 7
mov dword [esp + 4], str..trace_
mov dword [esp], ebx
call sub.msvcrt.dll_strncmp
test eax, eax
je 0x40c0a0
jmp 0x40c120
mov edi, 0x448eb4
mov ecx, 8
mov esi, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x40c0a0
jmp 0x40c3a3
cmp eax, 0x810000
je 0x40cff6
cmp eax, 0x820000
je 0x40cff6
cmp eax, 0x800000
jne 0x40bd81
jmp 0x40c682
mov edx, dword [edi + 0xc]
mov eax, dword [edi + 8]
call fcn.004057a0
mov dword [esp], str.________s_n
mov dword [esp + 4], eax
call sub.msvcrt.dll_printf
test byte [edi + 9], 8
je 0x40c85f
mov ecx, dword [edi + 0x18]
lea eax, [esp + 0x48]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x10], str.compression_header
mov dword [esp + 8], 0x18
mov dword [esp + 0xc], 0
mov dword [esp], 1
mov dword [esp + 4], 0
call fcn.00402840
test eax, eax
je 0x40c85f
lea edx, [esp + 0x48]
lea eax, [esp + 0x30]
call fcn.00402070
mov eax, dword [esp + 0x30]
cmp eax, 1
je 0x40cfe5
mov dword [esp + 4], eax
mov dword [esp], str._________unknown_:_0x_x__
call sub.msvcrt.dll_printf
mov edx, dword [esp + 0x3c]
mov ecx, 6
add esi, 1
mov eax, dword [esp + 0x38]
add edi, 0x48
call fcn.004026f0
mov eax, dword [esp + 0x40]
mov dword [esp], str.___lu_n
mov dword [esp + 4], eax
call sub.msvcrt.dll_printf
cmp dword [0x471084], esi
ja 0x40c871
nop
lea esi, [esi]
mov eax, dword [0x4711e4]
test eax, eax
jne 0x40bcad
mov dword [esp], str.Key_to_Flags:_n__W__write___A__alloc___X__execute___M__merge___S__strings___I__info___n__L__link_order___O__extra_OS_processing_required___G__group___T__TLS___n__C__compressed___x__unknown___o__OS_specific___E__exclude___n
call sub.msvcrt.dll_printf
movzx eax, word [0x471072]
cmp ax, 0xb4
je 0x40cfc0
cmp ax, 0x3e
je 0x40cfc0
cmp ax, 0xb5
je 0x40cfc0
cmp ax, 0x28
je 0x40d059
mov dword [esp], str.p__processor_specific_
call sub.msvcrt.dll_puts
mov eax, 1
jmp 0x40bcb2
mov edx, dword [edi + 0x14]
mov ecx, 6
mov eax, dword [edi + 0x10]
call fcn.004026f0
mov eax, dword [edi + 0x38]
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0x20]
mov dword [esp + 8], eax
mov eax, dword [edi + 0x18]
mov dword [esp], str.__6.6lx__6.6lx__2.2lx
mov dword [esp + 4], eax
call sub.msvcrt.dll_printf
mov eax, dword [0x4711e4]
test eax, eax
je 0x40cdf0
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 2
mov dword [esp + 4], 1
mov dword [esp], 0x445b40
add eax, 0x20
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [edi + 0x28]
cmp eax, dword [0x471084]
jae 0x40cd90
xor ebx, ebx
cmp dword [0x4711e4], 0
je 0x40ce4a
mov dword [esp + 4], eax
mov dword [esp], str._2u
call sub.msvcrt.dll_printf
mov eax, dword [edi + 0x30]
mov dword [esp + 8], eax
mov eax, dword [edi + 0x2c]
mov dword [esp], str._3u__2lu_n
mov dword [esp + 4], eax
call sub.msvcrt.dll_printf
test ebx, ebx
je 0x40c852
cmp byte [ebx], 0
jne 0x40c852
mov eax, dword [edi + 0x28]
mov dword [esp + 4], esi
mov dword [esp], str.section__u:_sh_link_value_of__u_is_larger_than_the_number_of_sections_n
mov dword [esp + 8], eax
call fcn.004371d0
jmp 0x40c852
mov dword [esp], 0x20
call sub.msvcrt.dll_putchar
mov eax, dword [edi + 0x10]
mov ecx, 6
mov edx, dword [edi + 0x14]
call fcn.004026f0
mov eax, dword [edi + 0x18]
mov ebx, eax
sar ebx, 0x1f
cmp dword [edi + 0x1c], ebx
je 0x40cec0
mov dword [esp], 0x445b40
call sub.msvcrt.dll_printf
mov eax, dword [edi + 0x18]
mov ecx, 6
mov edx, dword [edi + 0x1c]
call fcn.004026f0
mov dword [esp], 0x4492c7
call sub.msvcrt.dll_printf
mov edx, dword [edi + 0x24]
mov ecx, 6
mov eax, dword [edi + 0x20]
call fcn.004026f0
mov dword [esp], 0x445b40
call sub.msvcrt.dll_printf
mov edx, dword [edi + 0x3c]
mov ecx, 6
mov eax, dword [edi + 0x38]
call fcn.004026f0
mov edx, dword [edi + 0xc]
mov eax, dword [edi + 8]
call fcn.004057a0
mov dword [esp], str.__3s
mov dword [esp + 4], eax
call sub.msvcrt.dll_printf
mov eax, dword [edi + 0x30]
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0x2c]
mov dword [esp + 8], eax
mov eax, dword [edi + 0x28]
mov dword [esp], str.______2u____3u______lu_n
mov dword [esp + 4], eax
call sub.msvcrt.dll_printf
jmp 0x40c852
mov edx, dword [edi + 0x14]
mov ecx, 6
mov eax, dword [edi + 0x10]
call fcn.004026f0
mov ecx, dword [edi + 0x18]
mov edx, ecx
sar edx, 0x1f
cmp dword [edi + 0x1c], edx
je 0x40cf20
mov dword [esp], 0x20
call sub.msvcrt.dll_putchar
mov eax, dword [edi + 0x18]
mov ecx, 6
mov edx, dword [edi + 0x1c]
call fcn.004026f0
mov ebp, dword [edi + 0x24]
mov eax, dword [edi + 0x20]
test ebp, ebp
je 0x40cf05
mov dword [esp], 0x20
call sub.msvcrt.dll_putchar
mov eax, dword [edi + 0x20]
mov ecx, 6
mov edx, dword [edi + 0x24]
call fcn.004026f0
mov ebx, dword [edi + 0x3c]
mov eax, dword [edi + 0x38]
test ebx, ebx
je 0x40cef0
mov dword [esp], 0x20
call sub.msvcrt.dll_putchar
mov eax, dword [edi + 0x38]
mov ecx, 6
mov edx, dword [edi + 0x3c]
call fcn.004026f0
mov ecx, dword [0x4711e4]
test ecx, ecx
je 0x40ce20
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 2
mov dword [esp + 4], 1
mov dword [esp], 0x445b40
add eax, 0x20
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [edi + 0x2c]
mov dword [esp + 8], eax
mov eax, dword [edi + 0x28]
mov dword [esp], str._2u__3u
mov dword [esp + 4], eax
call sub.msvcrt.dll_printf
mov edx, dword [edi + 0x34]
mov eax, dword [edi + 0x30]
test edx, edx
je 0x40ced5
mov ecx, 1
call fcn.004026f0
mov dword [esp], 0xa
call sub.msvcrt.dll_putchar
jmp 0x40c852
movzx edx, word [0x471072]
cmp dx, 0x12
je 0x40ce80
ja 0x40cf35
cmp dx, 6
je 0x40ce80
ja 0x40cfd1
sub edx, 2
cmp dx, 1
jbe 0x40ce80
mov ebx, 0x445b4b
cmp dword [0x4711e4], 0
je 0x40ce4a
cmp byte [ebx], 0
je 0x40cb64
mov dword [esp + 4], ebx
mov dword [esp], str.__s_
call sub.msvcrt.dll_printf
jmp 0x40cb74
mov eax, dword [edi + 8]
mov edx, dword [edi + 0xc]
call fcn.004057a0
mov dword [esp], str.__3s
mov dword [esp + 4], eax
call sub.msvcrt.dll_printf
jmp 0x40cb46
mov edx, 0x444770
jmp 0x40c748
mov eax, dword [edi + 8]
mov edx, dword [edi + 0xc]
call fcn.004057a0
mov dword [esp], str.__3s
mov dword [esp + 4], eax
call sub.msvcrt.dll_printf
jmp 0x40cd49
mov edx, str._no_name_
jmp 0x40c748
mov edx, dword [edi + 0x30]
mov dword [esp + 0xc], edx
mov edx, dword [edi + 0x2c]
mov dword [esp + 4], eax
mov dword [esp], str._2u__3u__2lu_n
mov dword [esp + 8], edx
call sub.msvcrt.dll_printf
jmp 0x40cb8e
sub dx, 0xb4
cmp dx, 1
ja 0x40cdc4
nop
cmp eax, 0xff00
mov ebx, str.BEFORE
je 0x40cdc9
mov ebx, 0x445b4b
cmp eax, 0xff01
mov edx, str.AFTER
cmove ebx, edx
jmp 0x40cdc9
mov dword [esp + 4], ecx
mov dword [esp], str.___16.16lx
call sub.msvcrt.dll_printf
jmp 0x40c7f9
mov dword [esp + 4], eax
mov dword [esp], str.___8.8lx
call sub.msvcrt.dll_printf
jmp 0x40cc09
mov dword [esp + 4], eax
mov dword [esp], str._2lu_n
call sub.msvcrt.dll_printf
jmp 0x40c852
mov dword [esp + 4], eax
mov dword [esp], str.__2.2lx
call sub.msvcrt.dll_printf
jmp 0x40cd13
mov dword [esp + 4], eax
mov dword [esp], str.__6.6lx
call sub.msvcrt.dll_printf
jmp 0x40cce9
mov dword [esp + 4], ecx
mov dword [esp], str.__6.6lx
call sub.msvcrt.dll_printf
jmp 0x40ccbf
cmp dx, 0x3e
je 0x40ce80
nop
ja 0x40ce70
cmp dx, 0x2b
jne 0x40cdc4
jmp 0x40ce80
mov dword [esp], str._______Flags
call sub.msvcrt.dll_puts
jmp 0x40c6fd
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x10], str.dynamic_strings
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x20]
mov dword [esp], 1
mov dword [esp + 4], 0
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 8], eax
xor eax, eax
call fcn.00402840
test eax, eax
mov dword [0x4713ac], eax
je 0x40d052
mov eax, dword [ebp + 0x20]
mov edx, dword [0x471084]
mov dword [0x4713b0], eax
mov dword [esp + 0x28], edx
jmp 0x40c120
mov dword [esp], str.l__large__
call sub.msvcrt.dll_printf
jmp 0x40cac8
cmp dx, 0xb
jne 0x40cdc4
nop
lea esi, [esi]
jmp 0x40ce80
mov dword [esp], str._______ZLIB_
call sub.msvcrt.dll_printf
jmp 0x40ca43
mov dword [0x472cac], 4
jmp 0x40bd81
mov dword [esp], str.___Nr__Name______________Type____________Address__________Off____Size___ES_Flg_Lk_Inf_Al
call sub.msvcrt.dll_puts
jmp 0x40c6f0
mov dword [esp], str.___Nr__Name______________Type_____________Address___________Offset
call sub.msvcrt.dll_puts
mov dword [esp], str._______Size______________EntSize__________Flags__Link__Info__Align
call sub.msvcrt.dll_puts
jmp 0x40c6f0
mov eax, dword [0x472cd4]
test eax, eax
jne 0x40c026
mov eax, dword [0x472cf0]
test eax, eax
jne 0x40c026
jmp 0x40c120
xor eax, eax
jmp 0x40cfa9
mov dword [esp], str.y__purecode__
call sub.msvcrt.dll_printf
jmp 0x40cac8
xor eax, eax
jmp 0x40bfb3