Function at 0x406cd0
Capabilities:
Resolve function by parsing pe exports
Write file on windows

Disassembly:
push ebp
mov ebp, eax
push edi
push esi
push ebx
sub esp, 0xac
mov eax, dword [0x471d0c]
mov edx, dword [0x471d08]
mov ecx, eax
or ecx, edx
jne 0x406d10
mov ebx, dword [0x4711c0]
test ebx, ebx
jne 0x407341
mov ebx, 1
add esp, 0xac
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
mov ecx, dword [0x47109c]
mov dword [esp + 8], edx
mov edx, ebp
mov dword [esp + 0xc], eax
mov eax, 0
mov dword [esp + 0x10], str.dynamic_section
test ecx, ecx
mov ecx, dword [0x471d00]
mov dword [esp], 1
mov dword [esp + 4], 0
je 0x406f70
call fcn.00402840
test eax, eax
mov edi, eax
je 0x407616
mov dword [0x471e60], 0
xor edx, edx
jmp 0x406d69
mov eax, ebx
mov ecx, dword [0x471d08]
lea ebx, [eax + 8]
add ecx, edi
cmp ebx, ecx
ja 0x406d9c
add edx, 1
mov dword [0x471e60], edx
mov dword [esp + 4], 4
mov dword [esp], eax
call dword [0x472cf4]
or edx, eax
mov edx, dword [0x471e60]
jne 0x406d67
mov dword [esp + 4], 0x10
mov dword [esp], edx
call fcn.0042bf70
mov ebx, eax
test ebx, ebx
mov dword [0x4713c0], eax
mov eax, dword [0x471e60]
je 0x4075fe
shl eax, 4
mov esi, edi
add eax, ebx
cmp ebx, eax
jae 0x406e18
nop
lea esi, [esi]
mov dword [esp], esi
mov dword [esp + 4], 4
call dword [0x472cf4]
mov dword [ebx], eax
lea eax, [esi + 4]
add esi, 8
mov dword [ebx + 4], edx
mov dword [esp + 4], 4
mov dword [esp], eax
call dword [0x472cf4]
mov dword [ebx + 8], eax
mov eax, dword [0x471e60]
mov dword [ebx + 0xc], edx
add ebx, 0x10
shl eax, 4
add eax, dword [0x4713c0]
cmp ebx, eax
jb 0x406dd0
mov dword [esp], edi
call sub.msvcrt.dll_free
mov eax, dword [0x4713b4]
test eax, eax
je 0x407af8
mov eax, dword [0x4713ac]
test eax, eax
je 0x407a33
mov eax, dword [0x4713bc]
test eax, eax
je 0x4078c0
mov eax, dword [0x4711c0]
test eax, eax
jne 0x407195
mov eax, dword [0x471e60]
mov ebp, dword [0x4713c0]
shl eax, 4
add eax, ebp
cmp ebp, eax
jae 0x406cfb
mov edi, dword [0x4711c0]
xor esi, esi
test edi, edi
jne 0x406eb8
mov ecx, dword [ebp]
mov ebx, dword [ebp + 4]
mov eax, ecx
xor eax, 0x1e
or eax, ebx
jne 0x406f2c
test esi, esi
jne 0x407352
mov eax, dword [0x471e60]
add ebp, 0x10
shl eax, 4
add eax, dword [0x4713c0]
cmp ebp, eax
jae 0x406cfb
mov edi, dword [0x4711c0]
xor esi, esi
test edi, edi
je 0x406e78
mov dword [esp], 0x20
call sub.msvcrt.dll_putchar
mov edx, dword [ebp + 4]
mov ecx, 5
mov eax, dword [ebp]
call fcn.004026f0
mov eax, dword [ebp]
call fcn.00404bd0
cmp dword [0x47109c], 1
sbb ebx, ebx
and ebx, 0xfffffff8
mov dword [esp], eax
mov esi, eax
add ebx, 0x1b
call sub.msvcrt.dll_strlen
mov dword [esp + 4], esi
mov dword [esp + 0xc], 0x447489
mov dword [esp], str.___s__s
sub ebx, eax
mov dword [esp + 8], ebx
call sub.msvcrt.dll_printf
mov ecx, dword [ebp]
mov ebx, dword [ebp + 4]
mov esi, dword [0x4711c0]
mov eax, ecx
xor eax, 0x1e
or eax, ebx
je 0x406e8b
cmp ebx, 0
jbe 0x407045
mov eax, ecx
xor eax, 0x6ffffffd
or eax, ebx
jne 0x4070d4
test esi, esi
je 0x406e93
mov eax, dword [ebp + 8]
mov ecx, 3
mov edx, dword [ebp + 0xc]
call fcn.004026f0
mov dword [esp], 0xa
call sub.msvcrt.dll_putchar
jmp 0x406e93
call fcn.00402840
test eax, eax
mov edi, eax
je 0x407616
mov dword [0x471e60], 0
xor edx, edx
jmp 0x406f92
mov eax, ebx
mov ecx, dword [0x471d08]
lea ebx, [eax + 0x10]
add ecx, edi
cmp ebx, ecx
ja 0x406fc5
add edx, 1
mov dword [0x471e60], edx
mov dword [esp + 4], 8
mov dword [esp], eax
call dword [0x472cf4]
or edx, eax
mov edx, dword [0x471e60]
jne 0x406f90
mov dword [esp + 4], 0x10
mov dword [esp], edx
call fcn.0042bf70
mov ebx, eax
test ebx, ebx
mov dword [0x4713c0], eax
mov eax, dword [0x471e60]
je 0x4075fe
shl eax, 4
mov esi, edi
add eax, ebx
cmp ebx, eax
jae 0x406e18
mov dword [esp], esi
mov dword [esp + 4], 8
call dword [0x472cf4]
mov dword [ebx], eax
lea eax, [esi + 8]
add esi, 0x10
mov dword [ebx + 4], edx
mov dword [esp + 4], 8
mov dword [esp], eax
call dword [0x472cf4]
mov dword [ebx + 8], eax
mov eax, dword [0x471e60]
mov dword [ebx + 0xc], edx
add ebx, 0x10
shl eax, 4
add eax, dword [0x4713c0]
cmp ebx, eax
jb 0x406ff8
jmp 0x406e18
cmp ecx, 0x1e
ja 0x407450
cmp ebx, 0
jbe 0x408393
mov eax, dword [ebp + 8]
test esi, esi
mov edx, dword [ebp + 0xc]
mov dword [ecx*8 + 0x4712a0], eax
mov dword [ecx*8 + 0x4712a4], edx
je 0x406e93
mov esi, dword [0x4713ac]
test esi, esi
mov dword [esp + 0x48], esi
je 0x4074c1
mov esi, dword [0x4713b0]
xor edi, edi
cmp edx, 0
mov dword [esp + 0x44], edi
mov dword [esp + 0x40], esi
ja 0x4074c1
cmp eax, esi
jae 0x4074c1
mov esi, dword [esp + 0x48]
add esi, eax
je 0x4074c1
mov edi, ecx
xor edi, 0xe
or edi, ebx
jne 0x407865
mov dword [esp + 4], esi
mov dword [esp], str.Library_soname:___s_
call sub.msvcrt.dll_printf
jmp 0x4074cb
cmp ebx, 0
jbe 0x4071b3
mov eax, ecx
xor eax, 0x7ffffffd
or eax, ebx
je 0x40746f
cmp ebx, 0
mov eax, ecx
ja 0x4073e0
cmp ecx, 0x7ffffffd
ja 0x4073e0
xor eax, 0x6fffffff
or eax, ebx
je 0x406f44
mov eax, ecx
mov edx, ebx
add eax, 0x90000010
adc edx, 0xffffffff
cmp edx, 0
ja 0x407143
cmp eax, 0xf
ja 0x407143
mov eax, 0x6fffffff
mov edx, dword [ebp + 0xc]
sub eax, ecx
mov edi, eax
mov eax, dword [ebp + 8]
mov dword [edi*8 + 0x471224], edx
mov dword [edi*8 + 0x471220], eax
test esi, esi
je 0x406e93
movzx eax, word [0x471072]
cmp ax, 0xa
je 0x40769d
jbe 0x407693
cmp ax, 0xf
je 0x407cc2
cmp ax, 0x32
jne case.0x4076bb.2
mov eax, ecx
xor eax, 0x60000035
or eax, ebx
jne 0x407df6
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
call fcn.00405f50
jmp 0x4074cb
mov eax, dword [0x471d00]
test eax, eax
jne 0x407c00
mov dword [esp], str.__Tag________Type_________________________Name_Value
call sub.msvcrt.dll_puts
jmp 0x406e54
cmp ecx, 0x6ffffffd
ja 0x4070dd
cmp ebx, 0
jbe 0x40835e
mov eax, ecx
xor eax, 0x6ffffffb
or eax, ebx
jne 0x407110
test esi, esi
je 0x406e93
mov dword [esp], str.Flags:
call sub.msvcrt.dll_printf
mov ebx, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
or edi, ebx
je 0x4075d0
test bl, 1
jne 0x407fd0
test bl, 2
jne 0x407fbc
test bl, 4
nop
jne 0x407fa8
test bl, 8
jne 0x407f94
test bl, 0x10
jne 0x407f80
test bl, 0x20
jne 0x407f6c
test bl, 0x40
jne 0x407f58
test bl, 0x80
jne 0x407f44
test bh, 1
jne 0x408128
test bh, 2
nop
jne 0x408114
test bh, 4
jne 0x408100
test bh, 8
jne 0x4080ec
test bh, 0x10
jne 0x4080d8
test bh, 0x20
jne 0x4080c4
test bh, 0x40
jne 0x4080b0
test bh, 0x80
jne 0x40809c
test ebx, 0x10000
jne 0x408085
test ebx, 0x20000
jne 0x40806e
test ebx, 0x40000
jne 0x408057
test ebx, 0x80000
jne 0x408040
test ebx, 0x100000
jne 0x408029
test ebx, 0x200000
jne 0x408012
test ebx, 0x400000
jne 0x407ffb
test ebx, 0x800000
jne 0x407fe4
test ebx, 0x1000000
jne 0x407f16
test ebx, 0x2000000
jne 0x407eff
test ebx, 0x4000000
jne 0x407f2d
test ebx, 0x8000000
jne 0x407ee8
test ebx, ebx
je 0x407330
mov dword [esp + 4], ebx
mov dword [esp], str.__lx
call sub.msvcrt.dll_printf
mov dword [esp], 0x445b4b
call sub.msvcrt.dll_puts
jmp 0x406e93
mov dword [esp], str._nThere_is_no_dynamic_section_in_this_file.
call sub.msvcrt.dll_puts
jmp 0x406cfb
mov edi, dword [ebp + 0xc]
mov ecx, 1
mov esi, dword [ebp + 8]
mov eax, edi
or eax, esi
je 0x407330
mov dword [esp + 0x48], ebp
jmp 0x4073a4
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 7
mov dword [esp + 4], 1
mov dword [esp], str.unknown
add eax, 0x20
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
mov edx, edi
xor ecx, ecx
or edx, esi
je 0x407620
mov eax, esi
mov edx, edi
neg eax
adc edx, 0
mov ebx, eax
neg edx
and ebx, esi
mov ebp, edx
mov edx, ebx
and ebp, edi
not edx
mov eax, ebp
and edx, esi
not eax
mov esi, edx
and eax, edi
test ecx, ecx
mov edi, eax
je 0x4075e1
cmp ebp, 0
ja case.0x4073d9.0
cmp ebx, 0x10
ja case.0x4073d9.0
jmp dword [ebx*4 + 0x447c7c]
xor eax, 0x7ffffffe
or eax, ebx
jne 0x4076c1
test esi, esi
nop
je 0x406e93
mov eax, ecx
xor eax, 0x7ffffffe
or eax, ebx
jne case.0x4076bb.2
mov esi, dword [0x4713ac]
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
test esi, esi
je 0x4074c1
cmp edx, 0
mov ecx, dword [0x4713b0]
ja 0x4074c1
cmp eax, ecx
jae 0x4074c1
add esi, eax
cmp byte [esi], 0
je 0x4074c1
mov dword [esp + 4], esi
mov dword [esp], str.Not_needed_object:___s__n
call sub.msvcrt.dll_printf
jmp 0x406e93
cmp ebx, 0
ja 0x406f35
cmp ecx, 0x6ffffefc
nop
ja 0x406f35
cmp ebx, 0
jbe 0x408435
test esi, esi
je 0x406e93
mov eax, ecx
xor eax, 0x6ffffefc
or eax, ebx
jne 0x407630
mov dword [esp], str.Audit_library
call sub.msvcrt.dll_printf
mov ecx, dword [0x4713ac]
test ecx, ecx
je 0x4074af
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov eax, dword [0x4713b0]
test esi, esi
je 0x407674
mov dword [esp], 0x44799a
call sub.msvcrt.dll_printf
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov ecx, 4
call fcn.004026f0
mov dword [esp], 0xa
call sub.msvcrt.dll_putchar
jmp 0x406e93
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0xa
mov dword [esp + 4], 1
mov dword [esp], str.STATIC_TLS
add eax, 0x20
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
jmp 0x407398
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 8
mov dword [esp + 4], 1
mov dword [esp], str.BIND_NOW
add eax, 0x20
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
jmp 0x407398
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 7
mov dword [esp + 4], 1
mov dword [esp], str.TEXTREL
add eax, 0x20
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
jmp 0x407398
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 8
mov dword [esp + 4], 1
mov dword [esp], str.SYMBOLIC
add eax, 0x20
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
jmp 0x407398
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 6
mov dword [esp + 4], 1
mov dword [esp], str.ORIGIN
add eax, 0x20
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
jmp 0x407398
mov dword [esp], str._None
call sub.msvcrt.dll_puts
jmp 0x406e93
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp], 0x20
add eax, 0x20
mov dword [esp + 4], eax
call sub.msvcrt.dll_putc
jmp 0x4073cf
mov dword [esp + 4], eax
mov dword [esp], str.Out_of_memory_allocating_space_for__lu_dynamic_entries_n
call fcn.00436bb0
mov dword [esp], edi
call sub.msvcrt.dll_free
xor ebx, ebx
jmp 0x406d00
mov ebp, dword [esp + 0x48]
jmp 0x407330
cmp ebx, 0
mov eax, ecx
ja 0x4076d5
cmp ecx, 0x6ffffefc
ja 0x4076d5
xor eax, 0x6ffffefa
or eax, ebx
je 0x407dd4
mov eax, ecx
xor eax, 0x6ffffefb
or eax, ebx
jne 0x407492
mov dword [esp], str.Dependency_audit_library
call sub.msvcrt.dll_printf
jmp 0x407492
cmp ebx, eax
jae 0x4074af
add ecx, ebx
mov dword [esp + 4], ecx
mov dword [esp], str.:___s__n
call sub.msvcrt.dll_printf
jmp 0x406e93
cmp ax, 8
jne case.0x4076bb.2
add ecx, 0x8fffffff
adc ebx, 0xffffffff
cmp ebx, 0
ja case.0x4076bb.2
cmp ecx, 0x2e
ja case.0x4076bb.2
shl ecx, 2
jmp dword [ecx + 0x447cc0]
mov eax, ecx
xor eax, 0x7fffffff
or eax, ebx
je 0x40746f
jmp 0x407110
xor eax, 0x7ffffffd
or eax, ebx
je 0x407de5
mov eax, ecx
xor eax, 0x7fffffff
or eax, ebx
jne 0x407492
mov dword [esp], str.Filter_library
call sub.msvcrt.dll_printf
jmp 0x407492
mov edi, dword [ebp + 0xc]
xor ebx, ebx
mov esi, dword [ebp + 8]
mov dword [esp + 0x40], 1
mov edx, edi
or edx, esi
jne 0x407726
jmp 0x408313
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov ecx, ebx
mov eax, 1
shl eax, cl
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x48]
mov edx, eax
sar edx, 0x1f
and edi, edx
mov dword [esp + 0x30], eax
and ecx, esi
or edi, ecx
mov dword [esp + 0x34], edx
je 0x407782
mov ecx, dword [esp + 0x40]
mov eax, 0x445b4b
mov edx, dword [ebx*4 + 0x44f8c0]
mov dword [esp], 0x447b9c
test ecx, ecx
mov ecx, 0x447489
cmove eax, ecx
mov dword [esp + 8], edx
mov dword [esp + 4], eax
call sub.msvcrt.dll_printf
mov dword [esp + 0x40], 0
add ebx, 1
cmp ebx, 0xf
jne 0x407720
jmp 0x4074cb
mov eax, dword [ebp + 8]
mov dword [esp + 0x54], eax
lea eax, [esp + 0x54]
mov dword [esp], eax
call sub.msvcrt.dll_gmtime
test eax, eax
je 0x408324
mov edx, dword [eax]
lea ecx, [esp + 0x58]
mov dword [esp + 0x20], edx
mov edx, dword [eax + 4]
mov dword [esp + 0x1c], edx
mov edx, dword [eax + 8]
mov dword [esp + 0x18], edx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x14], edx
mov edx, dword [eax + 0x10]
add edx, 1
mov dword [esp + 0x10], edx
mov eax, dword [eax + 0x14]
mov dword [esp + 8], str._04u__02u__02uT_02u:_02u:_02u
mov dword [esp + 4], 0x14
mov dword [esp], ecx
add eax, 0x76c
mov dword [esp + 0xc], eax
call fcn.00403f70
lea esi, [esp + 0x58]
mov dword [esp + 4], esi
mov dword [esp], str.Time_Stamp:__s
call sub.msvcrt.dll_printf
jmp 0x4074cb
mov eax, dword [ebp + 8]
mov ecx, 1
mov edx, dword [ebp + 0xc]
call fcn.004026f0
jmp 0x4074cb
mov ebx, dword [0x4713ac]
test ebx, ebx
je 0x4081c0
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov eax, dword [0x4713b0]
test edx, edx
jne 0x4081c0
cmp ecx, eax
jae 0x4081c0
add ecx, ebx
mov dword [esp + 4], ecx
mov dword [esp], str.Interface_Version:__s
call sub.msvcrt.dll_printf
jmp 0x4074cb
cmp ebx, 0
ja 0x407c95
cmp ecx, 0xe
ja 0x407c95
xor ecx, 1
or ecx, ebx
jne 0x4074c1
mov dword [esp + 4], esi
mov dword [esp], str.Shared_library:___s_
call sub.msvcrt.dll_printf
mov dword [esp + 4], 0x471d20
mov dword [esp], esi
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x4074cb
mov dword [esp], str._program_interpreter
call sub.msvcrt.dll_printf
jmp 0x4074cb
mov edx, dword [0x471e60]
mov eax, dword [0x4713c0]
mov ecx, edx
shl ecx, 4
mov ebx, eax
add ecx, eax
cmp eax, ecx
jae 0x406e47
mov dword [esp + 0x40], 0
jmp 0x40790e
mov edi, esi
xor edi, 0x6ffffdfe
or edi, ecx
je 0x407950
xor esi, 0x6ffffeff
or esi, ecx
je 0x407c30
mov ecx, edx
add ebx, 0x10
shl ecx, 4
add ecx, eax
cmp ebx, ecx
jae 0x407960
mov esi, dword [ebx]
mov ecx, dword [ebx + 4]
mov edi, esi
xor edi, 0x6ffffdff
or edi, ecx
jne 0x4078e6
mov ecx, dword [ebx + 8]
mov esi, ecx
xor esi, 4
or esi, dword [ebx + 0xc]
je 0x407900
mov dword [esp + 4], ecx
mov dword [esp], str.Bad_value___d__for_SYMINENT_entry_n
call fcn.00436bb0
mov edx, dword [0x471e60]
mov eax, dword [0x4713c0]
jmp 0x407900
mov esi, dword [ebx + 8]
mov dword [esp + 0x40], esi
jmp 0x407900
mov ecx, dword [0x471e64]
test ecx, ecx
je 0x406e47
mov eax, dword [esp + 0x40]
test eax, eax
je 0x406e47
mov esi, dword [esp + 0x40]
xor eax, eax
mov edx, ebp
mov dword [esp + 0x10], str.symbol_information
xor ebx, ebx
mov dword [esp + 0xc], 0
mov dword [esp], 1
mov dword [esp + 8], esi
mov dword [esp + 4], 0
call fcn.00402840
test eax, eax
mov edi, eax
je 0x406d00
mov dword [esp], esi
call sub.msvcrt.dll_malloc
test eax, eax
mov esi, eax
mov dword [0x4713bc], eax
je 0x408345
mov eax, dword [esp + 0x40]
mov ebx, edi
shr eax, 2
mov dword [0x471e68], eax
lea eax, [esi + eax*4]
cmp esi, eax
jae 0x407a26
mov dword [esp], ebx
mov dword [esp + 4], 2
call dword [0x472cf4]
mov word [esi], ax
lea eax, [ebx + 2]
add ebx, 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0x472cf4]
mov edx, dword [0x471e68]
mov word [esi + 2], ax
mov eax, dword [0x4713bc]
add esi, 4
lea eax, [eax + edx*4]
cmp esi, eax
jb 0x4079e2
mov dword [esp], edi
call sub.msvcrt.dll_free
jmp 0x406e47
mov edx, dword [0x471e60]
mov eax, dword [0x4713c0]
mov ecx, edx
shl ecx, 4
mov ebx, eax
add ecx, eax
cmp eax, ecx
jb 0x407a62
jmp 0x406e3a
mov ecx, edx
add ebx, 0x10
shl ecx, 4
add ecx, eax
cmp ebx, ecx
jae 0x406e3a
mov ecx, dword [ebx]
xor ecx, 5
or ecx, dword [ebx + 4]
jne 0x407a50
mov edx, dword [ebx + 8]
mov eax, ebp
mov ecx, dword [ebx + 0xc]
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [0x4712c8], edx
mov dword [0x4712cc], ecx
call fcn.00406ba0
mov edi, eax
mov eax, dword [0x471098]
test eax, eax
je 0x407eb9
mov eax, dword [0x471204]
sub eax, edi
test eax, eax
jle 0x40813c
mov esi, eax
mov edx, ebp
mov dword [esp + 8], eax
sar eax, 0x1f
mov ecx, edi
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 0x10], str.dynamic_string_table
mov dword [esp], 1
mov dword [esp + 4], 0
call fcn.00402840
xor edx, edx
test eax, eax
cmovne edx, esi
mov dword [0x4713ac], eax
mov dword [0x4713b0], edx
jmp 0x406e3a
mov edx, dword [0x471e60]
mov eax, dword [0x4713c0]
mov ecx, edx
shl ecx, 4
mov esi, eax
add ecx, eax
cmp eax, ecx
jb 0x407b27
jmp 0x406e2d
mov ecx, edx
add esi, 0x10
shl ecx, 4
add ecx, eax
cmp esi, ecx
jae 0x406e2d
mov ecx, dword [esi]
xor ecx, 6
or ecx, dword [esi + 4]
jne 0x407b15
mov edx, dword [esi + 8]
mov eax, ebp
mov ecx, dword [esi + 0xc]
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [0x4712d0], edx
mov dword [0x4712d4], ecx
call fcn.00406ba0
mov edi, dword [0x471098]
mov edx, eax
sar edx, 0x1f
test edi, edi
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
je 0x407d5e
mov ecx, dword [0x471204]
xor ebx, ebx
sub ecx, eax
sbb ebx, edx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], ebx
mov ebx, dword [0x47109c]
test ebx, ebx
je 0x407c61
mov eax, dword [0x47102c]
mov ecx, 0x4713b8
lea edx, [esp + 0x58]
mov dword [esp + 0x90], 0x10
mov dword [esp + 0x94], 0
mov dword [esp + 0x58], eax
mov eax, ebp
call fcn.00402f90
mov ecx, dword [0x4713b8]
mov dword [0x4713b4], eax
mov edx, dword [0x471e60]
mov eax, dword [0x4713c0]
test ecx, ecx
jne 0x407b15
mov dword [esp], str.Unable_to_determine_the_number_of_symbols_to_load_n
call fcn.00436bb0
mov edx, dword [0x471e60]
mov eax, dword [0x4713c0]
jmp 0x407b15
mov edx, dword [0x471e60]
mov dword [esp + 4], eax
mov dword [esp], str._nDynamic_section_at_offset_0x_lx_contains__lu_entries:_n
mov dword [esp + 8], edx
call sub.msvcrt.dll_printf
mov ebp, dword [0x4711c0]
test ebp, ebp
je 0x406e54
jmp 0x4071a2
mov edi, dword [esp + 0x40]
mov eax, ebp
mov edx, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
mov dword [esp + 4], 0
mov dword [esp], edi
call fcn.00406ba0
mov edx, dword [0x471e60]
mov dword [0x471e64], eax
mov eax, dword [0x4713c0]
jmp 0x407900
mov eax, dword [0x47102c]
mov ecx, 0x4713b8
lea edx, [esp + 0x58]
mov dword [esp + 0x90], 0x18
mov dword [esp + 0x94], 0
mov dword [esp + 0x58], eax
mov eax, ebp
call fcn.004033a0
jmp 0x407bc5
mov edi, ecx
xor edi, 0xf
or edi, ebx
je 0x407d49
xor ecx, 0x1d
or ecx, ebx
jne 0x4074c1
mov dword [esp + 4], esi
mov dword [esp], str.Library_runpath:___s_
call sub.msvcrt.dll_printf
jmp 0x4074cb
mov eax, ecx
xor eax, 0x60000001
or eax, ebx
jne case.0x4076bb.2
mov edx, dword [ebp + 0xc]
mov ecx, 1
xor ebx, ebx
mov edi, dword [ebp + 8]
mov dword [esp + 0x4c], ebp
mov ebp, edx
jmp 0x407d15
mov eax, dword [sym.imp.msvcrt.dll__iob]
xor edi, esi
add eax, 0x20
mov dword [esp + 4], eax
mov eax, dword [ebx*8 + 0x44fa24]
mov dword [esp], eax
call sub.msvcrt.dll_fputs
xor ecx, ecx
xor ebp, dword [esp + 0x44]
add ebx, 1
cmp ebx, 0x11
je 0x407da0
mov esi, dword [ebx*8 + 0x44fa20]
mov eax, esi
sar eax, 0x1f
mov dword [esp + 0x44], eax
mov edx, dword [esp + 0x44]
mov eax, esi
and eax, edi
mov dword [esp + 0x40], esi
and edx, ebp
or edx, eax
je 0x407d09
test ecx, ecx
jne 0x407ce6
mov dword [esp], 0x20
call sub.msvcrt.dll_putchar
jmp 0x407ce6
mov dword [esp + 4], esi
mov dword [esp], str.Library_rpath:___s_
call sub.msvcrt.dll_printf
jmp 0x4074cb
mov dword [esp + 8], 2
mov dword [esp + 4], 0
mov dword [esp], ebp
call sub.msvcrt.dll_fseek
test eax, eax
jne 0x40819e
mov dword [esp], ebp
call sub.msvcrt.dll_ftell
mov edx, eax
sar edx, 0x1f
sub eax, dword [esp + 0x70]
sbb edx, dword [esp + 0x74]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], edx
jmp 0x407b88
test ecx, ecx
mov edx, ebp
mov ebp, dword [esp + 0x4c]
je 0x408158
test ecx, ecx
jne 0x407dc6
mov dword [esp], 0x20
mov dword [esp + 0x3c], edx
call sub.msvcrt.dll_putchar
mov edx, dword [esp + 0x3c]
xor ecx, ecx
mov eax, edi
call fcn.004026f0
jmp 0x4074cb
mov dword [esp], str.Configuration_file
call sub.msvcrt.dll_printf
jmp 0x407492
mov dword [esp], str.Auxiliary_library
call sub.msvcrt.dll_printf
jmp 0x407492
mov eax, ecx
xor eax, 0x70000000
or eax, ebx
je 0x408167
mov eax, ecx
xor eax, 0x60000015
or eax, ebx
jne case.0x4076bb.2
mov eax, dword [ebp + 8]
mov ecx, 4
mov edx, dword [ebp + 0xc]
call fcn.004026f0
mov eax, dword [ebp + 8]
test al, 1
jne 0x40825f
test al, 2
jne 0x40820f
test al, 4
jne 0x4081fb
test al, 8
jne 0x4082ff
test al, 0x10
jne 0x4082eb
test al, 0x20
jne 0x4082d7
test al, 0x40
jne 0x4082c3
test al, 0x80
jne 0x4082af
test ah, 2
jne 0x40829b
test ah, 4
jne 0x408287
test ah, 8
jne 0x408273
test ah, 0x10
jne 0x408237
test ah, 0x20
nop
jne 0x408223
test ah, 0x40
jne 0x40824b
test ah, 0x80
je 0x4074cb
mov dword [esp], str._REL_SEG_OFF
call sub.msvcrt.dll_printf
jmp 0x4074cb
mov dword [esp + 8], 2
mov dword [esp + 4], 0
mov dword [esp], ebp
call sub.msvcrt.dll_fseek
test eax, eax
jne 0x4081af
mov dword [esp], ebp
call sub.msvcrt.dll_ftell
sub eax, edi
jmp 0x407aaa
mov dword [esp], str._PIE
xor ebx, 0x8000000
call sub.msvcrt.dll_printf
jmp 0x40731c
mov dword [esp], str._SINGLETON
xor ebx, 0x2000000
call sub.msvcrt.dll_printf
jmp 0x407304
mov dword [esp], str._GLOBAUDIT
xor ebx, 0x1000000
call sub.msvcrt.dll_printf
jmp 0x4072f8
mov dword [esp], str._STUB
xor ebx, 0x4000000
call sub.msvcrt.dll_printf
jmp 0x407310
mov dword [esp], str._ORIGIN
xor bl, 0x80
call sub.msvcrt.dll_printf
jmp 0x407243
mov dword [esp], str._NOOPEN
xor ebx, 0x40
call sub.msvcrt.dll_printf
jmp 0x40723a
mov dword [esp], str._INITFIRST
xor ebx, 0x20
call sub.msvcrt.dll_printf
jmp 0x407231
mov dword [esp], str._LOADFLTR
xor ebx, 0x10
call sub.msvcrt.dll_printf
jmp 0x407228
mov dword [esp], str._NODELETE
xor ebx, 8
call sub.msvcrt.dll_printf
jmp 0x40721f
mov dword [esp], str._GROUP
xor ebx, 4
call sub.msvcrt.dll_printf
jmp 0x407216
mov dword [esp], str._GLOBAL
xor ebx, 2
call sub.msvcrt.dll_printf
jmp 0x40720b
mov dword [esp], str._NOW
xor ebx, 1
call sub.msvcrt.dll_printf
jmp 0x407202
mov dword [esp], str._SYMINTPOSE
xor ebx, 0x800000
call sub.msvcrt.dll_printf
jmp 0x4072ec
mov dword [esp], str._NORELOC
xor ebx, 0x400000
call sub.msvcrt.dll_printf
jmp 0x4072e0
mov dword [esp], str._EDITED
xor ebx, 0x200000
call sub.msvcrt.dll_printf
jmp 0x4072d4
mov dword [esp], str._NOHDR
xor ebx, 0x100000
call sub.msvcrt.dll_printf
jmp 0x4072c8
mov dword [esp], str._NOKSYMS
xor ebx, 0x80000
call sub.msvcrt.dll_printf
jmp 0x4072bc
mov dword [esp], str._IGNMULDEF
xor ebx, 0x40000
call sub.msvcrt.dll_printf
jmp 0x4072b0
mov dword [esp], str._NODIRECT
xor ebx, 0x20000
call sub.msvcrt.dll_printf
jmp 0x4072a4
mov dword [esp], str._DISPRELPND
xor ebx, 0x10000
call sub.msvcrt.dll_printf
jmp 0x407298
mov dword [esp], str._DISPRELDNE
xor bh, 0x80
call sub.msvcrt.dll_printf
jmp 0x40728c
mov dword [esp], str._ENDFILTEE
xor bh, 0x40
call sub.msvcrt.dll_printf
jmp 0x407283
mov dword [esp], str._CONFALT
xor bh, 0x20
call sub.msvcrt.dll_printf
jmp 0x40727a
mov dword [esp], str._NODUMP
xor bh, 0x10
call sub.msvcrt.dll_printf
jmp 0x407271
mov dword [esp], str._NODEFLIB
xor bh, 8
call sub.msvcrt.dll_printf
jmp 0x407268
mov dword [esp], str._INTERPOSE
xor bh, 4
call sub.msvcrt.dll_printf
jmp 0x40725f
mov dword [esp], str._TRANS
xor bh, 2
call sub.msvcrt.dll_printf
jmp 0x407256
mov dword [esp], str._DIRECT
xor bh, 1
call sub.msvcrt.dll_printf
jmp 0x40724c
mov dword [esp], str.Unable_to_determine_the_length_of_the_dynamic_string_table_n
call fcn.00436bb0
mov edx, dword [0x471e60]
mov eax, dword [0x4713c0]
jmp 0x407a50
mov esi, edi
or esi, edx
jne 0x407dae
jmp 0x4074cb
mov edx, dword [ebp + 0xc]
mov ecx, 4
mov eax, dword [ebp + 8]
call fcn.004026f0
mov dword [esp], str.___
call sub.msvcrt.dll_printf
mov eax, dword [ebp + 8]
mov ecx, 4
mov edx, dword [ebp + 0xc]
add eax, 0x18
adc edx, 0
call fcn.004026f0
jmp 0x4074cb
mov dword [esp], str.Unable_to_seek_to_end_of_file__n
call fcn.00436bb0
jmp 0x407d7e
mov dword [esp], str.Unable_to_seek_to_end_of_file_n
call fcn.00436bb0
jmp 0x407ed9
mov eax, dword [ebp + 8]
lea esi, [esp + 0x58]
mov edx, dword [ebp + 0xc]
lea edi, [esp + 0x58]
mov dword [esp + 4], 0x445515
mov dword [esp], esi
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call sub.msvcrt.dll_sprintf
mov dword [esp + 4], edi
mov dword [esp], str._corrupt:__s_
call sub.msvcrt.dll_printf
jmp 0x4074cb
mov dword [esp], str._P0IMAGE
call sub.msvcrt.dll_printf
mov eax, dword [ebp + 8]
jmp 0x407e3f
mov dword [esp], str._NOP0BUFS
call sub.msvcrt.dll_printf
mov eax, dword [ebp + 8]
jmp 0x407e37
mov dword [esp], str._DBG_IN_DSF
call sub.msvcrt.dll_printf
mov eax, dword [ebp + 8]
jmp 0x407e96
mov dword [esp], str._TBK_IN_DSF
call sub.msvcrt.dll_printf
mov eax, dword [ebp + 8]
jmp 0x407e8b
mov dword [esp], str._SIGNATURES
call sub.msvcrt.dll_printf
mov eax, dword [ebp + 8]
jmp 0x407e9f
mov dword [esp], str._CALL_DEBUG
call sub.msvcrt.dll_printf
mov eax, dword [ebp + 8]
jmp 0x407e2f
mov dword [esp], str._DBG_IN_IMG
call sub.msvcrt.dll_printf
mov eax, dword [ebp + 8]
jmp 0x407e82
mov dword [esp], str._TBK_IN_IMG
call sub.msvcrt.dll_printf
mov eax, dword [ebp + 8]
jmp 0x407e79
mov dword [esp], str._EXE_INIT
call sub.msvcrt.dll_printf
mov eax, dword [ebp + 8]
jmp 0x407e70
mov dword [esp], str._MAIN
call sub.msvcrt.dll_printf
mov eax, dword [ebp + 8]
jmp 0x407e67
mov dword [esp], str._INITIALIZE
call sub.msvcrt.dll_printf
mov eax, dword [ebp + 8]
jmp 0x407e5f
mov dword [esp], str._IMGSTA
call sub.msvcrt.dll_printf
mov eax, dword [ebp + 8]
jmp 0x407e57
mov dword [esp], str._UPCALLS
call sub.msvcrt.dll_printf
mov eax, dword [ebp + 8]
jmp 0x407e4f
mov dword [esp], str._MKTHREADS
call sub.msvcrt.dll_printf
mov eax, dword [ebp + 8]
jmp 0x407e47
mov dword [esp], str.NONE
call sub.msvcrt.dll_printf
jmp 0x4074cb
lea edx, [esp + 0x58]
mov dword [esp + 8], 0x444781
mov dword [esp + 4], 0x14
mov dword [esp], edx
call fcn.00403f70
jmp 0x4077f7
mov edi, dword [esp + 0x40]
mov dword [esp], str.Out_of_memory_allocating__lu_byte_for_dynamic_symbol_info_n
mov dword [esp + 4], edi
call fcn.00436bb0
jmp 0x406d00
cmp ecx, 0x6ffffffa
ja 0x4071c8
cmp ebx, 0
ja 0x406f44
cmp ecx, 0x6ffffff9
jae 0x406f44
mov eax, ecx
xor eax, 0x6ffffeff
or eax, ebx
je 0x4073ed
jmp 0x407110
cmp ecx, 0x13
ja 0x4083e3
cmp ebx, 0
nop
lea esi, [esi]
jbe 0x40847d
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov dword [ecx*8 + 0x4712a0], eax
mov dword [ecx*8 + 0x4712a4], edx
test esi, esi
je 0x406e93
mov eax, dword [ebp + 8]
mov ecx, 3
mov edx, dword [ebp + 0xc]
call fcn.004026f0
mov dword [esp], str.__bytes_
call sub.msvcrt.dll_puts
jmp 0x406e93
cmp ebx, 0
ja 0x407057
cmp ecx, 0x1a
nop
jbe 0x408407
cmp ebx, 0
ja 0x407057
cmp ecx, 0x1c
nop
jbe 0x4083ba
jmp 0x407057
cmp ebx, 0
ja 0x4073ed
cmp ecx, 0x19
jae 0x4073ed
cmp ebx, 0
jbe 0x4084db
test esi, esi
je 0x406e93
lea esi, [esi]
jmp 0x4074cb
cmp ecx, 0x6ffffefa
jae 0x40746f
cmp ebx, 0
jbe 0x408525
lea esi, [esi]
mov eax, ecx
xor eax, 0x6ffffef5
or eax, ebx
jne 0x407110
mov eax, dword [ebp + 8]
test esi, esi
mov edx, dword [ebp + 0xc]
mov dword [0x4713a0], eax
mov dword [0x4713a4], edx
je 0x406e93
jmp 0x4074c1
cmp ecx, 0x12
jae 0x4083a6
cmp ebx, 0
ja 0x407057
cmp ecx, 7
ja 0x4084c0
cmp ebx, 0
ja 0x407057
cmp ecx, 3
jae 0x407057
cmp ebx, 0
ja 0x4083a6
cmp ecx, 1
jbe 0x407057
jmp 0x4083a6
cmp ebx, 0
ja 0x407057
cmp ecx, 0xb
lea esi, [esi]
jbe 0x4083a6
jmp 0x407057
cmp ecx, 0x17
nop
ja 0x408422
cmp ebx, 0
ja 0x407057
cmp ecx, 0x15
jae 0x407057
mov eax, dword [ebp + 8]
test esi, esi
mov edx, dword [ebp + 0xc]
mov dword [0x471340], eax
mov dword [0x471344], edx
je 0x406e93
call fcn.00404bd0
mov dword [esp], eax
call sub.msvcrt.dll_puts
nop
jmp 0x406e93
cmp ecx, 0x6ffffdfb
ja 0x4085e5
cmp ebx, 0
ja 0x4083ba
cmp ecx, 0x6ffffdf9
jae 0x4083ba
mov eax, ecx
xor eax, 0x6ffffdf5
or eax, ebx
je 0x408580
cmp ebx, 0
ja 0x407110
cmp ecx, 0x6ffffdf5
jb 0x407110
cmp ebx, 0
ja 0x407110
cmp ecx, 0x6ffffdf7
ja 0x407110
jmp 0x4083ba
test esi, esi
je 0x406e93
mov eax, dword [ebp + 8]
lea edi, [esp + 0x54]
mov dword [esp], edi
mov dword [esp + 0x54], eax
call sub.msvcrt.dll_gmtime
test eax, eax
je 0x4086d6
mov edx, dword [eax]
mov dword [esp + 0x18], edx
mov edx, dword [eax + 4]
mov dword [esp + 0x14], edx
mov edx, dword [eax + 8]
mov dword [esp + 0x10], edx
mov edx, dword [eax + 0xc]
mov dword [esp + 0xc], edx
mov edx, dword [eax + 0x10]
add edx, 1
mov dword [esp + 8], edx
mov eax, dword [eax + 0x14]
mov dword [esp], str._04u__02u__02uT_02u:_02u:_02u_n
add eax, 0x76c
mov dword [esp + 4], eax
call sub.msvcrt.dll_printf
jmp 0x406e93
cmp ebx, 0
ja 0x408450
cmp ecx, 0x6ffffdff
ja 0x408450
cmp ebx, 0
ja 0x4073ed
cmp ecx, 0x6ffffdfe
jae 0x4073ed
mov eax, ecx
xor eax, 0x6ffffdfc
or eax, ebx
je 0x408670
mov eax, ecx
xor eax, 0x6ffffdfd
or eax, ebx
jne 0x407110
test esi, esi
je 0x406e93
mov dword [esp], str.Flags:
call sub.msvcrt.dll_printf
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
or esi, ebx
je 0x4075d0
test bl, 1
jne 0x4086b4
test bl, 2
je 0x40731c
mov dword [esp], str._GROUPPERM
xor ebx, 2
call sub.msvcrt.dll_printf
jmp 0x40731c
test esi, esi
je 0x406e93
mov dword [esp], str.Flags:
call sub.msvcrt.dll_printf
mov ebx, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
or ecx, ebx
je 0x4075d0
test bl, 1
jne 0x4086c5
test bl, 2
je 0x40731c
mov dword [esp], str._CONFEXP
xor ebx, 2
call sub.msvcrt.dll_printf
jmp 0x40731c
mov dword [esp], str._LAZYLOAD
xor ebx, 1
call sub.msvcrt.dll_printf
jmp 0x408650
mov dword [esp], str._PARINIT
xor ebx, 1
call sub.msvcrt.dll_printf
jmp 0x408697
mov eax, dword [esp + 0x54]
mov dword [esp], str._corrupt_time_val:__lx
mov dword [esp + 4], eax
call sub.msvcrt.dll_printf
jmp 0x406e93