Function at 0x401e90
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x424cbf
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x131c
call fcn.00414800
mov eax, dword [0x42fec8]
xor eax, esp
mov dword [esp + 0x1318], eax
push ebx
push esi
push edi
mov eax, dword [0x42fec8]
xor eax, esp
push eax
lea eax, [esp + 0x1330]
mov dword fs:[0], eax
mov esi, dword [ebp + 0xc]
xor edi, edi
push 0x42aa68
push edi
mov dword [esp + 0x28], edi
call fcn.00410ce0
add esp, 8
call fcn.0041127a
mov eax, dword [eax]
mov ecx, dword [eax + 4]
push ecx
call dword [sym.imp.KERNEL32.dll_SetConsoleOutputCP]
push 0xa
lea ecx, [esp + 0x128]
call fcn.004050ee
push 0xa
lea ecx, [esp + 0x48]
mov dword [esp + 0x133c], edi
call fcn.004050ee
push 0xa
lea ecx, [esp + 0xf0]
mov byte [esp + 0x133c], 1
call fcn.004050ee
push 0xa
lea ecx, [esp + 0x2c]
mov byte [esp + 0x133c], 2
call fcn.004050ee
mov ebx, 3
push 0xa
lea ecx, [esp + 0x64]
mov byte [esp + 0x133c], bl
call fcn.004050ee
push 0xa
lea ecx, [esp + 0xd4]
mov byte [esp + 0x133c], 4
call fcn.004045c8
push 0xa
lea ecx, [esp + 0x144]
mov byte [esp + 0x133c], 5
call fcn.004045c8
push 0xa
lea ecx, [esp + 0x160]
mov byte [esp + 0x133c], 6
call fcn.004045c8
push 0xa
lea ecx, [esp + 0x10c]
mov byte [esp + 0x133c], 7
call fcn.004045c8
push 0xa
lea ecx, [esp + 0x9c]
mov byte [esp + 0x133c], 8
call fcn.004045c8
push 0xa
lea ecx, [esp + 0x80]
mov byte [esp + 0x133c], 9
call fcn.004045c8
push 0xa
lea ecx, [esp + 0x17c]
mov byte [esp + 0x133c], 0xa
call fcn.004045c8
push 0xa
lea ecx, [esp + 0xb8]
mov byte [esp + 0x133c], 0xb
call fcn.004045c8
mov byte [esp + 0x1338], 0xc
xor eax, eax
jmp 0x402020
lea edx, [eax + 0x41]
mov word [eax*2 + 0x433e2c], dx
inc eax
cmp eax, 0x19
jle 0x402020
push edi
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
push edi
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call fcn.004055fc
test eax, eax
jne 0x402062
push str.Fatal_Error:_MFC_initialization_failed_n
call fcn.00410799
mov dword [esp + 0x24], 1
jmp 0x402b00
push str.CmpImg_v1.04_Copyright_c__2011_24_D.Kuznetzoff__demkd_mail.ru__n
call fcn.00410799
add esp, 4
push str.http:__dsrt.dyndns.org:8888_n
call fcn.00410799
add esp, 4
cmp dword [ebp + 8], ebx
jne 0x402af6
mov eax, dword [esi + 4]
push eax
push str._nLoading_OLD_image:__s_n
call fcn.00410799
mov eax, dword [esi + 4]
push 0x433e7c
push 0x433e78
call fcn.00401080
add esp, 0x10
test eax, eax
je 0x402aef
mov edx, dword [0x433e78]
mov eax, dword [0x433e7c]
lea ecx, [esp + 0x98]
push ecx
push 0x433e74
push 0x433e70
push 0x433d10
push 0x433e80
push edx
push eax
mov edx, 0x433e6c
mov ecx, 0x433e68
call fcn.00401210
add esp, 0x1c
test eax, eax
je 0x402ad4
mov ecx, dword [esi + 8]
movzx edi, word [0x433d0c]
push ecx
push str.Loading_NEW_image:__s_n
call fcn.00410799
mov eax, dword [esi + 8]
push 0x433e98
push 0x433e94
call fcn.00401080
add esp, 0x10
test eax, eax
je 0x402a48
mov eax, dword [0x433e94]
mov ecx, dword [0x433e98]
lea edx, [esp + 0x7c]
push edx
push 0x433e90
push 0x433e8c
push 0x433bf0
push 0x433e9c
push eax
push ecx
mov edx, 0x433e88
mov ecx, 0x433e84
call fcn.00401210
add esp, 0x1c
test eax, eax
je 0x402a2d
mov ax, word [0x433d0c]
movzx edx, di
mov word [edx*2 + 0x433daa], ax
movzx eax, ax
push 0x42a88c
mov word [eax*2 + 0x433daa], di
call fcn.00410799
xor edi, edi
add esp, 4
cmp dword [0x433e8c], edi
mov dword [esp + 0x14], edi
jle 0x402231
mov ecx, dword [0x433e84]
lea esi, [edi + ecx]
lea ebx, [esi + 0x208]
mov eax, ebx
call section..text
mov eax, dword [esi + 0x1a50]
and eax, 0x2231c
xor ecx, ecx
or eax, ecx
je 0x402214
mov edx, dword [0x433e70]
mov ecx, dword [0x433e68]
push ebx
push esi
push edx
call fcn.00401aa0
add esp, 0xc
test eax, eax
je 0x4021f3
mov eax, dword [eax + 0x1a50]
and eax, 0x2231c
xor ecx, ecx
or eax, ecx
jne 0x402214
lea ecx, [esp + 0x324]
mov eax, esi
call fcn.00401b50
lea esi, [esp + 0x324]
lea ebx, [esp + 0x124]
call fcn.00401c90
mov eax, dword [esp + 0x14]
inc eax
add edi, 0x1a80
cmp eax, dword [0x433e8c]
mov dword [esp + 0x14], eax
jl 0x4021a0
xor edi, edi
cmp dword [0x433e70], edi
mov dword [esp + 0x14], edi
jle 0x40231b
xor ebx, ebx
jmp 0x402250
mov eax, dword [0x433e68]
lea esi, [ebx + eax]
mov eax, dword [esi + 0x1a50]
and eax, 0x2231c
xor ecx, ecx
or eax, ecx
je 0x4022fe
mov edx, dword [0x433e8c]
lea ecx, [esi + 0x208]
push ecx
mov ecx, dword [0x433e84]
push esi
push edx
call fcn.00401aa0
add esp, 0xc
test eax, eax
je 0x40229f
mov eax, dword [eax + 0x1a50]
and eax, 0x2231c
xor ecx, ecx
or eax, ecx
jne 0x4022fe
lea ecx, [esp + 0x324]
mov eax, esi
call fcn.00401b50
lea eax, [esp + 0x324]
push eax
lea edi, [esp + 0x1c]
lea ecx, [esp + 0x48]
mov dword [esp + 0x1c], 0
call fcn.00401be0
add esp, 4
test eax, eax
je 0x4022fe
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4022ed
lea ecx, [esp + 0x324]
push ecx
push eax
lea ecx, [esp + 0x4c]
call fcn.004053e8
jmp 0x4022fe
lea edx, [esp + 0x324]
push edx
lea ecx, [esp + 0x48]
call fcn.004053ac
mov eax, dword [esp + 0x14]
inc eax
add ebx, 0x1a80
cmp eax, dword [0x433e70]
mov dword [esp + 0x14], eax
jl 0x402250
xor edi, edi
cmp dword [0x433e70], edi
mov dword [esp + 0x24], edi
jle 0x4025b4
mov dword [esp + 0x14], edi
mov eax, dword [0x433e68]
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + eax + 0x1a50]
or edx, dword [ecx + eax + 0x1a54]
lea esi, [ecx + eax]
mov dword [esp + 0x1c], esi
jne 0x402361
mov eax, dword [esi + 0x1a58]
or eax, dword [esi + 0x1a5c]
je 0x402597
mov edx, dword [0x433e8c]
lea ecx, [esi + 0x208]
push ecx
mov ecx, dword [0x433e84]
push esi
push edx
call fcn.00401aa0
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x18], ebx
test ebx, ebx
je 0x402597
lea ecx, [esp + 0x324]
mov eax, esi
call fcn.00401b50
mov eax, dword [esi + 0x1a58]
and eax, 2
xor ecx, ecx
or eax, ecx
jne 0x4024bd
mov eax, dword [ebx + 0x1a58]
and eax, 2
or eax, ecx
jne 0x4024bd
mov eax, dword [esi + 0x1a50]
and eax, 0x400
or eax, ecx
jne 0x4024bd
mov eax, dword [ebx + 0x1a50]
and eax, 0x400
or eax, ecx
jne 0x4024bd
lea eax, [esp + 0x25c]
push eax
mov ecx, esi
call fcn.00401cd0
lea ecx, [esp + 0x198]
add esp, 4
push ecx
mov ecx, ebx
mov edi, eax
call fcn.00401cd0
add esp, 4
test edi, edi
je 0x40246c
test eax, eax
je 0x40246c
lea ecx, [esp + 0x194]
lea eax, [esp + 0x25c]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x402446
test dx, dx
je 0x402442
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x402446
add eax, 4
add ecx, 4
test dx, dx
jne 0x402420
xor eax, eax
jmp 0x40244b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4024bd
lea esi, [esp + 0x324]
lea ebx, [esp + 0xec]
call fcn.00401c90
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
jmp 0x4024bd
lea edx, [esp + 0x324]
push edx
lea edi, [esp + 0x1c]
lea ecx, [esp + 0x2c]
mov dword [esp + 0x1c], 0
call fcn.00401be0
add esp, 4
test eax, eax
je 0x4024bd
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4024ac
lea ecx, [esp + 0x324]
push ecx
push eax
lea ecx, [esp + 0x30]
call fcn.004053e8
jmp 0x4024bd
lea edx, [esp + 0x324]
push edx
lea ecx, [esp + 0x2c]
call fcn.004053ac
mov eax, 0x7fbae77c
and dword [esi + 0x1a50], eax
xor edi, edi
mov dword [esi + 0x1a54], edi
and dword [ebx + 0x1a50], eax
mov dword [ebx + 0x1a54], edi
mov ecx, dword [esi + 0x1a5c]
mov eax, 0xfdff6592
and dword [esi + 0x1a58], eax
mov dword [esi + 0x1a5c], ecx
mov edx, dword [ebx + 0x1a5c]
and dword [ebx + 0x1a58], eax
mov dword [ebx + 0x1a5c], edx
mov eax, dword [esi + 0x1a50]
cmp eax, dword [ebx + 0x1a50]
jne 0x40253d
mov ecx, dword [esi + 0x1a54]
cmp ecx, dword [ebx + 0x1a54]
jne 0x40253d
mov edx, dword [esi + 0x1a58]
cmp edx, dword [ebx + 0x1a58]
jne 0x40253d
mov eax, dword [esi + 0x1a5c]
cmp eax, dword [ebx + 0x1a5c]
je 0x402597
mov esi, dword [esp + 0x64]
mov eax, 1
test esi, esi
je 0x40256e
mov eax, esi
mov eax, dword [eax + 8]
push eax
lea ecx, [esp + 0x328]
mov ebx, esi
mov esi, dword [esi]
push ecx
call fcn.004109e0
add esp, 8
test eax, eax
jl 0x402546
mov edi, ebx
jne 0x402546
jmp 0x402597
test eax, eax
je 0x402597
lea ecx, [esp + 0x60]
test edi, edi
je 0x40258a
lea edx, [esp + 0x324]
push edx
push edi
call fcn.004053e8
jmp 0x402597
lea eax, [esp + 0x324]
push eax
call fcn.004053ac
mov eax, dword [esp + 0x24]
add dword [esp + 0x14], 0x1a80
inc eax
cmp eax, dword [0x433e70]
mov dword [esp + 0x24], eax
jl 0x40232f
mov eax, dword [0x433e80]
lea ebx, [esp + 0xd0]
call fcn.00401e30
mov eax, dword [0x433e9c]
lea ebx, [esp + 0x140]
call fcn.00401e30
mov ebx, dword [esp + 0x144]
test ebx, ebx
je 0x40262c
mov eax, ebx
test ebx, ebx
je 0x402669
mov edi, dword [eax + 8]
mov ebx, dword [ebx]
mov esi, dword [esp + 0xd4]
mov eax, 1
test esi, esi
je 0x402617
mov eax, esi
mov ecx, dword [eax + 8]
mov esi, dword [esi]
push ecx
push edi
call fcn.00410b81
add esp, 8
test eax, eax
jne 0x4025fc
jmp 0x402628
test eax, eax
je 0x402628
push edi
lea ecx, [esp + 0x160]
call fcn.00404658
test ebx, ebx
jne 0x4025e1
mov ebx, dword [esp + 0xd4]
test ebx, ebx
je 0x402683
mov eax, ebx
test ebx, ebx
je 0x402669
mov edi, dword [eax + 8]
mov ebx, dword [ebx]
mov esi, dword [esp + 0x144]
mov eax, 1
test esi, esi
je 0x40266e
mov eax, esi
mov edx, dword [eax + 8]
mov esi, dword [esi]
push edx
push edi
call fcn.00410b81
add esp, 8
test eax, eax
jne 0x40264e
jmp 0x40267f
call fcn.0040502b
test eax, eax
je 0x40267f
push edi
lea ecx, [esp + 0x10c]
call fcn.00404658
test ebx, ebx
jne 0x402637
mov esi, dword [esp + 0x80]
test esi, esi
je 0x4026ba
mov eax, esi
test esi, esi
je 0x402669
mov edi, dword [eax + 8]
mov esi, dword [esi]
lea ecx, [esp + 0x98]
call fcn.00401c30
test eax, eax
je 0x4026b6
push edi
lea ecx, [esp + 0x17c]
call fcn.00404658
test esi, esi
jne 0x40268e
mov esi, dword [esp + 0x9c]
test esi, esi
je 0x4026ee
mov eax, esi
test esi, esi
je 0x402669
mov edi, dword [eax + 8]
mov esi, dword [esi]
lea ecx, [esp + 0x7c]
call fcn.00401c30
test eax, eax
je 0x4026ea
push edi
lea ecx, [esp + 0xb8]
call fcn.00404658
test esi, esi
jne 0x4026c5
mov esi, dword [esp + 0x128]
test esi, esi
je 0x40273c
push 0x42a890
call fcn.00410799
add esp, 4
mov eax, esi
test esi, esi
je 0x402669
mov eax, dword [eax + 8]
mov esi, dword [esi]
push eax
push 0x42a6f8
call fcn.00410799
add esp, 8
test esi, esi
jne 0x402706
mov ecx, dword [esp + 0x130]
push ecx
push str.Total:_d_n_n
call fcn.00410799
add esp, 8
mov esi, dword [esp + 0x17c]
test esi, esi
je 0x40278c
push str.Applications:_New_n
call fcn.00410799
add esp, 4
mov eax, esi
test esi, esi
je 0x402669
mov eax, dword [eax + 8]
mov edx, dword [eax]
mov esi, dword [esi]
push edx
push 0x42a6f8
call fcn.00410799
add esp, 8
test esi, esi
jne 0x402754
mov eax, dword [esp + 0x184]
push eax
push str.Total:_d_n_n
call fcn.00410799
add esp, 8
mov esi, dword [esp + 0x160]
test esi, esi
je 0x4027da
push str.Hosts:_New_n
call fcn.00410799
add esp, 4
mov eax, esi
test esi, esi
je 0x402669
mov ecx, dword [eax + 8]
mov esi, dword [esi]
push ecx
push 0x42a718
call fcn.00410bd3
add esp, 8
test esi, esi
jne 0x4027a4
mov edx, dword [esp + 0x168]
push edx
push str.Total:_d_n_n
call fcn.00410799
add esp, 8
mov esi, dword [esp + 0x48]
test esi, esi
je 0x402823
push str.Autorun:_Removed_n
call fcn.00410799
add esp, 4
nop
mov eax, esi
test esi, esi
je 0x402669
mov eax, dword [eax + 8]
mov esi, dword [esi]
push eax
push 0x42a6f8
call fcn.00410799
add esp, 8
test esi, esi
jne 0x4027f0
mov ecx, dword [esp + 0x50]
push ecx
push str.Total:_d_n_n
call fcn.00410799
add esp, 8
mov esi, dword [esp + 0xb8]
test esi, esi
je 0x402878
push str.Applications:_Removed_n
call fcn.00410799
add esp, 4
jmp 0x402840
mov eax, esi
test esi, esi
je 0x402669
mov eax, dword [eax + 8]
mov edx, dword [eax]
mov esi, dword [esi]
push edx
push 0x42a6f8
call fcn.00410799
add esp, 8
test esi, esi
jne 0x402840
mov eax, dword [esp + 0xc0]
push eax
push str.Total:_d_n_n
call fcn.00410799
add esp, 8
mov esi, dword [esp + 0x10c]
test esi, esi
je 0x4028c6
push str.Hosts:_Removed_n
call fcn.00410799
add esp, 4
mov eax, esi
test esi, esi
je 0x402669
mov ecx, dword [eax + 8]
mov esi, dword [esi]
push ecx
push 0x42a718
call fcn.00410bd3
add esp, 8
test esi, esi
jne 0x402890
mov edx, dword [esp + 0x114]
push edx
push str.Total:_d_n_n
call fcn.00410799
add esp, 8
mov esi, dword [esp + 0xf0]
test esi, esi
je 0x402916
push str.Modified:_n
call fcn.00410799
add esp, 4
mov edi, edi
mov eax, esi
test esi, esi
je 0x402669
mov eax, dword [eax + 8]
mov esi, dword [esi]
push eax
push 0x42a6f8
call fcn.00410799
add esp, 8
test esi, esi
jne 0x4028e0
mov ecx, dword [esp + 0xf8]
push ecx
push str.Total:_d_n_n
call fcn.00410799
add esp, 8
mov esi, dword [esp + 0x2c]
test esi, esi
je 0x402963
push str.No_SHA1:_n
call fcn.00410799
add esp, 4
jmp 0x402930
mov eax, esi
test esi, esi
je 0x402669
mov edx, dword [eax + 8]
mov esi, dword [esi]
push edx
push 0x42a6f8
call fcn.00410799
add esp, 8
test esi, esi
jne 0x402930
mov eax, dword [esp + 0x34]
push eax
push str.Total:_d_n_n
call fcn.00410799
add esp, 8
mov esi, dword [esp + 0x64]
test esi, esi
je 0x4029b3
push str.Changed_status:_n
call fcn.00410799
add esp, 4
jmp 0x402980
mov eax, esi
test esi, esi
je 0x402669
mov ecx, dword [eax + 8]
mov esi, dword [esi]
push ecx
push 0x42a6f8
call fcn.00410799
add esp, 8
test esi, esi
jne 0x402980
mov edx, dword [esp + 0x6c]
push edx
push str.Total:_d_n_n
call fcn.00410799
add esp, 8
mov eax, dword [0x433e84]
mov ebx, eax
test eax, eax
je 0x402a03
mov ecx, dword [0x433e8c]
test ecx, ecx
jle 0x4029fa
lea esi, [eax + 0x1a74]
mov edi, ecx
mov eax, dword [esi - 4]
test eax, eax
je 0x4029e0
push eax
call fcn.004103d7
add esp, 4
mov eax, dword [esi]
test eax, eax
je 0x4029ef
push eax
call fcn.004103d7
add esp, 4
add esi, 0x1a80
sub edi, 1
jne 0x4029d0
push ebx
call fcn.004103d7
add esp, 4
mov eax, dword [0x433e9c]
push eax
call fcn.004103d7
add esp, 4
lea edi, [esp + 0x7c]
call fcn.00401190
mov ecx, dword [0x433e98]
push ecx
mov ebx, 3
call fcn.004103d7
jmp 0x402a52
push str.Image_1:_read_or_parse_error__n
call fcn.00410799
mov ecx, dword [0x433e98]
add esp, 4
push ecx
call fcn.004103d7
jmp 0x402a52
push str.Image_1:_open_error__n
call fcn.00410799
mov edx, dword [0x433e80]
add esp, 4
push edx
call fcn.004103d7
mov eax, dword [0x433e68]
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
je 0x402aba
mov ecx, dword [0x433e70]
test ecx, ecx
jle 0x402aad
lea esi, [eax + 0x1a74]
mov edi, ecx
mov eax, dword [esi - 4]
test eax, eax
je 0x402a93
push eax
call fcn.004103d7
add esp, 4
mov eax, dword [esi]
test eax, eax
je 0x402aa2
push eax
call fcn.004103d7
add esp, 4
add esi, 0x1a80
sub edi, 1
jne 0x402a83
mov eax, dword [esp + 0x1c]
push eax
call fcn.004103d7
add esp, 4
lea edi, [esp + 0x98]
call fcn.00401190
mov ecx, dword [0x433e7c]
push ecx
call fcn.004103d7
jmp 0x402b00
push str.Image_1:_read_or_parse_error__n
call fcn.00410799
mov ecx, dword [0x433e7c]
add esp, 4
push ecx
call fcn.004103d7
jmp 0x402b00
push str.Image_1:_open_error__n
jmp 0x402afb
push str.Syntax:_cmpimg_old_image_new_image_n
call fcn.00410799
add esp, 4
lea ecx, [esp + 0xb4]
mov byte [esp + 0x1338], 0xb
call fcn.004045f0
lea ecx, [esp + 0x178]
mov byte [esp + 0x1338], 0xa
call fcn.004045f0
lea ecx, [esp + 0x7c]
mov byte [esp + 0x1338], 9
call fcn.004045f0
lea ecx, [esp + 0x98]
mov byte [esp + 0x1338], 8
call fcn.004045f0
lea ecx, [esp + 0x108]
mov byte [esp + 0x1338], 7
call fcn.004045f0
lea ecx, [esp + 0x15c]
mov byte [esp + 0x1338], 6
call fcn.004045f0
lea ecx, [esp + 0x140]
mov byte [esp + 0x1338], 5
call fcn.004045f0
lea ecx, [esp + 0xd0]
mov byte [esp + 0x1338], 4
call fcn.004045f0
lea ecx, [esp + 0x60]
mov byte [esp + 0x1338], bl
call fcn.0040523f
lea ecx, [esp + 0x28]
mov byte [esp + 0x1338], 2
call fcn.0040523f
lea ecx, [esp + 0xec]
mov byte [esp + 0x1338], 1
call fcn.0040523f
lea ecx, [esp + 0x44]
mov byte [esp + 0x1338], 0
call fcn.0040523f
lea ecx, [esp + 0x124]
mov dword [esp + 0x1338], 0xffffffff
call fcn.0040523f
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1330]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1318]
xor ecx, esp
call fcn.0041028a
mov esp, ebp
pop ebp
ret