Function at 0x40747a
Capabilities:
Create thread

Disassembly:
push 0xffffffffffffffff
push 0x40db59
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x18
push ebx
push ebp
push esi
mov esi, ecx
push edi
xor edi, edi
lea ebp, [esi + 0x99]
push edi
push edi
mov ecx, ebp
mov dword [esp + 0x1c], ebp
call fcn.004063d0
test al, al
jne 0x4074bd
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x4e20
call ebx
inc edi
cmp edi, 0xf
jae 0x407888
push 0
push 0
mov ecx, ebp
call fcn.004063d0
test al, al
je 0x40749d
mov al, byte [esp + 0x13]
push 0
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1c], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
lea ecx, [esp + 0x18]
mov dword [esp + 0x30], 0
push ecx
call fcn.004089c0
add esp, 4
push 0
push 0
push esi
push 0x4078a0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, byte [esi + 0xec]
test al, al
je 0x4077be
mov eax, dword [esi + 0x121]
mov edx, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
test eax, eax
mov edi, edx
je 0x407523
mov edi, eax
mov ebp, dword [esp + 0x1c]
mov eax, edx
test ebp, ebp
je 0x40752f
mov eax, ebp
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [edi]
jne 0x407553
test cl, cl
je 0x40754f
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [edi + 1]
jne 0x407553
add eax, 2
add edi, 2
test cl, cl
jne 0x40752f
xor eax, eax
jmp 0x407558
sbb eax, eax
sbb eax, 0xffffffff
mov ebx, dword [sym.imp.USER32.dll_SetTimer]
test eax, eax
je 0x4075b4
mov edx, dword [esi + 0xcb]
push 0
push 0x1d4c0
push 0x1c
push edx
call ebx
mov eax, dword [esi + 0x141]
test eax, eax
jne 0x407583
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
mov edx, dword [esi + 5]
push 0x12d
lea ecx, [esi + 0xdf]
push 0xc9
push ecx
mov cx, word [esi + 0xd3]
push edx
push ecx
mov ecx, dword [esp + 0x28]
push eax
call fcn.00406520
mov ebp, dword [esp + 0x1c]
mov edx, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
mov eax, dword [esi + 0x101]
mov edi, edx
test eax, eax
je 0x4075c2
mov edi, eax
test ebp, ebp
mov eax, edx
je 0x4075ca
mov eax, ebp
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [edi]
jne 0x4075ee
test cl, cl
je 0x4075ea
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [edi + 1]
jne 0x4075ee
add eax, 2
add edi, 2
test cl, cl
jne 0x4075ca
xor eax, eax
jmp 0x4075f3
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x407622
mov eax, dword [esi + 0xcb]
push 0
push 0x1d4c0
push 0x1a
push eax
call ebx
mov eax, dword [esi + 0x141]
test eax, eax
jne 0x407618
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
push 0xc9
jmp 0x407797
lea edx, [esi + 0x59]
push str._Syboe
push edx
call dword [sym.imp.MSVCP60.dll_bool___cdecl_std::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___char_const__]
add esp, 8
test al, al
je 0x407853
mov eax, dword [esi + 0x111]
mov ebp, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
test eax, eax
mov edi, ebp
je 0x407650
mov edi, eax
mov edx, dword [esp + 0x1c]
mov eax, ebp
test edx, edx
je 0x40765c
mov eax, edx
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [edi]
jne 0x407680
test cl, cl
je 0x40767c
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [edi + 1]
jne 0x407680
add eax, 2
add edi, 2
test cl, cl
jne 0x40765c
xor eax, eax
jmp 0x407685
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4076df
mov eax, dword [esi + 0xcb]
push 0
push 0x1d4c0
push 0x1b
push eax
call dword [sym.imp.USER32.dll_SetTimer]
mov eax, dword [esi + 0x141]
test eax, eax
jne 0x4076ae
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
mov edx, dword [esi + 5]
push 0x12c
lea ecx, [esi + 0xdf]
push 0xc9
push ecx
mov cx, word [esi + 0xd3]
push edx
push ecx
mov ecx, dword [esp + 0x28]
push eax
call fcn.00406520
mov edx, dword [esp + 0x1c]
mov ebp, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
mov eax, dword [esi + 0xf1]
mov edi, ebp
test eax, eax
je 0x4076ed
mov edi, eax
test edx, edx
mov eax, ebp
je 0x4076f5
mov eax, edx
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [edi]
jne 0x407719
test cl, cl
je 0x407715
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [edi + 1]
jne 0x407719
add eax, 2
add edi, 2
test cl, cl
jne 0x4076f5
xor eax, eax
jmp 0x40771e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x407857
mov eax, dword [esi + 0x131]
mov edi, ebp
test eax, eax
je 0x407734
mov edi, eax
test edx, edx
mov eax, ebp
je 0x40773c
mov eax, edx
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [edi]
jne 0x407760
test cl, cl
je 0x40775c
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [edi + 1]
jne 0x407760
add eax, 2
add edi, 2
test cl, cl
jne 0x40773c
xor eax, eax
jmp 0x407765
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x407857
mov edx, dword [esi + 0xcb]
push 0
push 0x1d4c0
push 0x1e
push edx
call dword [sym.imp.USER32.dll_SetTimer]
mov eax, dword [esi + 0x141]
test eax, eax
jne 0x407792
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
push 0x12e
mov edx, dword [esi + 5]
lea ecx, [esi + 0xdf]
push 0xc9
push ecx
mov cx, word [esi + 0xd3]
push edx
push ecx
mov ecx, dword [esp + 0x28]
push eax
call fcn.00406520
jmp 0x407853
mov eax, dword [esi + 0x151]
cmp eax, 1
jne 0x4077df
mov eax, dword [esi + 0x141]
test eax, eax
jne 0x4077d8
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
push 0x130
jmp 0x40781d
cmp eax, 2
mov eax, dword [esi + 0x141]
jne 0x407812
test eax, eax
jne 0x4077f3
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
mov edx, dword [esi + 5]
push 0x13c
lea ecx, [esi + 0xdf]
push 0xc8
push ecx
mov cx, word [esi + 0xd3]
push edx
push ecx
jmp 0x407835
test eax, eax
jne 0x40781b
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
push 0
mov ecx, dword [esi + 5]
lea edx, [esi + 0xdf]
push 0xc8
push edx
mov dx, word [esi + 0xd3]
push ecx
push edx
push eax
mov ecx, ebp
call fcn.00406520
mov eax, dword [esi + 0xcb]
push 0
push 0x1d4c0
push 0x1d
push eax
call dword [sym.imp.USER32.dll_SetTimer]
mov edx, dword [esp + 0x1c]
test edx, edx
je 0x407888
mov al, byte [edx - 1]
test al, al
je 0x40787e
cmp al, 0xff
je 0x40787e
pop edi
dec al
pop esi
pop ebp
mov byte [edx - 1], al
pop ebx
mov ecx, dword [esp + 0x18]
mov dword fs:[0], ecx
add esp, 0x24
ret
dec edx
push edx
call sub.MFC42.DLL_operatordelete
add esp, 4
mov ecx, dword [esp + 0x28]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x24
ret