Function at 0x410910
Capabilities:
Contain obfuscated stackstrings
Read file on windows
Write file on windows

Disassembly:
push ebp
mov eax, 0x80b8
mov ebp, esp
call fcn.0046ed50
sub esp, eax
mov dword [ebp - 0xc], ebx
mov dword [ebp - 8], esi
mov esi, ecx
mov dword [ebp - 4], edi
call fcn.004044a0
test eax, eax
mov ebx, eax
jne 0x41095f
cmp byte [esi + 0x828c], 0
mov byte [esi + 0x8f37], 1
jne 0x410952
cmp byte [esi + 0x8f35], 0
je 0x411180
mov ecx, esi
call fcn.00408ff0
test eax, eax
mov ebx, eax
je 0x410970
mov esi, dword [ebp - 8]
mov eax, ebx
mov ebx, dword [ebp - 0xc]
mov edi, dword [ebp - 4]
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.0040afc0
test eax, eax
mov ebx, eax
jne 0x41095f
mov ecx, esi
call fcn.0040a3f0
test eax, eax
mov ebx, eax
jne 0x41095f
mov dword [esp], 1
mov eax, 0xffffffff
mov ecx, esi
mov dword [esp + 4], eax
call fcn.00418a60
mov ecx, esi
sub esp, 8
mov dword [esp], str.install
call fcn.00409af0
sub esp, 4
test eax, eax
jne 0x4111d2
mov ecx, esi
call fcn.00402ae0
mov ecx, esi
call fcn.0040dd30
test eax, eax
mov ebx, eax
jne 0x41095f
mov ecx, esi
call fcn.0041a950
test eax, eax
mov ebx, eax
jne 0x41095f
mov ecx, esi
call fcn.004078e0
test eax, eax
mov ebx, eax
jne 0x41095f
mov ecx, esi
call fcn.00404ce0
test eax, eax
mov ebx, eax
jne 0x41095f
mov ecx, esi
call fcn.00408a10
mov eax, dword [esi + 0xad70]
cmp dword [esi + 0xad74], eax
je 0x4111fe
mov edx, dword [esi + 0xad80]
xor edi, edi
xor ecx, ecx
mov dword [ebp - 0x8018], edi
mov eax, dword [esi + 0xad7c]
xor ebx, ebx
mov dword [ebp - 0x8014], ecx
mov dword [ebp - 0x8010], ebx
mov edi, edx
sub edi, eax
je 0x4111e0
cmp edi, 0x7ffffff8
ja 0x4116ba
mov dword [esp], edi
call fcn.00450d80
mov edx, dword [esi + 0xad80]
mov ebx, eax
mov eax, dword [esi + 0xad7c]
mov ecx, edx
sub ecx, eax
mov dword [ebp - 0x805c], ecx
mov dword [ebp - 0x8018], ebx
add edi, ebx
cmp eax, edx
mov dword [ebp - 0x8014], ebx
mov dword [ebp - 0x8010], edi
je 0x410aa1
mov edx, dword [ebp - 0x805c]
mov dword [esp + 4], eax
mov dword [esp], ebx
mov dword [esp + 8], edx
call sub.msvcrt.dll_memmove
mov eax, dword [ebp - 0x805c]
xor edi, edi
xor ecx, ecx
mov dword [ebp - 0x8030], edi
mov edx, dword [esi + 0xad74]
mov dword [ebp - 0x802c], ecx
add ebx, eax
mov eax, dword [esi + 0xad70]
mov dword [ebp - 0x8014], ebx
mov edi, edx
xor ebx, ebx
mov dword [ebp - 0x8034], ebx
sub edi, eax
je 0x4111ef
cmp edi, 0x7ffffff8
ja 0x4116c5
mov dword [esp], edi
call fcn.00450d80
mov edx, dword [esi + 0xad74]
mov ebx, eax
mov eax, dword [esi + 0xad70]
mov ecx, edx
sub ecx, eax
mov dword [ebp - 0x805c], ecx
mov dword [ebp - 0x8034], ebx
add edi, ebx
cmp edx, eax
mov dword [ebp - 0x8030], ebx
mov dword [ebp - 0x802c], edi
je 0x410b37
mov edx, dword [ebp - 0x805c]
mov dword [esp + 4], eax
mov dword [esp], ebx
mov dword [esp + 8], edx
call sub.msvcrt.dll_memmove
mov eax, dword [ebp - 0x805c]
add ebx, eax
mov dword [ebp - 0x8030], ebx
lea eax, [ebp - 0x8018]
mov dword [ebp - 0x8060], eax
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x8034]
mov dword [esp + 8], eax
mov eax, 0x67
mov dword [esp + 4], eax
mov eax, dword [esi + 0xaea8]
mov dword [esp], eax
call fcn.004172c0
mov eax, dword [ebp - 0x8034]
test eax, eax
je 0x410b94
mov edx, dword [ebp - 0x802c]
mov dword [esp], eax
sub edx, eax
mov dword [esp + 4], edx
call fcn.004a2230
mov eax, dword [ebp - 0x8018]
test eax, eax
je 0x410bb2
mov edx, dword [ebp - 0x8010]
mov dword [esp], eax
sub edx, eax
mov dword [esp + 4], edx
call fcn.004a2230
mov ecx, esi
call fcn.00405c00
mov ecx, esi
call fcn.00404440
test eax, eax
mov ebx, eax
jne 0x41095f
mov ecx, esi
call fcn.004075e0
test eax, eax
mov ebx, eax
jne 0x41095f
xor eax, eax
mov dword [esi + 0x9f50], eax
lea eax, [esi + 0xac90]
mov dword [ebp - 0x8068], eax
mov ecx, eax
call fcn.00421500
mov ecx, esi
mov dword [ebp - 0x8078], eax
call fcn.0040f930
test eax, eax
mov ebx, eax
jne 0x41095f
lea eax, [esi + 0xa1c4]
mov dword [ebp - 0x8064], eax
xor eax, eax
mov dword [ebp - 0x8070], eax
jmp 0x410c76
mov dword [esp], esi
mov eax, 0x4af100
mov dword [esp + 4], eax
call fcn.00403350
mov edi, dword [ebp - 0x8070]
cmp edi, 0xff
je 0x4111d2
mov eax, 0x400
mov ecx, esi
mov dword [esp + 4], eax
inc edi
mov eax, dword [ebp - 0x8064]
mov dword [esp], eax
call fcn.00404980
mov dword [ebp - 0x8070], edi
sub esp, 8
test al, al
je 0x4111d2
mov edi, dword [ebp - 0x8064]
lea eax, [ebp - 0x8010]
mov dword [ebp - 0x8018], eax
mov dword [esp], edi
call sub.msvcrt.dll_wcslen
mov dword [esp], edi
lea eax, [edi + eax*2]
mov dword [esp + 4], eax
mov edi, dword [ebp - 0x8060]
mov ecx, edi
call fcn.00401920
lea eax, [ebp - 0x804c]
sub esp, 8
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.0044f100
mov eax, dword [ebp - 0x8018]
lea edx, [ebp - 0x8010]
cmp eax, edx
je 0x410ce2
mov edx, dword [ebp - 0x8010]
mov dword [esp], eax
lea edx, [edx + edx + 2]
mov dword [esp + 4], edx
call fcn.004a2230
mov edi, dword [ebp - 0x8064]
lea eax, [ebp - 0x8010]
mov dword [ebp - 0x8018], eax
mov dword [esp], edi
call sub.msvcrt.dll_wcslen
mov dword [esp], edi
lea eax, [edi + eax*2]
mov dword [esp + 4], eax
mov edi, dword [ebp - 0x8060]
mov ecx, edi
call fcn.00401920
lea eax, [ebp - 0x8034]
sub esp, 8
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.0044f3a0
mov eax, dword [ebp - 0x8018]
lea edx, [ebp - 0x8010]
cmp eax, edx
je 0x410d4e
mov edx, dword [ebp - 0x8010]
mov dword [esp], eax
lea edx, [edx + edx + 2]
mov dword [esp + 4], edx
call fcn.004a2230
mov eax, dword [ebp - 0x804c]
mov ecx, esi
mov dword [esp], 3
mov dword [esp + 4], eax
call fcn.004031f0
mov eax, dword [ebp - 0x804c]
sub esp, 8
mov dword [esp], esi
mov dword [esp + 8], eax
mov eax, str._nOutput:___ls__n
mov dword [esp + 4], eax
call fcn.00403010
mov edi, dword [ebp - 0x8034]
mov eax, str.setup.exe
mov dword [esp + 4], eax
mov dword [esp], edi
call dword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
jne 0x410dd6
movzx eax, byte [esi + 0x23]
mov edx, str.Insecure_filename___ls___Windows_will_unsafely_load_compatibility_shims_into_the_process.
mov ecx, 0x2328
mov byte [esi + 0x23], 0
mov byte [ebp - 0x805c], al
mov dword [esp + 0xc], edi
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [esp], esi
call fcn.004075b0
movzx eax, byte [ebp - 0x805c]
mov byte [esi + 0x23], al
mov eax, dword [ebp - 0x8034]
lea edx, [ebp - 0x802c]
cmp eax, edx
je 0x410dfc
mov edx, dword [ebp - 0x802c]
mov dword [esp], eax
lea edx, [edx + edx + 2]
mov dword [esp + 4], edx
call fcn.004a2230
mov eax, dword [ebp - 0x804c]
lea edx, [ebp - 0x8044]
cmp eax, edx
je 0x410e22
mov edx, dword [ebp - 0x8044]
mov dword [esp], eax
lea edx, [edx + edx + 2]
mov dword [esp + 4], edx
call fcn.004a2230
mov eax, 0x4af0fc
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x8064]
mov dword [esp], eax
call fcn.0044ebb0
mov dword [ebp - 0x805c], eax
test eax, eax
je 0x410c28
mov eax, dword [ebp - 0x805c]
mov dword [esp + 0xc], eax
mov eax, dword [esi + 0xad64]
mov dword [esp + 4], 1
mov dword [esp + 8], eax
mov eax, dword [esi + 0xad60]
mov dword [esp], eax
call sub.msvcrt.dll_fwrite
mov edx, eax
mov eax, dword [esi + 0xad64]
cmp eax, edx
jne 0x4111b0
sub eax, 0x200
xor edi, edi
mov dword [ebp - 0x8058], edi
mov dword [esp + 8], eax
mov eax, dword [esi + 0xad60]
add eax, 0x200
mov dword [esp + 4], eax
xor eax, eax
mov dword [esp], eax
call fcn.00412bd0
mov edx, dword [esi + 0x9f48]
mov dword [ebp - 0x802c], 0x6c6c754e
mov dword [ebp - 0x8028], 0x74666f73
mov dword [ebp - 0x8024], 0x74736e49
mov dword [ebp - 0x8058], eax
xor eax, eax
test edx, edx
mov dword [ebp - 0x8020], eax
mov dword [ebp - 0x801c], eax
mov eax, 4
je 0x410ef7
xor eax, eax
cmp edx, 2
sete al
shl eax, 3
test byte [esi + 0x9f58], 0x18
mov dword [ebp - 0x8034], eax
je 0x410f0f
or eax, 2
mov dword [ebp - 0x8034], eax
cmp byte [esi + 0x8f26], 0
mov dword [ebp - 0x8030], 0xdeadbeef
je 0x410f4c
mov ecx, dword [esi + 0x8ed0]
mov edx, dword [esi + 0x8f30]
mov eax, dword [ecx]
mov dword [esp + 4], edx
mov edx, dword [esi + 0x8f2c]
mov dword [esp], edx
call dword [eax + 8]
test eax, eax
mov edx, eax
push ecx
push ecx
jne 0x411d80
lea ecx, [ebp - 0x804c]
call fcn.00415e50
mov edi, dword [ebp - 0x8060]
mov ecx, edi
call fcn.00415e50
mov dword [esp], edi
mov ecx, esi
call fcn.0040b1c0
push eax
mov ecx, edi
mov dword [ebp - 0x8060], edi
call fcn.00415b60
mov ecx, dword [ebp - 0x8060]
mov edi, eax
call fcn.00415b70
mov dword [esp + 4], edi
lea edx, [ebp - 0x804c]
mov ecx, esi
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.00403b80
sub esp, 0xc
test eax, eax
js 0x41201a
mov edi, dword [ebp - 0x8060]
mov ecx, edi
call fcn.00415b60
mov dword [ebp - 0x8020], eax
lea ecx, [ebp - 0x804c]
call fcn.00415b60
mov dword [ebp - 0x808c], eax
mov ecx, edi
call fcn.00415b80
cmp byte [esi + 0x8f26], 0
jne 0x412001
lea ecx, [ebp - 0x804c]
call fcn.00415b60
mov ecx, dword [ebp - 0x8068]
mov edi, eax
call fcn.00421500
mov edx, eax
xor eax, eax
cmp dword [esi + 0x9f48], 0
setne al
add edi, edx
lea eax, [edi + eax*4 + 0x1c]
mov dword [ebp - 0x801c], eax
xor eax, eax
mov dword [ebp - 0x8074], eax
mov dword [ebp - 0x8018], 0x4cde1c
mov eax, dword [esi]
lea ecx, [ebp - 0x8054]
mov dword [ebp - 0x8054], 0x4cdf14
sub eax, 2
cmp eax, 1
setbe al
shl al, 7
or al, byte [esi + 0x8f35]
mov byte [ebp - 0x8014], al
mov eax, dword [ebp - 0x805c]
mov dword [ebp - 0x8010], eax
mov eax, dword [ebp - 0x8060]
mov dword [ebp - 0x8050], eax
lea eax, [ebp - 0x8034]
mov dword [esp], eax
call fcn.00415380
push eax
cmp byte [esi + 0x8f26], 0
lea ecx, [ebp - 0x804c]
je 0x411f3b
call fcn.00415b60
lea ecx, [ebp - 0x804c]
mov edi, eax
call fcn.00415b70
mov dword [esp + 8], edi
mov ecx, esi
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x805c]
mov dword [esp], eax
call fcn.00404610
sub esp, 0xc
test eax, eax
jne 0x411f1d
lea ecx, [ebp - 0x804c]
call fcn.00415b80
mov dword [esp + 4], str.Install:
mov dword [esp], esi
call fcn.00403010
mov eax, dword [esi + 0x9f60]
test eax, eax
jne 0x411f00
xor edi, edi
mov edx, 0x4ab0c0
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], edi
mov dword [esp + 8], eax
mov dword [esp + 4], str._d_page_ls___d_bytes__
mov dword [esp], esi
call fcn.00403010
lea eax, [esi + 0xaafc]
mov dword [ebp - 0x8088], eax
mov ecx, eax
mov edi, eax
call fcn.00415b60
mov ecx, 0x2018
xor edx, edx
div ecx
mov ecx, edi
mov dword [ebp - 0x8080], eax
call fcn.00415b70
xor ecx, ecx
mov edi, dword [ebp - 0x805c]
mov dword [ebp - 0x8070], ecx
xor edx, edx
jmp 0x41115b
test cl, 1
je 0x411171
inc dword [ebp - 0x8070]
inc edx
add eax, 0x2018
mov ecx, dword [ebp - 0x8080]
cmp edx, ecx
jge 0x411293
cmp dword [eax], 0
mov ecx, dword [eax + 8]
je 0x41114a
and ecx, 0x11
cmp ecx, 0x11
jne 0x411155
jmp 0x41114f
mov dword [esp], esi
mov eax, str.ANSI_targets_are_deprecated
mov dword [esp + 8], eax
mov eax, 0x1f3e
mov dword [esp + 4], eax
call fcn.004075b0
mov ecx, esi
call fcn.00408ff0
test eax, eax
mov ebx, eax
jne 0x41095f
jmp 0x410970
mov dword [esp + 8], eax
mov dword [esp + 4], str.Error:_cant_write__d_bytes_to_output_n
mov dword [esp], esi
call fcn.00403350
mov eax, dword [ebp - 0x805c]
mov dword [esp], eax
call sub.msvcrt.dll_fclose
mov ebx, 0x32
jmp 0x41095f
xor ebx, ebx
mov dword [ebp - 0x805c], ebx
xor ebx, ebx
jmp 0x410a73
xor ecx, ecx
xor ebx, ebx
mov dword [ebp - 0x805c], ecx
jmp 0x410b09
mov ecx, esi
call fcn.00404c60
lea eax, [ebp - 0x8018]
mov dword [ebp - 0x8060], eax
mov edx, eax
mov dword [esp + 8], 0x67
mov eax, dword [esi + 0xaea8]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.004160f0
mov ecx, dword [ebp - 0x8018]
xor edi, edi
mov dword [ebp - 0x8018], edi
mov eax, dword [esi + 0xad70]
mov edx, dword [esi + 0xad78]
mov dword [esi + 0xad70], ecx
mov ecx, dword [ebp - 0x8014]
mov dword [ebp - 0x8014], edi
test eax, eax
mov dword [esi + 0xad74], ecx
mov ecx, dword [ebp - 0x8010]
mov dword [ebp - 0x8010], edi
mov dword [esi + 0xad78], ecx
je 0x411283
mov dword [esp], eax
sub edx, eax
mov dword [esp + 4], edx
call fcn.004a2230
mov ecx, dword [ebp - 0x8060]
call fcn.004942e0
jmp 0x410a19
cmp ecx, 1
mov edx, ecx
mov dword [ebp - 0x805c], edi
mov ecx, 0x4ab0c0
mov eax, 0x4ab0a2
mov dword [esp + 8], edx
cmovne eax, ecx
mov dword [esp + 0xc], eax
mov dword [esp + 4], str._d_section_ls
mov dword [esp], esi
call fcn.00403010
cmp dword [ebp - 0x8070], 0
jne 0x411c97
mov ecx, dword [ebp - 0x8088]
mov edi, 0x4ab0c0
call fcn.00415b60
mov dword [esp + 4], str.___d_bytes__
mov dword [esp], esi
mov dword [esp + 8], eax
call fcn.00403010
mov eax, dword [esi + 0x9f70]
mov edx, 0x4ab0a2
mov dword [esp + 4], str._d_instruction_ls___d_bytes__
mov dword [esp], esi
mov dword [esp + 8], eax
imul ecx, eax, 0x1c
cmp eax, 1
cmove edi, edx
mov dword [esp + 0xc], edi
mov edi, 0x4ab0c0
mov dword [esp + 0x10], ecx
call fcn.00403010
lea ecx, [esi + 0xabd8]
mov dword [ebp - 0x8080], ecx
call fcn.0044ae10
mov ecx, dword [ebp - 0x8080]
mov dword [ebp - 0x8070], eax
call fcn.0048d510
mov edx, dword [ebp - 0x8070]
mov dword [esp + 4], str._d_string_ls___d_bytes__
mov dword [esp], esi
mov dword [esp + 8], edx
cmp edx, 1
mov ecx, eax
mov eax, 0x4ab0a2
mov dword [esp + 0x10], ecx
cmove edi, eax
mov dword [esp + 0xc], edi
mov edi, 0x4ab0c0
call fcn.00403010
mov edx, dword [esi + 0x9f80]
lea ecx, [esi + 0xac0c]
mov dword [ebp - 0x8070], edx
call fcn.00415b60
mov edx, dword [ebp - 0x8070]
mov dword [esp + 4], str._d_language_table_ls___d_bytes_._n
mov dword [esp], esi
mov dword [esp + 8], edx
cmp edx, 1
mov ecx, eax
mov eax, 0x4ab0a2
mov dword [esp + 0x10], ecx
cmove edi, eax
mov dword [esp + 0xc], edi
call fcn.00403010
lea eax, [esi + 0xab3c]
mov dword [ebp - 0x8080], eax
mov ecx, eax
call fcn.00415b60
test eax, eax
jne 0x411a5c
mov eax, dword [esi + 0xaa7c]
or eax, dword [esi + 0xaa78]
jne 0x411969
mov ecx, dword [esi + 0x8ed0]
mov eax, str.__compress_whole_
mov ebx, 0x4ab0a2
cmp byte [esi + 0x8f26], 0
cmovne ebx, eax
mov eax, dword [ecx]
call dword [eax + 0x28]
mov dword [esp + 0xc], ebx
mov dword [esp + 4], str._nUsing__ls_ls_compression._n_n
mov dword [esp], esi
mov dword [esp + 8], eax
call fcn.00403010
mov ebx, dword [esi + 0xad68]
mov dword [esp + 0xc], ebx
mov eax, dword [esi + 0xad64]
mov dword [esp + 4], str.EXE_header_size:___________10u____u_bytes_n
mov dword [esp], esi
mov dword [esp + 8], eax
call fcn.00403010
mov eax, dword [ebp - 0x8020]
add eax, 0x1c
cmp byte [esi + 0x8f26], 0
je 0x411cce
mov dword [esp + 8], eax
mov dword [esp + 4], str.Install_code:____________________________d_bytes__n
mov dword [esp], esi
call fcn.00403010
mov eax, dword [ebp - 0x8020]
mov ecx, dword [ebp - 0x8068]
lea eax, [ebx + eax + 0x1c]
mov dword [ebp - 0x8070], eax
call fcn.00421500
mov edx, dword [esi + 0xa1b8]
lea ecx, [edx - 1]
cmp ecx, 0xfffffffd
ja 0x4114a2
sub eax, edx
xor ebx, ebx
cmp byte [esi + 0x8f26], 0
je 0x411740
mov dword [ebp - 0x807c], ebx
mov dword [ebp - 0x8080], eax
mov dword [esp + 8], eax
mov dword [esp + 4], str.Install_data:____________________________u_bytes__n
mov dword [esp], esi
call fcn.00403010
mov ecx, dword [ebp - 0x8080]
mov ebx, dword [ebp - 0x807c]
mov edx, dword [esi + 0xa1b8]
xor eax, eax
cmp dword [esi + 0x9f48], 0
mov dword [ebp - 0x8080], edx
setne al
dec edx
shl eax, 2
cmp edx, 0xfffffffd
ja 0x411701
mov dword [ebp - 0x8084], 0
mov edx, dword [esi + 0xa1bc]
mov edi, dword [ebp - 0x8070]
add edi, edx
add eax, edi
mov edi, eax
not eax
mov dword [ebp - 0x8088], eax
cmp ecx, eax
mov eax, ebx
sbb eax, dword [ebp - 0x8084]
jae 0x4116ed
mov edi, dword [ebp - 0x8070]
add edi, ecx
mov dword [ebp - 0x8070], edi
cmp byte [esi + 0x8f26], 0
je 0x4116ca
mov dword [esp + 8], edx
mov dword [esp + 4], str.Uninstall_codedata:_____________________u_bytes__n
mov dword [esp], esi
call fcn.00403010
mov edx, dword [esi + 0xa1bc]
add dword [ebp - 0x8070], edx
cmp byte [esi + 0x8f26], 0
jne 0x411eeb
mov ecx, dword [ebp - 0x8068]
call fcn.00421500
test eax, eax
jne 0x411dae
cmp byte [esi + 0x8f26], 0
jne 0x41181b
cmp dword [esi + 0x9f48], 0
je 0x411605
mov eax, dword [ebp - 0x8058]
mov dword [ebp - 0x8018], eax
mov eax, dword [ebp - 0x805c]
mov dword [esp + 8], 4
mov dword [esp + 4], 1
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x8060]
mov dword [esp], eax
call sub.msvcrt.dll_fwrite
cmp eax, 4
jne 0x411cf4
mov eax, dword [ebp - 0x8058]
add dword [ebp - 0x8070], 4
mov dword [esp + 4], str.CRC__0x_08X_:__________________4___4_bytes_n
mov dword [esp + 8], eax
mov dword [esp], esi
call fcn.00403010
mov dword [esp + 4], 0x4abbde
mov dword [esp], esi
call fcn.00403010
mov eax, dword [ebp - 0x805c]
mov dword [esp], eax
call sub.msvcrt.dll_ftell
mov edi, dword [ebp - 0x8070]
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edi
mov ebx, eax
mov eax, 0x3e8
imul ebx
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.0046eef0
mov ecx, 0xa
xor edx, edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 4], str.Total_size:________________10u____u_bytes___u._u____n
mov dword [esp], esi
div ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], eax
call fcn.00403010
mov eax, dword [ebp - 0x805c]
mov dword [esp], eax
call sub.msvcrt.dll_fclose
mov ecx, esi
mov dword [esp + 8], str.Finalize
mov eax, dword [ebp - 0x8064]
mov dword [esp + 4], eax
mov eax, dword [esi + 0x8f38]
mov dword [esp], eax
call fcn.00407050
sub esp, 0xc
test eax, eax
mov ebx, eax
jne 0x41095f
mov ecx, esi
call fcn.00403060
jmp 0x41095f
lea esi, [esi]
call fcn.004a6364
call fcn.004a6364
mov dword [esp + 0xc], edx
mov eax, dword [ebp - 0x8080]
mov dword [esp + 4], str.Uninstall_codedata:_______10u____u_bytes_n
mov dword [esp], esi
mov dword [esp + 8], eax
call fcn.00403010
jmp 0x411565
mov eax, dword [ebp - 0x8070]
dec eax
sub eax, edi
mov dword [ebp - 0x8070], eax
jmp 0x411544
mov edx, dword [ebp - 0x8070]
xor edi, edi
mov dword [ebp - 0x806c], edi
mov edi, ebx
add eax, edx
not eax
cmp ecx, eax
sbb edi, dword [ebp - 0x806c]
cmovb eax, ecx
add eax, edx
cmp dword [ebp - 0x8080], 0xffffffff
mov dword [ebp - 0x8070], eax
je 0x411571
mov edx, dword [esi + 0xa1bc]
jmp 0x411544
mov dword [ebp - 0x8088], eax
mov ecx, dword [esi + 0xaa88]
xor edx, edx
mov dword [ebp - 0x8084], ebx
mov eax, dword [esi + 0xa1bc]
mov ebx, dword [esi + 0xaa8c]
mov dword [esp + 0xc], 1
sub ecx, eax
lea eax, [ebp - 0x8048]
sbb ebx, edx
mov dword [esp + 8], eax
mov dword [ebp - 0x8080], ecx
mov dword [ebp - 0x807c], ebx
mov dword [esp], ecx
mov dword [esp + 4], ebx
call fcn.0044fac0
mov ecx, dword [ebp - 0x8088]
cmp dword [ebp - 0x807c], 0
mov ebx, dword [ebp - 0x8084]
mov dword [ebp - 0x804c], eax
mov eax, dword [ebp - 0x8048]
je 0x411cb6
mov eax, 1
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x8014]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call fcn.0044fac0
mov edx, dword [ebp - 0x804c]
mov dword [ebp - 0x8018], eax
mov dword [esp + 0x14], edx
mov edx, dword [ebp - 0x8048]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov eax, dword [ebp - 0x8014]
mov dword [esp + 4], str.Install_data:______________10u_ls____u_ls_n
mov dword [esp], esi
mov dword [esp + 8], eax
call fcn.00403010
mov ecx, dword [ebp - 0x8080]
mov ebx, dword [ebp - 0x807c]
jmp 0x4114dd
xor eax, eax
mov ecx, esi
mov dword [esp + 8], eax
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x805c]
mov dword [esp], eax
call fcn.00404610
sub esp, 0xc
test eax, eax
jne 0x4111c4
mov ecx, dword [esi + 0x8ed0]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov edi, dword [ebp - 0x805c]
mov dword [esp], edi
call sub.msvcrt.dll_ftell
mov dword [ebp - 0x805c], edi
mov dword [esp], edi
mov ebx, eax
call sub.msvcrt.dll_ftell
mov edi, dword [ebp - 0x8074]
xor edx, edx
cmp dword [esi + 0x9f48], 0
setne dl
sub eax, edi
lea eax, [eax + edx*4]
mov edx, dword [ebp - 0x8020]
mov dword [ebp - 0x801c], eax
mov eax, dword [esi + 0xa1bc]
lea eax, [edx + eax + 0x1c]
mov edx, dword [ebp - 0x8078]
add edx, eax
mov eax, dword [ebp - 0x805c]
mov dword [ebp - 0x8068], edx
mov dword [esp], eax
call sub.msvcrt.dll_ftell
mov edx, dword [ebp - 0x8068]
mov dword [esp + 4], str._10d____d_bytes_n
mov dword [esp], esi
mov dword [esp + 0xc], edx
sub eax, edi
mov dword [esp + 8], eax
call fcn.00403010
xor eax, eax
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov edi, dword [ebp - 0x805c]
mov dword [esp], edi
call sub.msvcrt.dll_fseek
mov eax, dword [esi]
lea ecx, [ebp - 0x804c]
mov dword [ebp - 0x8018], 0x4cde1c
mov dword [ebp - 0x8010], edi
mov dword [ebp - 0x804c], 0x4cdf14
sub eax, 2
cmp eax, 1
setbe al
shl al, 7
or al, byte [esi + 0x8f35]
mov byte [ebp - 0x8014], al
mov eax, dword [ebp - 0x8060]
mov dword [ebp - 0x8048], eax
lea eax, [ebp - 0x8034]
mov dword [esp], eax
call fcn.00415380
push eax
cmp dword [esi + 0x9f48], 0
jne 0x411d01
mov dword [esp + 4], ebx
xor edi, edi
mov dword [esp + 8], edi
mov eax, dword [ebp - 0x805c]
mov dword [esp], eax
call sub.msvcrt.dll_fseek
jmp 0x41159e
mov ecx, dword [ebp - 0x8068]
mov edi, dword [esi + 0xad64]
call fcn.00421500
mov ebx, dword [esi + 0xaa7c]
mov ecx, dword [esi + 0xaa78]
mov dword [ebp - 0x806c], ebx
imul edx, ebx, 0x3e8
mov dword [ebp - 0x8070], ecx
mov dword [ebp - 0x8088], eax
mov eax, 0x3e8
mov dword [ebp - 0x8080], edx
mul dword [ebp - 0x8070]
mov ebx, edx
mov edx, dword [ebp - 0x8080]
mov ecx, eax
xor eax, eax
add ebx, edx
mov edx, dword [ebp - 0x8088]
cmp dword [esi + 0x9f48], 0
setne al
lea eax, [edi + eax*4 + 0x1c]
add eax, edx
xor edx, edx
add eax, dword [ebp - 0x8070]
adc edx, dword [ebp - 0x806c]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call fcn.0046eef0
mov edi, eax
xor eax, eax
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x8014]
mov dword [esp + 8], eax
mov ecx, dword [ebp - 0x8070]
mov ebx, dword [ebp - 0x806c]
mov dword [esp], ecx
mov dword [esp + 4], ebx
call fcn.0044fac0
mov ecx, 0xa
mov dword [ebp - 0x8018], eax
mov ebx, eax
mov eax, edi
mov dword [esp + 0xc], ebx
cdq
idiv ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x8014]
mov dword [esp + 4], str.Datablock_optimizer_saved__u_ls___d._d___._n
mov dword [esp], esi
mov dword [esp + 8], eax
call fcn.00403010
jmp 0x4113f2
mov dword [esp + 4], str.Uninstall:
mov dword [esp], esi
call fcn.00403010
mov edx, dword [esi + 0xa08c]
lea ecx, [esi + 0xac4c]
test edx, edx
jne 0x411c57
mov dword [ebp - 0x8070], edx
mov edi, 0x4ab0c0
call fcn.00415b60
mov edx, dword [ebp - 0x8070]
mov dword [esp + 8], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edi
mov dword [esp + 4], str._d_page_ls___d_bytes__
mov dword [esp], esi
call fcn.00403010
lea eax, [esi + 0xab10]
mov dword [ebp - 0x8088], eax
mov ecx, eax
mov edi, eax
call fcn.00415b60
mov ecx, 0x2018
xor edx, edx
div ecx
mov ecx, edi
mov dword [ebp - 0x8070], eax
call fcn.00415b70
mov edi, dword [ebp - 0x805c]
xor edx, edx
mov ecx, dword [ebp - 0x8070]
cmp ebx, ecx
jge 0x411b0f
cmp dword [eax], 0
mov ecx, dword [eax + 8]
jne 0x411afc
test cl, 1
jne 0x411b0c
and ecx, 0x11
cmp ecx, 0x11
je 0x411b0c
inc ebx
add eax, 0x2018
jmp 0x411ae5
inc edx
jmp 0x411b04
mov dword [ebp - 0x8090], edx
cmp ecx, 1
mov edx, ecx
mov dword [ebp - 0x805c], edi
mov ecx, 0x4ab0c0
mov eax, 0x4ab0a2
mov dword [esp + 8], edx
cmovne eax, ecx
mov dword [esp + 0xc], eax
mov dword [esp + 4], str._d_section_ls
mov dword [esp], esi
call fcn.00403010
mov edx, dword [ebp - 0x8090]
test edx, edx
jne 0x411c7e
mov ecx, dword [ebp - 0x8088]
mov ebx, 0x4ab0a2
mov edi, 0x4ab0c0
call fcn.00415b60
mov dword [esp + 4], str.___d_bytes__
mov dword [esp], esi
mov dword [esp + 8], eax
call fcn.00403010
mov edx, dword [esi + 0xa09c]
mov ecx, dword [ebp - 0x8080]
mov dword [ebp - 0x8070], edx
call fcn.00415b60
mov edx, dword [ebp - 0x8070]
mov dword [esp + 4], str._d_instruction_ls___d_bytes__
mov dword [esp], esi
mov dword [esp + 8], edx
cmp edx, 1
mov ecx, eax
mov eax, 0x4ab0c0
mov dword [esp + 0x10], ecx
cmove eax, ebx
mov dword [esp + 0xc], eax
call fcn.00403010
lea ecx, [esi + 0xabf0]
mov dword [ebp - 0x8080], ecx
call fcn.0044ae10
mov ecx, dword [ebp - 0x8080]
mov dword [ebp - 0x8070], eax
call fcn.0048d510
mov edx, dword [ebp - 0x8070]
mov dword [esp + 4], str._d_string_ls___d_bytes__
mov dword [esp], esi
mov dword [esp + 8], edx
cmp edx, 1
mov ecx, eax
mov eax, 0x4ab0c0
mov dword [esp + 0x10], ecx
cmove eax, ebx
mov dword [esp + 0xc], eax
call fcn.00403010
mov edx, dword [esi + 0xa0ac]
lea ecx, [esi + 0xac20]
mov dword [ebp - 0x8070], edx
call fcn.00415b60
mov edx, dword [ebp - 0x8070]
mov dword [esp + 4], str._d_language_table_ls___d_bytes_._n
mov dword [esp], esi
mov dword [esp + 8], edx
cmp edx, 1
cmovne ebx, edi
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ebx
call fcn.00403010
jmp 0x4113e0
dec edx
mov edi, 0x4ab0a2
mov dword [ebp - 0x8070], edx
call fcn.00415b60
mov edx, dword [ebp - 0x8070]
mov ecx, 0x4ab0c0
cmp edx, 1
cmovne edi, ecx
jmp 0x411a96
mov dword [esp + 8], edx
mov dword [esp + 4], str.___u_required_
mov dword [esp], esi
call fcn.00403010
jmp 0x411b53
mov eax, dword [ebp - 0x8070]
mov dword [esp + 4], str.___u_required_
mov dword [esp], esi
mov dword [esp + 8], eax
call fcn.00403010
jmp 0x4112d0
mov edi, dword [ebp - 0x8080]
cmp eax, edi
jne 0x4117b3
mov eax, 3
jmp 0x4117b8
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x808c]
mov dword [esp + 4], str.Install_code:______________10d____d_bytes_n
mov dword [esp], esi
add eax, 0x1c
mov dword [esp + 8], eax
call fcn.00403010
jmp 0x411477
mov dword [esp + 8], 4
jmp 0x4111b4
xor eax, eax
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x8074]
mov dword [esp + 4], eax
mov edi, dword [ebp - 0x805c]
mov dword [esp], edi
call sub.msvcrt.dll_fseek
mov eax, dword [ebp - 0x8060]
mov dword [ebp - 0x805c], eax
jmp 0x411d4f
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x805c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x8058]
mov dword [esp], eax
call fcn.00412bd0
mov dword [ebp - 0x8058], eax
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0x8000
mov dword [esp + 4], 1
mov eax, dword [ebp - 0x805c]
mov dword [esp], eax
call sub.msvcrt.dll_fread
test eax, eax
jne 0x411d2d
mov dword [ebp - 0x805c], edi
jmp 0x41194c
mov ecx, dword [esi + 0x8ed0]
mov edi, edx
mov eax, dword [ecx]
mov dword [esp], edx
call dword [eax + 0x2c]
push edx
mov dword [esp + 0xc], edi
mov dword [esp + 8], eax
mov dword [esp + 4], str.Internal_compiler_error_12345:_deflateInit___failed__ls___d__._n
mov dword [esp], esi
call fcn.00403350
jmp 0x4111d2
mov dword [esp], 1
mov edi, dword [ebp - 0x8068]
mov ecx, edi
call fcn.00420490
mov ecx, edi
push ebx
call fcn.00421500
mov edi, dword [ebp - 0x805c]
mov dword [ebp - 0x8080], eax
mov dword [ebp - 0x805c], eax
jmp 0x411e04
mov dword [esp], edi
mov ecx, esi
call fcn.00404610
sub esp, 0xc
test eax, eax
jne 0x411ebd
mov ecx, dword [ebp - 0x8068]
call fcn.00420630
sub dword [ebp - 0x805c], ebx
cmp dword [ebp - 0x805c], 0
jle 0x411e98
mov edx, dword [ebp - 0x805c]
mov ebx, dword [esi + 0xad48]
cmp edx, ebx
cmovle ebx, edx
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x8080]
sub eax, edx
mov dword [esp], eax
mov ecx, dword [ebp - 0x8068]
call fcn.00421590
push ecx
push ecx
cmp byte [esi + 0x8f26], 0
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
jne 0x411dde
mov dword [ebp - 0x8088], eax
mov eax, dword [ebp - 0x8058]
mov dword [esp], eax
call fcn.00412bd0
mov dword [ebp - 0x8058], eax
mov dword [esp + 0xc], edi
mov dword [esp + 8], ebx
mov dword [esp + 4], 1
mov edx, dword [ebp - 0x8088]
mov dword [esp], edx
call sub.msvcrt.dll_fwrite
cmp eax, ebx
jne 0x411eca
mov dword [esp], edi
call sub.msvcrt.dll_fflush
jmp 0x411df3
mov dword [ebp - 0x805c], edi
xor eax, eax
mov dword [esp], eax
mov edi, dword [ebp - 0x8068]
mov ecx, edi
call fcn.00420490
mov ecx, edi
push edx
call fcn.00420ad0
jmp 0x411591
mov dword [esp], edi
call sub.msvcrt.dll_fclose
jmp 0x4111d2
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Error:_cant_write__d_bytes_to_output_n
mov dword [esp], esi
call fcn.00403350
mov dword [esp], edi
call sub.msvcrt.dll_fclose
jmp 0x4111d2
mov dword [esp + 4], str.Compressed_data:
mov dword [esp], esi
call fcn.00403010
jmp 0x41157e
dec eax
mov ecx, 0x4ab0c0
mov edx, eax
shl edx, 6
cmp eax, 1
mov edi, edx
mov edx, 0x4ab0a2
cmovne edx, ecx
jmp 0x4110f1
mov eax, dword [ebp - 0x805c]
mov dword [esp], eax
call sub.msvcrt.dll_fclose
lea ecx, [ebp - 0x804c]
call fcn.00415b80
jmp 0x4111d2
call fcn.00415b60
lea ecx, [ebp - 0x804c]
mov edi, eax
call fcn.00415b70
mov edx, dword [ebp - 0x805c]
mov dword [esp + 8], edi
mov dword [esp + 4], 1
mov dword [esp], eax
mov dword [esp + 0xc], edx
call sub.msvcrt.dll_fwrite
lea ecx, [ebp - 0x804c]
mov edi, eax
call fcn.00415b60
cmp eax, edi
jne 0x41202a
mov byte [ebp - 0x8014], 0
lea eax, [ebp - 0x8058]
mov dword [ebp - 0x8010], eax
mov eax, dword [ebp - 0x8060]
lea ecx, [ebp - 0x8054]
mov dword [ebp - 0x8018], 0x4cddc8
mov dword [ebp - 0x8054], 0x4cdf14
mov dword [ebp - 0x8050], eax
lea eax, [ebp - 0x8034]
mov dword [esp], eax
call fcn.00415380
lea ecx, [ebp - 0x804c]
push edi
call fcn.00415b60
lea ecx, [ebp - 0x804c]
mov edi, eax
call fcn.00415b70
mov dword [esp + 8], edi
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x8058]
mov dword [esp], eax
call fcn.00412bd0
mov dword [ebp - 0x8058], eax
jmp 0x4110c1
mov eax, dword [ebp - 0x805c]
mov dword [esp], eax
call sub.msvcrt.dll_ftell
mov dword [ebp - 0x8074], eax
jmp 0x41101e
mov ecx, dword [ebp - 0x8060]
call fcn.00415b80
jmp 0x411f2b
lea ecx, [ebp - 0x804c]
call fcn.00415b60
mov dword [esp + 8], eax
mov dword [esp + 4], str.Error:_cant_write__d_bytes_to_output_n
mov dword [esp], esi
call fcn.00403350
mov eax, dword [ebp - 0x805c]
mov dword [esp], eax
call sub.msvcrt.dll_fclose
jmp 0x411f2b