Function at 0x426ff0
Capabilities:
Check os version

Disassembly:
push 0xffffffffffffffff
push 0x4cbca2
mov eax, dword fs:[0]
push eax
sub esp, 0x158
mov eax, dword [0x4f59b8]
xor eax, esp
mov dword [esp + 0x154], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4f59b8]
xor eax, esp
push eax
lea eax, [esp + 0x16c]
mov dword fs:[0], eax
mov esi, dword [esp + 0x17c]
mov dword [esp + 0x54], ecx
xor edi, edi
lea ecx, [esp + 0x1c]
mov dword [esp + 0x18], edi
call fcn.00425b70
mov dword [esp + 0x20], eax
mov byte [eax + 0x2d], 1
mov eax, dword [esp + 0x20]
mov dword [eax + 4], eax
mov eax, dword [esp + 0x20]
mov dword [eax], eax
mov eax, dword [esp + 0x20]
mov dword [eax + 8], eax
mov dword [esp + 0x24], edi
lea ecx, [esp + 0x28]
mov dword [esp + 0x174], edi
call fcn.00425a60
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edi
push 1
push 3
lea ecx, [esp + 0xc8]
mov byte [esp + 0x17c], 1
call fcn.00416850
mov eax, dword [esi + 0xc8]
mov ebp, dword [eax]
lea ebx, [esi + 0xc4]
mov byte [esp + 0x174], 2
mov dword [esp + 0x18], ebx
nop
cmp ebx, ebx
mov esi, dword [ebx + 4]
je 0x4270bc
call fcn.0049f4bd
cmp ebp, esi
je 0x42747f
cmp ebp, dword [ebx + 4]
jne 0x4270ce
call fcn.0049f4bd
mov esi, dword [ebp + 0x20]
lea edi, [ebp + 8]
mov eax, esi
cmp eax, esi
jae 0x4270da
cmp esi, 4
mov ecx, esi
jb 0x4270e6
mov ecx, 4
cmp dword [edi + 0x1c], 0x10
jb 0x4270f1
mov eax, dword [edi + 8]
jmp 0x4270f4
lea eax, [edi + 8]
push ecx
push str.text
push eax
call fcn.00424fe0
add esp, 0xc
test eax, eax
jne 0x42723f
cmp esi, 4
jb 0x42723f
cmp esi, 4
setne al
test eax, eax
jne 0x42723f
cmp ebp, dword [ebx + 4]
jne 0x42712c
call fcn.0049f4bd
mov eax, dword [edi + 0x5c]
push 0xa
lea ecx, [edi + 0x48]
push str.attachment
push eax
push 0
call fcn.00425660
test eax, eax
je 0x42723f
cmp ebp, dword [ebx + 4]
jne 0x427153
call fcn.0049f4bd
cmp ebp, dword [ebx + 4]
push edi
jne 0x42715e
call fcn.0049f4bd
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x80], esp
push 0xffffffffffffffff
lea eax, [edi + 0x20]
push 0
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], 0
push eax
mov byte [ecx + 4], 0
call fcn.00402d10
lea ecx, [esp + 0x168]
push ecx
call fcn.004264c0
add esp, 0x24
mov esi, eax
push 0xffffffffffffffff
push 0
push esi
lea ecx, [esp + 0x40]
mov byte [esp + 0x180], 3
mov dword [esp + 0x58], 0xf
mov dword [esp + 0x54], 0
mov byte [esp + 0x44], 0
call fcn.00402d10
mov edx, dword [esi + 0x1c]
mov dword [esp + 0x50], edx
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0xa4]
push ecx
lea ecx, [esp + 0x24]
mov byte [esp + 0x17c], 4
call fcn.00426be0
cmp dword [esp + 0x4c], 0x10
jb 0x4271ff
mov edx, dword [esp + 0x38]
push edx
call fcn.0049f16d
add esp, 4
cmp dword [esp + 0x160], 0x10
mov dword [esp + 0x4c], 0xf
mov dword [esp + 0x48], 0
mov byte [esp + 0x38], 0
mov byte [esp + 0x174], 2
jb 0x4272ce
mov eax, dword [esp + 0x14c]
push eax
call fcn.0049f16d
add esp, 4
jmp 0x4272ce
cmp ebp, dword [ebx + 4]
jne 0x427249
call fcn.0049f4bd
mov esi, dword [edi + 0x18]
mov eax, esi
cmp eax, esi
jae 0x427252
cmp esi, 9
mov ecx, esi
jb 0x42725e
mov ecx, 9
cmp dword [edi + 0x1c], 0x10
jb 0x427269
mov eax, dword [edi + 8]
jmp 0x42726c
lea eax, [edi + 8]
push ecx
push str.multipart
push eax
call fcn.00424fe0
add esp, 0xc
test eax, eax
jne 0x4272ce
cmp esi, 9
jb 0x4272ce
cmp esi, 9
setne al
test eax, eax
jne 0x4272ce
cmp ebp, dword [ebx + 4]
jne 0x427298
call fcn.0049f4bd
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 4]
lea ebx, [eax + 4]
lea ecx, [esp + 0x60]
push ecx
push edx
push eax
lea ecx, [esp + 0x34]
mov dword [esp + 0x6c], edi
call fcn.00425b30
push 1
lea ecx, [esp + 0x2c]
mov esi, eax
call fcn.00426390
mov dword [ebx], esi
mov eax, dword [esi + 4]
mov ebx, dword [esp + 0x18]
mov dword [eax], esi
cmp ebp, dword [ebx + 4]
jne 0x4272d8
call fcn.0049f4bd
mov esi, dword [edi + 0x5c]
mov eax, esi
cmp eax, esi
jae 0x4272e1
cmp esi, 0xa
mov ecx, esi
jb 0x4272ed
mov ecx, 0xa
cmp dword [edi + 0x60], 0x10
jb 0x4272f8
mov eax, dword [edi + 0x4c]
jmp 0x4272fb
lea eax, [edi + 0x4c]
push ecx
push str.attachment
push eax
call fcn.00424fe0
add esp, 0xc
test eax, eax
jne 0x42731d
cmp esi, 0xa
jb 0x427467
cmp esi, 0xa
setne al
xor ecx, ecx
cmp eax, ecx
jne 0x427467
mov eax, 0xf
mov dword [esp + 0x160], eax
mov dword [esp + 0x15c], ecx
mov byte [esp + 0x14c], cl
push 8
mov dword [esp + 0x4c], ecx
mov byte [esp + 0x3c], cl
push str.filename
lea ecx, [esp + 0x3c]
mov byte [esp + 0x17c], 5
mov dword [esp + 0x54], eax
call fcn.004030a0
cmp ebp, dword [ebx + 4]
mov byte [esp + 0x174], 6
jne 0x427377
call fcn.0049f4bd
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x5c]
push ecx
lea ecx, [ebp + 0x88]
call fcn.00425fd0
cmp dword [esp + 0x4c], 0x10
mov byte [esp + 0x174], 5
jb 0x4273a8
mov edx, dword [esp + 0x38]
push edx
call fcn.0049f16d
add esp, 4
cmp ebp, dword [ebx + 4]
jne 0x4273b2
call fcn.0049f4bd
mov esi, dword [esp + 0x58]
mov ebx, dword [edi + 0x84]
add edi, 0x80
test esi, esi
je 0x4273ca
cmp esi, edi
je 0x4273cf
call fcn.0049f4bd
mov edi, dword [esp + 0x5c]
cmp edi, ebx
je 0x427445
test esi, esi
jne 0x4273e0
call fcn.0049f4bd
cmp edi, dword [esi + 4]
jne 0x4273ea
call fcn.0049f4bd
cmp dword [edi + 0x40], 0x10
jb 0x4273f5
mov eax, dword [edi + 0x2c]
jmp 0x4273f8
lea eax, [edi + 0x2c]
push 0
push 0xffffffffffffffff
push eax
lea eax, [esp + 0x40]
push eax
call fcn.00426190
add esp, 0x10
push eax
lea ecx, [esp + 0xcc]
push str._r_nAttachment:
push ecx
mov byte [esp + 0x180], 7
call fcn.00415a50
add esp, 8
push eax
call fcn.00415c70
add esp, 8
cmp dword [esp + 0x4c], 8
jb 0x427445
mov edx, dword [esp + 0x38]
push edx
call fcn.0049f16d
add esp, 4
cmp dword [esp + 0x160], 0x10
mov byte [esp + 0x174], 2
jb 0x427467
mov eax, dword [esp + 0x14c]
push eax
call fcn.0049f16d
add esp, 4
mov ebx, dword [esp + 0x18]
cmp ebp, dword [ebx + 4]
jne 0x427475
call fcn.0049f4bd
mov ebp, dword [ebp]
xor edi, edi
jmp 0x4270b0
mov ecx, dword [esp + 0xc8]
mov eax, dword [ecx + 4]
xor esi, esi
test byte [esp + eax + 0xd0], 6
jne 0x4274af
mov eax, dword [esp + eax + 0xf0]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x30]
call eax
cmp eax, 0xffffffff
jne 0x4274af
mov esi, 4
cmp esi, edi
mov ecx, dword [esp + 0xc8]
mov ecx, dword [ecx + 4]
lea ecx, [esp + ecx + 0xc8]
je 0x4274d8
mov eax, dword [ecx + 8]
or eax, esi
cmp dword [ecx + 0x28], edi
jne 0x4274d1
or eax, 4
push edi
push eax
call fcn.00413120
push 5
push str.plain
lea ecx, [esp + 0x3c]
mov byte [esp + 0x1e], 0
mov dword [esp + 0x54], 0xf
mov dword [esp + 0x50], 0
mov byte [esp + 0x40], 0
call fcn.004030a0
lea edx, [esp + 0x34]
push edx
lea eax, [esp + 0x5c]
mov ebx, 1
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0x17c], 8
mov dword [esp + 0x20], ebx
call fcn.00426050
mov esi, dword [eax]
test esi, esi
mov edi, dword [eax + 4]
mov ebp, dword [esp + 0x20]
je 0x42753b
lea ecx, [esp + 0x1c]
cmp esi, ecx
je 0x427540
call fcn.0049f4bd
cmp edi, ebp
jne 0x4276b5
push 8
push str.richtext
lea ecx, [esp + 0x150]
mov dword [esp + 0x168], 0xf
mov dword [esp + 0x164], 0
mov byte [esp + 0x154], 0
call fcn.004030a0
lea edx, [esp + 0x148]
push edx
lea eax, [esp + 0x64]
mov ebx, 3
push eax
lea ecx, [esp + 0x24]
mov dword [esp + 0x17c], 9
mov dword [esp + 0x20], ebx
call fcn.00426050
mov esi, dword [eax]
test esi, esi
mov edi, dword [eax + 4]
mov ebp, dword [esp + 0x20]
je 0x4275b8
lea ecx, [esp + 0x1c]
cmp esi, ecx
je 0x4275bd
call fcn.0049f4bd
cmp edi, ebp
jne 0x4276b5
push 8
push str.enriched
lea ecx, [esp + 0x8c]
mov dword [esp + 0xa4], 0xf
mov dword [esp + 0xa0], 0
mov byte [esp + 0x90], 0
call fcn.004030a0
lea edx, [esp + 0x84]
push edx
lea eax, [esp + 0xbc]
mov ebx, 7
push eax
lea ecx, [esp + 0x24]
mov dword [esp + 0x17c], 0xa
mov dword [esp + 0x20], ebx
call fcn.00426050
mov esi, dword [eax]
test esi, esi
mov edi, dword [eax + 4]
mov ebp, dword [esp + 0x20]
je 0x427638
lea ecx, [esp + 0x1c]
cmp esi, ecx
je 0x42763d
call fcn.0049f4bd
cmp edi, ebp
jne 0x4276b5
push 4
mov ebx, 0xf
push str.html
lea ecx, [esp + 0x70]
mov dword [esp + 0x88], ebx
mov dword [esp + 0x84], 0
mov byte [esp + 0x74], 0
call fcn.004030a0
lea edx, [esp + 0x68]
push edx
lea eax, [esp + 0xa4]
push eax
lea ecx, [esp + 0x24]
mov dword [esp + 0x17c], 0xb
mov dword [esp + 0x20], ebx
call fcn.00426050
mov esi, dword [eax]
test esi, esi
mov edi, dword [eax + 4]
mov ebp, dword [esp + 0x20]
je 0x4276a7
lea ecx, [esp + 0x1c]
cmp esi, ecx
je 0x4276ac
call fcn.0049f4bd
cmp edi, ebp
mov byte [esp + 0x17], 0
je 0x4276ba
mov byte [esp + 0x17], 1
test bl, 8
je 0x4276f4
and ebx, 0xfffffff7
cmp dword [esp + 0x80], 0x10
jb 0x4276d9
mov edx, dword [esp + 0x6c]
push edx
call fcn.0049f16d
add esp, 4
mov ebp, 0xf
mov dword [esp + 0x80], ebp
mov dword [esp + 0x7c], 0
mov byte [esp + 0x6c], 0
jmp 0x4276f9
mov ebp, 0xf
test bl, 4
je 0x427735
and ebx, 0xfffffffb
cmp dword [esp + 0x9c], 0x10
jb 0x42771b
mov eax, dword [esp + 0x88]
push eax
call fcn.0049f16d
add esp, 4
mov dword [esp + 0x9c], ebp
mov dword [esp + 0x98], 0
mov byte [esp + 0x88], 0
test bl, 2
je 0x427771
and ebx, 0xfffffffd
cmp dword [esp + 0x160], 0x10
jb 0x427757
mov ecx, dword [esp + 0x14c]
push ecx
call fcn.0049f16d
add esp, 4
mov dword [esp + 0x160], ebp
mov dword [esp + 0x15c], 0
mov byte [esp + 0x14c], 0
test bl, 1
mov dword [esp + 0x174], 2
je 0x4277a6
cmp dword [esp + 0x4c], 0x10
jb 0x427795
mov edx, dword [esp + 0x38]
push edx
call fcn.0049f16d
add esp, 4
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x48], 0
mov byte [esp + 0x38], 0
cmp byte [esp + 0x17], 0
je 0x427829
test esi, esi
jne 0x4277b6
call fcn.0049f4bd
cmp edi, dword [esi + 4]
jne 0x4277c0
call fcn.0049f4bd
mov edi, dword [edi + 0x28]
mov ebp, dword [esp + 0x54]
mov ecx, dword [ebp]
push 0xffffffffffffffff
add edi, 0xa8
push 0
add ecx, 0xa0
push edi
call fcn.00402ea0
mov byte [esp + 0x16], 1
mov eax, dword [esp + 0xc8]
mov eax, dword [eax + 4]
test byte [esp + eax + 0xd0], 6
jne 0x427884
mov ecx, dword [esp + eax + 0xf0]
mov edx, dword [ecx]
mov edx, dword [edx + 0x24]
push 2
push 1
push 0
lea eax, [esp + 0xac]
push eax
call edx
mov ecx, dword [esp + 0xa8]
mov eax, dword [esp + 0xa0]
jmp 0x427892
mov eax, dword [esp + 0x2c]
mov esi, dword [eax]
mov ebp, dword [esp + 0x54]
lea edi, [esp + 0x28]
test edi, edi
mov ebx, dword [esp + 0x2c]
je 0x427847
lea ecx, [esp + 0x28]
cmp edi, ecx
je 0x42784c
call fcn.0049f4bd
cmp esi, ebx
je 0x4277e5
test edi, edi
jne 0x427859
call fcn.0049f4bd
cmp esi, dword [edi + 4]
jne 0x427863
call fcn.0049f4bd
mov edx, dword [esi + 8]
push edx
mov ecx, ebp
call fcn.00426ff0
test al, al
jne 0x4277e0
cmp esi, dword [edi + 4]
jne 0x427880
call fcn.0049f4bd
mov esi, dword [esi]
jmp 0x427837
mov eax, dword [0x4dc638]
xor ecx, ecx
mov dword [esp + 0xac], ecx
add eax, ecx
test eax, eax
jle 0x4278d8
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0xc4]
call fcn.004125e0
mov ecx, dword [ebp]
push 0xffffffffffffffff
push 0
add ecx, 0xa0
push eax
mov byte [esp + 0x180], 0xc
call fcn.00403170
cmp dword [esp + 0x4c], 8
jb 0x4278d8
mov ecx, dword [esp + 0x38]
push ecx
call fcn.0049f16d
add esp, 4
lea ecx, [esp + 0x114]
mov byte [esp + 0x174], 1
call fcn.0040ffe0
lea edx, [esp + 0x114]
push edx
mov dword [esp + method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.0048c962
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx]
mov dword [ecx], ecx
mov ecx, dword [esp + 0x30]
mov dword [ecx + 4], ecx
mov ecx, dword [esp + 0x30]
xor edi, edi
add esp, 4
cmp eax, ecx
mov dword [esp + 0x30], edi
je 0x427939
mov esi, dword [eax]
push eax
call fcn.0049f16d
mov ecx, dword [esp + 0x30]
add esp, 4
cmp esi, ecx
mov eax, esi
jne 0x427924
push ecx
call fcn.0049f16d
mov eax, dword [esp + 0x24]
add esp, 4
push eax
lea ecx, [esp + 0x20]
push ecx
mov dword [esp + 0x34], edi
mov edx, dword [eax]
push edx
mov esi, ecx
push esi
lea eax, [esp + 0xb0]
push eax
mov dword [esp + 0x188], 0xffffffff
call fcn.00426d10
mov ecx, dword [esp + 0x20]
push ecx
call fcn.0049f16d
mov al, byte [esp + 0x1a]
add esp, 4
mov ecx, dword [esp + 0x16c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x154]
xor ecx, esp
call fcn.0049fcf1
add esp, 0x164
ret 4