Function at 0x42502c
Capabilities:
Get file size

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov edi, ecx
lea ebx, [ebp - 0xf18]
sub esp, 0xf24
mov dword [ecx + 0xec], 0
push 0x442484
mov eax, dword [ecx]
push dword [eax + 0x24]
call fcn.004051d7
add esp, 0x10
test eax, eax
jne 0x42508c
lea eax, [edi + 4]
push ecx
push ecx
push dword [0x43780c]
push eax
call fcn.004287ba
push dword [edi + 0xe0]
push ebx
push str.Cant_open__s____s_
push 0x45c2c0
call fcn.0040418c
add esp, 0x20
jmp 0x4250e6
sub esp, 0xc
push eax
call fcn.00410c16
mov dword [esp], eax
push dword [edi + 0xe0]
push dword [edi + 0x14]
push str._smbox_.128s_8.8X.msg
push ebx
mov dword [edi + 0xdc], eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x18
push 0
push ebx
call fcn.00403579
mov esi, eax
test esi, esi
pop eax
pop edx
js 0x425060
push eax
push eax
push 0
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
test eax, eax
mov ebx, eax
pop edx
pop ecx
jne 0x4250ed
sub esp, 0xc
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
add esp, 0xc
xor eax, eax
jmp 0x42571b
lea eax, [eax + 0x1e]
sub esp, 0xc
push eax
call fcn.00428e70
add esp, 0xc
mov dword [edi + 0xf0], eax
push ebx
push eax
push esi
call fcn.004035ff
mov ebx, eax
mov eax, dword [edi + 0xf0]
mov dword [eax + ebx], 0
push eax
push eax
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
add esp, 0xc
test ebx, ebx
jg 0x42513c
sub esp, 0xc
push dword [edi + 0xf0]
call fcn.00428e54
add esp, 0x10
jmp 0x4250e6
push eax
push eax
push str._nFrom:
push dword [edi + 0xf0]
call fcn.004034d9
add esp, 0x10
test eax, eax
mov dword [edi + 0xf4], eax
je 0x425166
add eax, 7
mov dword [edi + 0xf4], eax
jmp 0x425170
mov dword [edi + 0xf4], 0x44225f
push eax
push eax
push str._nTo:
push dword [edi + 0xf0]
call fcn.004034d9
add esp, 0x10
test eax, eax
mov dword [edi + 0xf8], eax
je 0x42519a
add eax, 5
mov dword [edi + 0xf8], eax
jmp 0x4251a4
mov dword [edi + 0xf8], 0x44225f
push eax
push eax
push str._nDate:
push dword [edi + 0xf0]
call fcn.004034d9
add esp, 0x10
test eax, eax
mov dword [edi + 0x100], eax
je 0x4251ce
add eax, 7
mov dword [edi + 0x100], eax
jmp 0x4251d8
mov dword [edi + 0x100], 0x44225f
push eax
push eax
push str._nSubject:
push dword [edi + 0xf0]
call fcn.004034d9
add esp, 0x10
test eax, eax
mov dword [edi + 0x104], eax
je 0x425202
add eax, 0xa
mov dword [edi + 0x104], eax
jmp 0x42520c
mov dword [edi + 0x104], 0x44225f
push esi
push esi
push str.boundary
push dword [edi + 0xf0]
call fcn.004034d9
add esp, 0x10
test eax, eax
mov dword [edi + 0xe4], eax
je 0x4253b8
lea edx, [eax + 9]
mov dword [edi + 0xe4], edx
cmp byte [eax + 9], 0x22
jne 0x425247
add eax, 0xa
mov dword [edi + 0xe4], eax
push ebx
push ebx
push 0x4424a4
push dword [edi + 0xe4]
call fcn.0040343e
add esp, 0x10
test eax, eax
je 0x425266
mov byte [eax], 0
inc eax
jmp 0x425272
mov edx, dword [str.Bad_mime_format]
mov dword [edi + 0xe8], edx
push ecx
push ecx
push dword [edi + 0xe4]
push eax
call fcn.004034b5
add esp, 0x10
test eax, eax
mov dword [edi + 0xe8], eax
jne 0x42529c
mov dword [edi + 0xe8], 0x442252
jmp 0x4254d9
push edx
push edx
push 0x4424a8
push eax
call fcn.004034b5
add esp, 0x10
test eax, eax
je 0x4252b8
mov byte [eax], 0
lea ebx, [eax + 4]
jmp 0x4252dc
push eax
push eax
mov ebx, 0x44225f
push 0x4424ad
push dword [edi + 0xe8]
call fcn.004034b5
add esp, 0x10
test eax, eax
je 0x4252dc
lea ebx, [eax + 2]
mov byte [eax], 0
push eax
push eax
push str._attachment
push dword [edi + 0xe8]
call fcn.004034b5
add esp, 0x10
test eax, eax
jne 0x42531a
push esi
push esi
push str.text_html
push dword [edi + 0xe8]
call fcn.004034b5
add esp, 0x10
test eax, eax
je 0x42531f
mov dword [edi + 0x118], 2
jmp 0x42531f
mov ebx, 0x44225f
push eax
push eax
mov esi, 0
push str.quoted_printable
push dword [edi + 0xe8]
call fcn.004034d9
pop edx
pop ecx
push str.charsetkoi8_r
push dword [edi + 0xe8]
test eax, eax
cmovne esi, ebx
call fcn.004034d9
add esp, 0x10
test eax, eax
mov dword [ebp - 0xf1c], eax
jne 0x425375
push eax
push eax
push str.charset_koi8_r_
push dword [edi + 0xe8]
call fcn.004034d9
add esp, 0x10
mov dword [ebp - 0xf1c], eax
push eax
push eax
push str.base64
push dword [edi + 0xe8]
call fcn.004034d9
mov dword [ebp - 0xf20], eax
mov eax, dword [edi + 0xe4]
pop edx
pop ecx
push eax
push ebx
mov dword [edi + 0xe8], ebx
call fcn.004034b5
add esp, 0x10
test eax, eax
je 0x4253ad
mov byte [eax], 0
inc eax
mov dword [edi + 0xec], eax
jmp 0x4254ae
push ebx
push ebx
push 0x4424a8
push dword [edi + 0xf0]
call fcn.004034b5
add esp, 0x10
test eax, eax
mov dword [edi + 0xe8], eax
je 0x4253e3
mov byte [eax], 0
add dword [edi + 0xe8], 4
jmp 0x425418
push ecx
push ecx
push 0x4424ad
push dword [edi + 0xf0]
call fcn.004034b5
add esp, 0x10
test eax, eax
mov dword [edi + 0xe8], eax
je 0x42540e
mov byte [eax], 0
add dword [edi + 0xe8], 2
jmp 0x425418
mov dword [edi + 0xe8], 0x44225f
push eax
push eax
push str.base64
push dword [edi + 0xf0]
call fcn.004034d9
mov dword [ebp - 0xf20], eax
pop eax
pop edx
push str.text_html
push dword [edi + 0xf0]
call fcn.004034b5
add esp, 0x10
test eax, eax
je 0x425453
mov dword [edi + 0x118], 2
push eax
push eax
xor esi, esi
push str.:_quoted_printable
push dword [edi + 0xf0]
call fcn.004034d9
add esp, 0x10
test eax, eax
je 0x425474
mov esi, dword [edi + 0xe8]
push eax
push eax
push str.charsetkoi8_r
push dword [edi + 0xf0]
call fcn.004034d9
add esp, 0x10
test eax, eax
mov dword [ebp - 0xf1c], eax
jne 0x4254ae
push eax
push eax
push str.charset_koi8_r_
push dword [edi + 0xf0]
call fcn.004034d9
add esp, 0x10
mov dword [ebp - 0xf1c], eax
cmp dword [ebp - 0xf20], 0
je 0x4254c9
mov eax, dword [edi + 0xe8]
push ebx
push ebx
push eax
push eax
call fcn.00424730
add esp, 0x10
test esi, esi
je 0x4254d9
push ecx
push ecx
push esi
push esi
call fcn.00424631
add esp, 0x10
push edx
push edx
push 0xa
push dword [edi + 0xf4]
call fcn.004033da
add esp, 0x10
test eax, eax
je 0x425506
mov byte [eax], 0
mov edx, dword [edi + 0xf4]
sub eax, edx
cmp eax, 0x40
jle 0x425506
mov dword [edx + 0x3e], 0x2e2e
push eax
push eax
push 0xa
push dword [edi + 0xf8]
call fcn.004033da
add esp, 0x10
test eax, eax
je 0x425533
mov byte [eax], 0
mov edx, dword [edi + 0xf8]
sub eax, edx
cmp eax, 0x40
jle 0x425533
mov dword [edx + 0x3e], 0x2e2e
push eax
push eax
push 0xa
push dword [edi + 0x100]
call fcn.004033da
add esp, 0x10
test eax, eax
je 0x425560
mov byte [eax], 0
mov edx, dword [edi + 0x100]
sub eax, edx
cmp eax, 0x40
jle 0x425560
mov dword [edx + 0x3e], 0x2e2e
push eax
push eax
push 0xa
push dword [edi + 0x104]
call fcn.004033da
add esp, 0x10
test eax, eax
je 0x42558d
mov byte [eax], 0
mov edx, dword [edi + 0x104]
sub eax, edx
cmp eax, 0x40
jle 0x42558d
mov dword [edx + 0x3e], 0x2e2e
push eax
push eax
push 0x3c
push dword [edi + 0xf4]
call fcn.004033da
add esp, 0x10
test eax, eax
mov dword [edi + 0x108], eax
je 0x4255d0
lea edx, [eax + 1]
mov dword [edi + 0x108], edx
mov byte [eax], 0
push eax
push eax
push 0x3e
push dword [edi + 0x108]
call fcn.004033da
add esp, 0x10
test eax, eax
je 0x4255e6
mov byte [eax], 0
jmp 0x4255e6
mov eax, dword [edi + 0xf4]
mov dword [edi + 0xf4], 0x442252
mov dword [edi + 0x108], eax
push eax
push eax
push 0x3c
push dword [edi + 0xf8]
call fcn.004033da
add esp, 0x10
test eax, eax
mov dword [edi + 0xfc], eax
je 0x425629
lea edx, [eax + 1]
mov dword [edi + 0xfc], edx
mov byte [eax], 0
push esi
push esi
push 0x3e
push dword [edi + 0xfc]
call fcn.004033da
add esp, 0x10
test eax, eax
je 0x42563f
mov byte [eax], 0
jmp 0x42563f
mov eax, dword [edi + 0xf8]
mov dword [edi + 0xf8], 0x442252
mov dword [edi + 0xfc], eax
sub esp, 0xc
push dword [edi + 0xf8]
call fcn.004247fb
pop ecx
push dword [edi + 0xf4]
call fcn.004247fb
pop ebx
push dword [edi + 0x104]
call fcn.004247fb
mov eax, dword [edi + 0xf8]
add esp, 0x10
push edx
push edx
push 0x442511
push eax
call fcn.0040343e
add esp, 0x10
test eax, eax
je 0x425687
mov byte [eax], 0x20
jmp 0x42566e
mov eax, dword [edi + 0xf4]
push esi
push esi
push 0x442511
push eax
call fcn.0040343e
add esp, 0x10
test eax, eax
je 0x4256a6
mov byte [eax], 0x20
jmp 0x42568d
mov eax, dword [edi + 0x100]
push ebx
push ebx
push 0x442511
push eax
call fcn.0040343e
add esp, 0x10
test eax, eax
je 0x4256c5
mov byte [eax], 0x20
jmp 0x4256ac
mov eax, dword [edi + 0x104]
push ecx
push ecx
push 0x442511
push eax
call fcn.0040343e
add esp, 0x10
test eax, eax
je 0x4256e4
mov byte [eax], 0x20
jmp 0x4256cb
cmp dword [ebp - 0xf1c], 0
je 0x425716
mov ebx, dword [edi + 0xe8]
movsx eax, byte [ebx]
test al, al
je 0x425716
push edx
push edx
push eax
push 0x433680
call fcn.004033da
add esp, 0x10
test eax, eax
je 0x425713
mov al, byte [eax + 0x43]
mov byte [ebx], al
inc ebx
jmp 0x4256f3
mov eax, 1
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret