Function at 0x4015ae
Capabilities:
Check os version
Query environment variable
Read file on windows
Write file on windows

Disassembly:
mov eax, 0x4124f2
call sub.MSVCRT.dll__EH_prolog
sub esp, 0xe60
push ebx
push esi
push edi
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x10], esp
call fcn.004011b2
xor ebx, ebx
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], ebx
call fcn.00401062
lea ecx, [ebp - 0x80]
call fcn.00401062
lea ecx, [ebp - 0x74]
call fcn.00401062
lea ecx, [ebp - 0x68]
call fcn.00401062
lea ecx, [ebp - 0x50]
call fcn.00401062
lea ecx, [ebp - 0x34]
call fcn.00401062
mov byte [ebp - 4], 6
call fcn.004014a2
push 0x40
push ebx
push 0x41cc88
mov byte [0x41cb00], 0x3b
mov byte [0x424578], bl
mov byte [0x42529c], bl
mov dword [0x41d734], ebx
mov byte [0x424686], bl
mov dword [0x425290], ebx
mov dword [0x41e27c], ebx
mov byte [0x42451d], bl
mov byte [0x424684], bl
mov byte [0x424688], bl
mov byte [0x424689], bl
mov dword [0x424510], ebx
mov dword [0x424350], ebx
mov byte [0x41d020], bl
mov byte [0x42529d], bl
mov byte [0x424680], bl
mov byte [0x424685], bl
mov dword [0x41d73c], ebx
call sub.MSVCRT.dll_memset
push 0x4140
push ebx
push 0x41f5d0
call sub.MSVCRT.dll_memset
push dword [0x41caf0]
push 0x41e288
call sub.MSVCRT.dll_strcpy
push dword [0x41caf4]
push 0x41eab0
call sub.MSVCRT.dll_strcpy
push 0x413804
push 0x41d528
call sub.MSVCRT.dll_strcpy
add esp, 0x30
mov dword [0x41e27c], ebx
mov dword [0x41f4c4], ebx
mov dword [0x423924], ebx
mov dword [0x41e59c], ebx
mov dword [0x41e280], 4
mov byte [0x41d949], bl
mov dword [0x41d738], ebx
mov byte [0x41eaa9], bl
mov byte [0x42404d], bl
mov byte [0x41ebb1], bl
mov byte [0x41d521], bl
mov byte [0x41cee0], bl
mov byte [0x42434c], bl
mov byte [0x41cdd1], bl
mov byte [0x423710], bl
mov byte [0x41ccc9], bl
test byte [0x424244], 1
mov byte [0x41d018], bl
mov byte [0x41cee1], bl
mov byte [0x41f5cc], bl
mov byte [0x41da51], bl
mov byte [0x41e069], bl
mov byte [0x41d844], bl
mov byte [0x41ebb2], bl
mov byte [0x41ccc8], bl
mov dword [0x41cedc], ebx
mov byte [0x41ccca], 1
mov byte [0x41eaaa], 1
mov dword [0x41db5c], ebx
mov byte [0x41d740], bl
mov byte [0x423d30], bl
mov byte [0x41e070], bl
mov byte [0x41ebb8], bl
mov byte [0x41db60], bl
mov byte [0x41e178], bl
mov byte [0x41cf10], bl
mov byte [0x41ccd0], bl
mov byte [0x41d950], bl
mov byte [0x41da58], bl
mov byte [0x424e90], bl
mov byte [0x41d020], bl
mov byte [0x41cdd8], bl
mov byte [0x41d630], bl
mov byte [0x41e5a0], bl
mov byte [0x41dc68], bl
mov byte [0x423928], bl
mov byte [0x423e38], bl
mov byte [0x41d848], bl
mov byte [0x41e390], bl
mov byte [0x423718], bl
mov byte [0x424050], bl
mov byte [0x41f3c0], bl
mov byte [0x423820], bl
mov byte [0x41e9a8], bl
mov byte [0x41e498], bl
mov byte [0x41d420], bl
mov byte [0x41efc0], bl
jne 0x401845
or dword [0x424244], 1
mov ecx, 0x4241f0
mov byte [ebp - 4], 8
call fcn.0040d476
push 0x412af7
call fcn.00412274
pop ecx
mov dword [0x423d2c], 0x4241f0
jmp 0x401877
xor esi, esi
inc esi
cmp dword [ebp + 8], 2
mov dword [ebp - 4], 6
jg 0x4018e2
mov edi, dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
push esi
lea eax, [ebp - 0x1d]
push eax
push str.REQUEST_METHOD
call edi
test eax, eax
jbe 0x4018e2
push esi
lea eax, [ebp - 0x1d]
push eax
push str.GATEWAY_INTERFACE
call edi
test eax, eax
jbe 0x4018e2
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp + 8]
push eax
call fcn.0040c2b0
add esp, 0x1c
test eax, eax
je 0x4018e2
mov byte [0x423710], 1
mov dword [0x41d73c], esi
push str.plain
push 0x42403c
mov byte [0x41cee4], bl
mov dword [0x41cedc], ebx
mov byte [0x424687], bl
call sub.MSVCRT.dll_strcpy
cmp dword [ebp + 8], 2
pop ecx
pop ecx
jge 0x401917
push ebx
call fcn.00405090
pop ecx
jmp 0x401aff
push 0x104
push ebx
mov edi, 0x41f4c8
push edi
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x24], ebx
call sub.MSVCRT.dll_memset
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
mov cl, byte [eax]
add esp, 0xc
cmp cl, 0x2d
je 0x401943
cmp cl, 0x2f
jne 0x40194c
cmp byte [eax + 1], bl
je 0x40194c
push esi
push esi
jmp 0x40194f
push esi
push 2
push edx
push dword [ebp + 8]
call fcn.00405212
add esp, 0x10
cmp dword [0x41e27c], ebx
mov esi, eax
jne 0x401ae2
cmp dword [0x41d73c], ebx
jne 0x40198b
movsx eax, byte [0x423710]
push eax
call fcn.00404933
cmp dword [0x41e27c], ebx
pop ecx
jne 0x401ae2
cmp esi, ebx
jne 0x401ae2
cmp byte [0x41f4c8], bl
je 0x401b5f
mov esi, 0x404
push esi
call dword [sym.imp.MSVCRT.dll_malloc]
cmp eax, ebx
pop ecx
mov dword [ebp - 0x18], eax
je 0x401b5f
push esi
push ebx
push eax
mov dword [ebp - 0x28], ebx
call sub.MSVCRT.dll_memset
push 0x4137d4
push edi
call dword [sym.imp.MSVCRT.dll_fopen]
add esp, 0x14
cmp eax, ebx
mov dword [0x41dc64], eax
jne 0x401a10
push dword [ebp - 0x18]
call dword [sym.imp.MSVCRT.dll_free]
push edi
push str.Options_file___s__not_found_or_could_not_be_opened._n
call fcn.00401292
push ebx
call fcn.00401292
add esp, 0x10
mov eax, dword [0x41db5c]
cmp eax, ebx
je 0x401a08
push eax
call dword [sym.imp.MSVCRT.dll_fclose]
pop ecx
push 2
pop esi
jmp 0x401afa
mov edi, dword [ebp - 0x28]
mov esi, pe_nt_image_headers32
test byte [eax + 0xc], 0x10
jne 0x401a83
push eax
lea eax, [ebp - 0xe6c]
push 0x800
push eax
call dword [sym.imp.MSVCRT.dll_fgets]
add esp, 0xc
cmp eax, ebx
je 0x401a7a
lea eax, [ebp - 0xe6c]
push eax
call sub.MSVCRT.dll_strlen
dec eax
mov dword [ebp - 0x14], eax
lea eax, [ebp + eax - 0xe6c]
pop ecx
mov cl, byte [eax]
cmp cl, 0xa
je 0x401a5c
cmp cl, 0xd
jne 0x401a60
mov byte [eax], bl
jmp 0x401a38
push ebx
push edi
push esi
push dword [ebp - 0x18]
lea eax, [ebp - 0xe6c]
push eax
call fcn.0040a3e0
mov edi, eax
add esp, 0x14
mov dword [ebp - 0x28], edi
cmp edi, esi
mov eax, dword [0x41dc64]
jb 0x401a18
push eax
call dword [sym.imp.MSVCRT.dll_fclose]
cmp edi, ebx
pop ecx
mov dword [ebp - 0x24], edi
je 0x401b5f
mov edi, dword [ebp - 0x18]
push 1
push ebx
push edi
push dword [ebp - 0x28]
call fcn.00405212
add esp, 0x10
cmp dword [0x41e27c], ebx
mov esi, eax
jne 0x401aba
cmp esi, ebx
je 0x401b5f
mov dword [ebp - 0x14], ebx
mov eax, dword [edi]
jmp 0x401ad2
push eax
call dword [sym.imp.MSVCRT.dll_free]
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [edi + eax*4]
pop ecx
cmp eax, ebx
jne 0x401ac1
push edi
call dword [sym.imp.MSVCRT.dll_free]
cmp esi, ebx
pop ecx
je 0x401afa
push ebx
call fcn.00401292
mov eax, dword [0x41db5c]
cmp eax, ebx
pop ecx
je 0x401afa
push eax
call dword [sym.imp.MSVCRT.dll_fclose]
pop ecx
call fcn.004014a2
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 5
call fcn.00401054
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 4
call fcn.00401054
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 3
call fcn.00401054
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 2
call fcn.00401054
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 1
call fcn.00401054
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], bl
call fcn.00401054
lea ecx, [ebp - 0x1c]
call fcn.004015a9
mov ecx, dword [ebp - 0xc]
pop edi
mov eax, esi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
mov cl, byte [eax]
cmp cl, 0x2d
je 0x401b85
cmp cl, 0x2f
je 0x401b85
push 0x103
push eax
push 0x41d740
call dword [sym.imp.MSVCRT.dll_strncpy]
add esp, 0xc
push 0x424578
mov byte [0x41d843], bl
call fcn.0040a14a
mov edi, 0x41cdd8
push edi
push 0x41d950
mov dword [0x41d014], eax
call sub.MSVCRT.dll_strcpy
push edi
push 0x41da58
call sub.MSVCRT.dll_strcpy
push ebx
call dword [sym.imp.MSVCRT.dll_time]
mov esi, eax
call dword [sym.imp.MSVCRT.dll_clock]
add esi, eax
push esi
call dword [sym.imp.MSVCRT.dll_srand]
add esp, 0x1c
cmp dword [ebp - 0x24], ebx
je 0x401c20
mov edi, dword [ebp - 0x18]
push ebx
push ebx
push edi
push dword [ebp - 0x24]
call fcn.00405212
mov esi, eax
mov dword [ebp - 0x14], ebx
mov eax, dword [edi]
add esp, 0x10
jmp 0x401c00
push eax
call dword [sym.imp.MSVCRT.dll_free]
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [edi + eax*4]
pop ecx
cmp eax, ebx
jne 0x401bef
push edi
call dword [sym.imp.MSVCRT.dll_free]
cmp dword [0x41e27c], ebx
pop ecx
jne 0x401ae2
cmp esi, ebx
jne 0x401ae2
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
mov cl, byte [eax]
cmp cl, 0x2d
je 0x401c32
cmp cl, 0x2f
jne 0x401c3c
cmp byte [eax + 1], bl
je 0x401c3c
push ebx
push 1
jmp 0x401c3f
push ebx
push 2
push edx
push dword [ebp + 8]
call fcn.00405212
add esp, 0x10
cmp dword [0x41e27c], ebx
mov edi, eax
jne 0x4024d2
cmp edi, ebx
jne 0x4024d2
push 0xc
pop esi
cmp dword [0x41d014], esi
jne 0x401c8f
cmp byte [0x41da58], bl
je 0x401c84
cmp byte [0x41d630], bl
jne 0x401c8f
cmp byte [0x41d848], bl
jne 0x401c8f
push str.Failed_to_open_registry_key_for_Blat_n
call fcn.00401292
pop ecx
cmp byte [0x424684], bl
jne 0x401ca8
push 0x41da58
push 0x41d950
call sub.MSVCRT.dll_strcpy
pop ecx
pop ecx
cmp byte [0x41da58], bl
je 0x4024b0
cmp byte [0x41d630], bl
jne 0x401cc8
cmp byte [0x41d848], bl
je 0x4024b0
cmp byte [0x41d740], bl
je 0x401dce
push 0x413770
mov esi, 0x41d740
push esi
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
je 0x401dce
mov edi, 0x9c
push edi
lea eax, [ebp - 0x134]
push ebx
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
lea eax, [ebp - 0x134]
mov dword [ebp - 0x134], edi
mov edi, dword [sym.imp.KERNEL32.dll_GetVersionExA]
push eax
call edi
test eax, eax
jne 0x401d2f
lea eax, [ebp - 0x134]
push eax
mov dword [ebp - 0x134], 0x94
call edi
cmp dword [ebp - 0x124], 2
jne 0x401d96
cmp dword [ebp - 0x130], 5
jb 0x401d96
push ebx
push 0x80
push 3
push ebx
push 1
push 1
push esi
call dword [sym.imp.KERNEL32.dll_CreateFileA]
cmp eax, 0xffffffff
jne 0x401d8d
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, ebx
push esi
jne 0x401d73
push str._s_does_not_exist_n
call fcn.00401292
pop ecx
pop ecx
jmp 0x401d81
push eax
push str.unknown_error_code__d_when_trying_to_open__s_n
call fcn.00401292
add esp, 0xc
push ebx
call fcn.00401292
pop ecx
jmp 0x4019f7
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x401dce
push 0x4000
lea eax, [ebp - 0x1bc]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_OpenFile]
cmp eax, 0xffffffff
jne 0x401dc7
push esi
push str._s_does_not_exist_n
call fcn.00401292
push ebx
call fcn.00401292
add esp, 0xc
jmp 0x4019f7
push eax
call dword [sym.imp.KERNEL32.dll__lclose]
push 0x424154
call fcn.0040151a
mov edi, 0x4241d8
push edi
call fcn.0040151a
mov esi, 0x424184
push esi
call fcn.0040151a
push 0x424154
call fcn.004069c8
push edi
call fcn.004069c8
push esi
call fcn.004069c8
add esp, 0x18
mov ecx, 0x424154
call fcn.00401156
mov ecx, 0x4241d8
mov edi, eax
call fcn.00401156
mov esi, 0x424184
mov ecx, esi
add edi, eax
call fcn.00401156
lea eax, [edi + eax + 4]
push eax
lea ecx, [ebp - 0x34]
call fcn.0040109b
mov ecx, 0x424154
call fcn.00401156
mov ecx, 0x4241d8
mov edi, eax
call fcn.00401156
mov ecx, esi
add edi, eax
call fcn.00401156
lea eax, [edi + eax + 4]
mov edi, 0x42419c
push eax
mov ecx, edi
call fcn.0040109b
mov ecx, esi
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], ebx
call fcn.00401156
test eax, eax
jbe 0x401ed4
mov ecx, esi
call fcn.0040d473
mov edi, dword [ebp - 0x14]
cmp byte [eax + edi], 0x28
jne 0x401ea0
jmp 0x401e8f
inc edi
mov dword [ebp - 0x14], edi
mov ecx, esi
call fcn.0040d473
cmp byte [eax + edi], 0x29
jne 0x401e8b
inc edi
mov dword [ebp - 0x14], edi
mov ecx, esi
call fcn.0040d473
lea ecx, [ebp - 0x34]
mov edi, eax
call fcn.0040d473
mov ecx, dword [ebp - 0x14]
mov cl, byte [edi + ecx]
mov edx, dword [ebp - 0x18]
inc dword [ebp - 0x18]
mov byte [eax + edx], cl
inc dword [ebp - 0x14]
mov ecx, esi
call fcn.00401156
cmp dword [ebp - 0x14], eax
jb 0x401e79
mov edi, 0x42419c
lea ecx, [ebp - 0x34]
call fcn.0040d473
mov ecx, dword [ebp - 0x18]
mov byte [eax + ecx], bl
lea ecx, [ebp - 0x34]
call fcn.0040d473
push eax
mov ecx, edi
call fcn.00401119
mov esi, 0x4241d8
mov ecx, esi
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], ebx
call fcn.00401156
test eax, eax
jbe 0x401f63
mov ecx, esi
call fcn.0040d473
mov edi, dword [ebp - 0x14]
cmp byte [eax + edi], 0x28
jne 0x401f2f
jmp 0x401f1e
inc edi
mov dword [ebp - 0x14], edi
mov ecx, esi
call fcn.0040d473
cmp byte [eax + edi], 0x29
jne 0x401f1a
inc edi
mov dword [ebp - 0x14], edi
mov ecx, esi
call fcn.0040d473
lea ecx, [ebp - 0x34]
mov edi, eax
call fcn.0040d473
mov ecx, dword [ebp - 0x14]
mov cl, byte [edi + ecx]
mov edx, dword [ebp - 0x18]
inc dword [ebp - 0x18]
mov byte [eax + edx], cl
inc dword [ebp - 0x14]
mov ecx, esi
call fcn.00401156
cmp dword [ebp - 0x14], eax
jb 0x401f08
mov edi, 0x42419c
lea ecx, [ebp - 0x34]
call fcn.0040d473
mov ecx, dword [ebp - 0x18]
mov byte [eax + ecx], bl
mov ecx, esi
call fcn.00401156
test eax, eax
je 0x401fa0
mov ecx, edi
call fcn.00401156
test eax, eax
je 0x401f90
push 0x2c
mov ecx, edi
call fcn.00401136
lea ecx, [ebp - 0x34]
call fcn.0040d473
push eax
mov ecx, edi
call fcn.00401119
mov esi, 0x424154
mov ecx, esi
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], ebx
call fcn.00401156
test eax, eax
jbe 0x402011
mov ecx, esi
call fcn.0040d473
mov edi, dword [ebp - 0x14]
cmp byte [eax + edi], 0x28
jne 0x401fdd
jmp 0x401fcc
inc edi
mov dword [ebp - 0x14], edi
mov ecx, esi
call fcn.0040d473
cmp byte [eax + edi], 0x29
jne 0x401fc8
inc edi
mov dword [ebp - 0x14], edi
mov ecx, esi
call fcn.0040d473
lea ecx, [ebp - 0x34]
mov edi, eax
call fcn.0040d473
mov ecx, dword [ebp - 0x14]
mov cl, byte [edi + ecx]
mov edx, dword [ebp - 0x18]
inc dword [ebp - 0x18]
mov byte [eax + edx], cl
inc dword [ebp - 0x14]
mov ecx, esi
call fcn.00401156
cmp dword [ebp - 0x14], eax
jb 0x401fb6
mov edi, 0x42419c
lea ecx, [ebp - 0x34]
call fcn.0040d473
mov ecx, dword [ebp - 0x18]
mov byte [eax + ecx], bl
mov ecx, esi
call fcn.00401156
test eax, eax
jbe 0x40204e
mov ecx, edi
call fcn.00401156
test eax, eax
je 0x40203e
push 0x2c
mov ecx, edi
call fcn.00401136
lea ecx, [ebp - 0x34]
call fcn.0040d473
push eax
mov ecx, edi
call fcn.00401119
mov ecx, edi
call fcn.00401156
test eax, eax
jne 0x402071
mov ecx, 0x424178
call fcn.00401156
test eax, eax
jne 0x402071
push str.No_target_email_address_or_newsgroup_was_specified.__You_must_give_an_email_naddress_or_usenet_newsgroup_to_send_messages_to.__Use__to___cc__or__bcc_option_nfor_email__or__groups_for_usenet._nAborting__nobody_to_send_messages_to._n
jmp 0x402301
cmp byte [0x41d740], bl
mov byte [0x41d018], bl
je 0x402097
push 0x413770
push 0x41d740
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x4021ab
lea ecx, [ebp - 0x5c]
call fcn.00401156
test eax, eax
je 0x4020d1
lea eax, [ebp - 0x5c]
mov esi, 0x4241cc
push eax
mov ecx, esi
mov byte [0x41d018], 1
call fcn.00401145
push dword [0x41b084]
push 0x41d740
call sub.MSVCRT.dll_strcpy
pop ecx
pop ecx
jmp 0x4021b0
mov esi, 0x4241c0
mov ecx, esi
call fcn.00401156
test eax, eax
je 0x40213a
mov ecx, esi
call fcn.0040d473
cmp byte [0x41ccca], bl
mov edi, eax
mov byte [0x41d018], 1
mov esi, 0x4241cc
je 0x402130
mov dword [ebp - 0x14], ebx
cmp byte [edi], bl
je 0x4020ba
mov eax, dword [ebp - 0x14]
mov al, byte [edi + eax]
cmp al, 0x7c
mov ecx, esi
jne 0x40211d
push 0x413644
call fcn.00401119
jmp 0x402123
push eax
call fcn.00401136
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp byte [edi + eax], bl
jne 0x402105
jmp 0x4020ba
push edi
mov ecx, esi
call fcn.00401119
jmp 0x4020ba
push ebx
lea eax, [ebp - 0x18]
push eax
push 1
lea eax, [ebp - 0x14]
push eax
push 0xfffffffffffffff6
mov byte [0x41d018], 1
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], ebx
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
mov edi, dword [sym.imp.KERNEL32.dll_ReadFile]
push eax
call edi
mov esi, 0x4241cc
test eax, eax
je 0x4020ba
cmp dword [ebp - 0x18], ebx
je 0x4020ba
cmp dword [ebp - 0x14], 0x1a
je 0x4020ba
push dword [ebp - 0x14]
mov ecx, esi
call fcn.00401136
push ebx
lea eax, [ebp - 0x18]
push eax
push 1
lea eax, [ebp - 0x14]
push eax
push 0xfffffffffffffff6
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], ebx
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
push eax
call edi
jmp 0x402168
mov esi, 0x4241cc
cmp byte [0x41d018], bl
jne 0x4022b7
mov edi, 0x41d740
push edi
lea ecx, [ebp - 0x1c]
call fcn.004011ce
test eax, eax
jne 0x4021fa
push edi
push str.error_reading__s__aborting_n
call fcn.00401292
push ebx
call fcn.00401292
mov eax, dword [0x41db5c]
add esp, 0xc
cmp eax, ebx
je 0x4021f3
push eax
call dword [sym.imp.MSVCRT.dll_fclose]
pop ecx
push 3
jmp 0x401a0a
lea ecx, [ebp - 0x1c]
call fcn.0040124c
test eax, eax
lea ecx, [ebp - 0x1c]
jne 0x402238
call fcn.004011b8
push str.Sorry__I_can_only_mail_messages_from_disk_files..._n
call fcn.00401292
push ebx
call fcn.00401292
mov eax, dword [0x41db5c]
cmp eax, ebx
pop ecx
pop ecx
je 0x402231
push eax
call dword [sym.imp.MSVCRT.dll_fclose]
pop ecx
push 4
jmp 0x401a0a
call fcn.0040125b
mov ecx, esi
mov edi, eax
call fcn.0040106f
cmp edi, ebx
mov ecx, esi
je 0x402281
lea eax, [edi + 1]
push eax
call fcn.0040109b
push ebx
lea eax, [ebp - 0x28]
push eax
push edi
mov ecx, esi
call fcn.0040d473
push eax
lea ecx, [ebp - 0x1c]
call fcn.00401266
push edi
mov ecx, esi
mov dword [ebp - 0x18], eax
call fcn.00401170
mov ecx, esi
call fcn.0040115a
mov byte [eax], bl
jmp 0x402292
push 0x4132a0
call fcn.0040118b
mov dword [ebp - 0x18], 1
lea ecx, [ebp - 0x1c]
call fcn.004011b8
cmp dword [ebp - 0x18], ebx
jne 0x4022b7
push 0x41d740
push str.error_reading__s__aborting_n
call fcn.00401292
pop ecx
pop ecx
push 5
jmp 0x401a0a
cmp byte [0x41cee1], bl
je 0x4022c3
push 8
jmp 0x4022c5
push 7
push 0x41cee4
push 0x41d738
push 0x4241cc
call fcn.00408953
add esp, 0x10
mov ecx, esi
call fcn.00401156
mov esi, eax
lea eax, [ebp - 0x38]
push esi
push eax
call fcn.004058ad
mov edi, eax
cmp edi, ebx
pop ecx
pop ecx
je 0x402326
cmp dword [ebp - 0x38], ebx
jne 0x402326
push str.Sum_total_size_of_all_attachments_exceeds_4G_bytes.__This_is_too_much_to_be_nsending_with_SMTP_or_NNTP.__Please_try_sending_through_FTP_instead._nAborting__too_much_data_to_send._n
call fcn.00401292
push ebx
call fcn.00401292
mov eax, dword [0x41db5c]
cmp eax, ebx
pop ecx
pop ecx
je 0x40231f
push eax
call dword [sym.imp.MSVCRT.dll_fclose]
pop ecx
push 0xc
jmp 0x401a0a
cmp byte [0x41e069], bl
je 0x402335
mov byte [0x41eaaa], 1
push dword [ebp - 0x38]
lea eax, [ebp - 0x66c]
push edi
push eax
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x68]
push eax
push esi
call fcn.00408063
push dword [ebp - 0x38]
mov dword [ebp - 0x18], eax
push edi
lea eax, [ebp - 0x66c]
push eax
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x68]
push eax
push esi
call fcn.00406177
add esp, 0x38
cmp dword [ebp - 0x18], ebx
jne 0x402383
mov dword [ebp - 0x18], eax
call fcn.0040583f
call fcn.004014a2
cmp dword [0x41d73c], ebx
je 0x402482
lea ecx, [ebp - 0x44]
call fcn.00401062
xor esi, esi
cmp dword [ebp + 8], ebx
mov byte [ebp - 4], 0xa
jle 0x4023bf
mov eax, dword [ebp + 0xc]
push dword [eax + esi*4]
call dword [sym.imp.MSVCRT.dll_free]
inc esi
cmp esi, dword [ebp + 8]
pop ecx
jl 0x4023ac
push dword [ebp + 0xc]
call dword [sym.imp.MSVCRT.dll_free]
cmp dword [ebp - 0x18], ebx
pop ecx
lea ecx, [ebp - 0x74]
je 0x4023d4
lea ecx, [ebp - 0x80]
call fcn.0040d473
mov edi, eax
xor esi, esi
cmp edi, ebx
je 0x4023ea
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov esi, eax
lea eax, [esi*4 + 0x400]
push eax
lea ecx, [ebp - 0x44]
call fcn.0040109b
cmp esi, ebx
je 0x40241b
push edi
push edi
push edi
push edi
push str.Expires:_Thu__01_Dec_1994_16:00:00_GMT_r_nPragma:_no_cache_r_nLocation:__s_r_n_r_n_html__body__r_n_a_href__s__Click_here_to_go_to__s__a__r_n_META_HTTP_EQUIV_REFRESH__CONTENT_0__URL_s___r_n__body___html__r_n
lea ecx, [ebp - 0x44]
call fcn.0040d473
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x18
jmp 0x402445
cmp dword [ebp - 0x18], ebx
mov eax, str.Success
je 0x40242a
mov eax, str.Failure
push eax
push dword [ebp - 0x18]
lea ecx, [ebp - 0x44]
push str.Expires:_Thu__01_Dec_1994_16:00:00_GMT_r_nPragma:_no_cache_r_nContent_type:_text_html_r_n_r_n_html__body__r_nBlat_sending_message_result___d_:__s_r_n__body___html__r_n
call fcn.0040d473
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea ecx, [ebp - 0x44]
call fcn.00401160
lea ecx, [ebp - 0x44]
call fcn.00401156
push ebx
lea ecx, [ebp - 0x24]
push ecx
push eax
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x24], eax
call fcn.0040d473
push eax
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 6
call fcn.00401054
push ebx
call fcn.00401292
mov eax, dword [0x41db5c]
cmp eax, ebx
pop ecx
je 0x40249a
push eax
call dword [sym.imp.MSVCRT.dll_fclose]
pop ecx
push dword [ebp - 0x18]
mov dword [0x41db5c], ebx
call sub.MSVCRT.dll_abs
pop ecx
mov esi, eax
jmp 0x401aff
push str.To_set_the_SMTP_servers_name_address_and_your_username_email_address_for_that_nserver_machine_do:_nblat__install__server_name__your_email_address_nor_use__server__server_name__and__f__your_email_address__n
call fcn.00401292
mov dword [esp], str.aborting__nothing_sent_n
call fcn.00401292
push ebx
call fcn.00401292
pop ecx
jmp 0x401ae8
push ebx
call fcn.00401292
mov eax, dword [0x41db5c]
cmp eax, ebx
pop ecx
je 0x4024ea
push eax
call dword [sym.imp.MSVCRT.dll_fclose]
pop ecx
mov esi, edi
jmp 0x401afa