Function at 0x40b1a0
Capabilities:
Create thread
Resume thread

Disassembly:
push 0xffffffffffffffff
push 0x544112
mov eax, dword fs:[0]
push eax
sub esp, 0x28
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5c403c]
xor eax, esp
push eax
lea eax, [esp + 0x3c]
mov dword fs:[0], eax
mov edi, ecx
mov ebp, dword [esp + 0x4c]
mov esi, ebp
call fcn.0040e1d0
lea esi, [esp + 0x20]
call fcn.0040abb0
test edi, edi
je 0x40b20a
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov edx, dword [edi + 8]
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 0x24], ecx
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x28], edx
mov edx, dword [edi + 0x14]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edx
mov eax, dword [ebp + 0x20]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0
push 0x888
push eax
call esi
mov ecx, dword [ebp + 0x20]
push 0
push 0
push 0x889
push ecx
mov dword [ebp + 0x9c], eax
call esi
xor edi, edi
push 0x8c2
lea ebx, [edi + 1]
mov esi, ebp
mov dword [ebp + 0xa0], eax
call fcn.0040baf0
push 0x8e8
call fcn.0040baf0
push 0x84c
xor ebx, ebx
call fcn.0040baf0
push 0x99c
lea ebx, [edi + 1]
call fcn.0040baf0
push 0x843
call fcn.0040baf0
push 0xfa1
xor ebx, ebx
call fcn.0040baf0
push 0x7f5
mov ebx, 0xfde9
call fcn.0040baf0
push 0x840
mov edi, 0x55c3b4
xor ebx, ebx
call fcn.0040baf0
push 0x8a0
xor edi, edi
call fcn.0040baf0
mov edi, dword [esp + 0x24]
push 0x803
mov esi, ebp
call fcn.0040baf0
mov edi, dword [esp + 0x20]
push 0x804
call fcn.0040baf0
inc ebx
cmp ebx, 0xff
jl 0x40b2b0
mov edi, dword [esp + 0x2c]
push 0x813
mov ebx, 1
call fcn.0040baf0
mov edi, dword [esp + 0x28]
push 0x814
call fcn.0040baf0
mov ebx, dword [esp + 0x30]
push 0x815
xor edi, edi
call fcn.0040baf0
push 0x937
lea ebx, [edi + 0x63]
call fcn.0040baf0
mov edi, dword [esp + 0x34]
push 0x822
mov ebx, 1
call fcn.0040baf0
lea ecx, [esp + 0x18]
call dword [0x55a318]
xor esi, esi
mov dword [esp + 0x44], esi
lea ecx, [esp + 0x4c]
call dword [0x55a318]
mov byte [esp + 0x44], bl
mov edi, dword [sym.imp.MSVCR90.dll_isalnum]
lea esp, [esp]
cmp esi, 0xd
je 0x40b386
cmp esi, 0xa
je 0x40b386
cmp esi, 0x20
jl 0x40b37b
je 0x40b37b
push esi
call edi
add esp, 4
test eax, eax
jne 0x40b375
cmp esi, 0x27
je 0x40b375
cmp esi, 0x5f
jne 0x40b386
lea ecx, [esp + 0x18]
jmp 0x40b37f
lea ecx, [esp + 0x4c]
push esi
call dword [sym.imp.mfc90u.dll_ATL::CStringT_char_class_StrTraitMFC_DLL_char_class_ATL::ChTraitsCRT_char_____::operator]
inc esi
cmp esi, 0xff
jl 0x40b350
mov edi, dword [esp + 0x18]
push 0x81d
xor ebx, ebx
mov esi, ebp
call fcn.0040baf0
mov edi, dword [esp + 0x4c]
push 0x98b
call fcn.0040baf0
push 0x93b
xor edi, edi
call fcn.0040baf0
push 0x8dc
lea ebx, [edi + 1]
call fcn.0040baf0
push 0x816
mov edi, 0x993
mov ebx, 0x131
call fcn.0040baf0
push 0x816
mov edi, 0x994
mov ebx, 0x10131
call fcn.0040baf0
push 0x816
mov edi, 0x92d
mov ebx, 0x130
call fcn.0040baf0
push 0x816
mov edi, 0x992
mov ebx, 0x10130
call fcn.0040baf0
xor ebx, ebx
cmp dword [ebp + 0x68], ebx
jne 0x40b45f
mov edx, dword [ebp + 0x90]
push edx
call dword [sym.imp.KERNEL32.dll_ResetEvent]
lea eax, [esp + 0x1c]
push eax
push 4
push ebp
push 0x40c240
push ebx
push ebx
mov dword [esp + 0x34], ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp + 0x68], eax
cmp eax, ebx
je 0x40b45f
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov ecx, dword [ebp + 0x68]
push ecx
call dword [sym.imp.KERNEL32.dll_ResumeThread]
mov byte [esp + 0x44], bl
lea ecx, [esp + 0x4c]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_char_class_StrTraitMFC_DLL_char_class_ATL::ChTraitsCRT_char_____::CStringT_char_class_StrTraitMF]
mov dword [esp + 0x44], 0xffffffff
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_char_class_StrTraitMFC_DLL_char_class_ATL::ChTraitsCRT_char_____::CStringT_char_class_StrTraitMF]
mov ecx, dword [esp + 0x3c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret 4