Function at 0x40d3b0
Capabilities:
Create thread

Disassembly:
push ebx
push ebp
push esi
push edi
push 0x45f7e0
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov esi, dword [esp + 0x14]
mov eax, dword [0x5e8204]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
xor ebp, ebp
cmp esi, ebp
mov dword [0x45f7d8], ebp
mov dword [0x45f7fc], ebp
mov dword [0x45f7f8], eax
je 0x40d3ea
push esi
call ebx
mov ebp, eax
mov edi, dword [0x4609e8]
cmp dword [edi - 0xc], 1
jg 0x40d3fb
cmp ebp, dword [edi - 4]
jle 0x40d41a
mov ecx, 0x4609e8
call fcn.00404520
push ebp
mov ecx, 0x4609e8
call fcn.004044c0
test eax, eax
je 0x40d43c
mov edi, dword [0x4609e8]
mov ecx, ebp
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [0x4609e8]
mov dword [eax - 8], ebp
mov ecx, dword [0x4609e8]
mov byte [ecx + ebp], 0
mov esi, dword [esp + 0x18]
test esi, esi
jne 0x40d448
xor ebp, ebp
jmp 0x40d44d
push esi
call ebx
mov ebp, eax
mov edi, dword [0x4609ec]
mov ecx, dword [edi - 0xc]
lea eax, [edi - 0xc]
cmp ecx, 1
jg 0x40d463
cmp ebp, dword [edi - 4]
jle 0x40d4ac
mov ecx, dword [0x456054]
add edi, 0xfffffff4
cmp edi, ecx
je 0x40d497
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x40d48d
mov edx, dword [0x4609ec]
add edx, 0xfffffff4
push edx
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, dword [0x456050]
mov dword [0x4609ec], eax
push ebp
mov ecx, 0x4609ec
call fcn.004044c0
test eax, eax
je 0x40d4ce
mov edi, dword [0x4609ec]
mov ecx, ebp
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [0x4609ec]
mov dword [eax - 8], ebp
mov ecx, dword [0x4609ec]
mov byte [ecx + ebp], 0
mov eax, dword [0x4609fc]
mov dword [0x4609f4], 0
test eax, eax
je 0x40d4f2
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x4609fc], 0
push str.LoginEvent
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov esi, dword [sym.imp.MSVCRT.dll_sprintf]
mov ebx, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ebp, dword [sym.imp.USER32.dll_PostMessageA]
mov dword [0x4609fc], eax
mov dword [esp + 0x14], 0
mov edx, dword [0x4609e8]
push 0x456d18
push edx
push 0x456d18
push 1
push str._u_s_s_s
push 0x460170
call esi
mov edi, 0x460170
or ecx, 0xffffffff
xor eax, eax
push 0
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 0x57
push ecx
call fcn.0040f8a0
add esp, 0x24
mov ecx, 0x460988
call fcn.0040b420
push str.Mozilla_4.0__compatible___
push 0
push 0
push str.http:__mm.cn.msg.yahoo.com
mov ecx, 0x460988
call fcn.0040ad70
test al, al
jne 0x40d592
mov dword [0x460a04], 0x601
jmp 0x40d62b
push 0
push 0
push 0x40d230
call dword [sym.imp.MSVCRT.dll__beginthread]
mov eax, dword [0x4609fc]
add esp, 0xc
test eax, eax
je 0x40d614
push 0x2bf20
push eax
call ebx
test eax, eax
je 0x40d5f2
cmp eax, 0x102
je 0x40d5d9
push str.YMINI_default_error_n
call fcn.0041e6c0
add esp, 4
mov dword [0x460a04], 0x606
jmp 0x40d62b
push str.YMINI_Login_TimeOut_n
call fcn.0041e6c0
add esp, 4
mov dword [0x460a04], 0x605
jmp 0x40d62b
mov eax, dword [0x460a04]
test eax, eax
jne 0x40d61d
push eax
push eax
mov eax, dword [0x45da7c]
push 0x1789
push eax
mov dword [0x45f7d8], 1
call ebp
mov eax, dword [0x460a04]
test eax, eax
je 0x40d64c
cmp eax, 0x603
je 0x40d64c
cmp eax, 0x604
je 0x40d64c
mov edi, dword [esp + 0x14]
cmp edi, 3
jge 0x40d64c
push edi
push str.YMini_Login_failed__Begin_Retry_...__d_n
call fcn.0041e6c0
add esp, 8
inc edi
mov dword [esp + 0x14], edi
jmp 0x40d522
mov ecx, dword [0x4609fc]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x45f7e0
mov dword [0x4609fc], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [0x460a04]
pop edi
pop esi
pop ebp
pop ebx
ret