Function at 0x420af4
Capabilities:
Check for time delay via gettickcount

Disassembly:
mov eax, 0x43069e
call fcn.0042e9c0
sub esp, 0xa8
mov al, byte [ebp + 0xb]
push ebx
push esi
push edi
xor edi, edi
lea ecx, [ebp - 0x28]
push edi
mov dword [ebp - 0x44], edi
mov byte [ebp - 0x28], 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_]
mov esi, dword [0x43315c]
push 3
pop ebx
mov dword [ebp - 4], 1
mov al, byte [esi]
sub al, bl
movzx eax, al
add eax, ebx
and al, 0xfc
call fcn.0042e9e0
mov eax, esp
push esi
push eax
call fcn.0042bd2b
mov esi, eax
push esi
call sub.MSVCRT.dll_strlen
add esp, 0xc
lea ecx, [ebp - 0x28]
push eax
push esi
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
lea eax, [ebp - 0x64]
push eax
call fcn.004208cf
movsx eax, byte [0x438c20]
push dword [0x438c38]
mov byte [ebp - 4], 2
push eax
call fcn.0040aa83
add byte [0x438c1f], al
push 0x1493ffff
push 0xa4c1ffff
call fcn.0040aac5
add dword [0x438c54], eax
add esp, 0x14
cmp byte [0x438c1c], 0
je 0x420baf
cmp dword [0x438c44], edi
je 0x420baf
push 1
pop eax
jmp 0x420bb1
xor eax, eax
add byte [0x438c20], al
mov al, byte [ebp - 0x64]
sub esp, 0x10
mov esi, esp
mov dword [ebp - 0x18], esp
push edi
mov ecx, esi
mov byte [esi], 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_]
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov ecx, esi
push dword [eax]
lea eax, [ebp - 0x64]
push edi
push eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
call fcn.00402945
add esp, 0x10
mov byte [ebp - 0x11], al
call dword [sym.imp.USER32.dll_GetDesktopWindow]
cmp byte [ebp - 0x11], 0
mov word [0x438c28], ax
je 0x420c32
push 0x833fffff
push 0x1de5ffff
call fcn.0040aa83
add word [0x438c30], ax
pop ecx
pop ecx
call fcn.00402b1f
inc word [0x438c2c]
xor eax, eax
cmp byte [0x438c18], al
setne al
mov dword [0x438c58], eax
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
lea ecx, [ebp - 0x28]
push dword [eax]
lea eax, [ebp - 0x64]
push edi
push eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
mov eax, dword [0x433160]
mov esi, dword [str._t2]
xor esi, dword [0x438300]
mov al, byte [eax]
xor esi, dword [0x438304]
sub al, bl
movzx eax, al
xor esi, dword [0x438308]
add eax, ebx
and al, 0xfc
call fcn.0042e9e0
mov eax, esp
push dword [0x433160]
push eax
call fcn.0042bd2b
push eax
mov dword [ebp - 0x18], eax
call sub.MSVCRT.dll_strlen
add esp, 0xc
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x18]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
lea eax, [ebp - 0x40]
push esi
push eax
call fcn.00404cd1
pop ecx
pop ecx
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov byte [ebp - 4], bl
push dword [ecx]
lea ecx, [ebp - 0x28]
push edi
push eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
push 1
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 2
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov esi, dword [0x433168]
mov al, byte [esi]
sub al, bl
movzx eax, al
add eax, ebx
and al, 0xfc
call fcn.0042e9e0
mov eax, esp
push esi
push eax
call fcn.0042bd2b
mov esi, eax
push esi
call sub.MSVCRT.dll_strlen
add esp, 0xc
lea ecx, [ebp - 0x28]
push eax
push esi
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
movsx eax, byte [0x438c1e]
push eax
push dword [0x438c38]
call fcn.0040a8f9
add byte [0x438c1c], al
mov esi, 0x4382f8
push esi
call sub.MSVCRT.dll_strlen
add esp, 0xc
lea ecx, [ebp - 0x28]
push eax
push esi
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
mov esi, dword [0x43316c]
mov al, byte [esi]
sub al, bl
movzx eax, al
add eax, ebx
and al, 0xfc
call fcn.0042e9e0
mov eax, esp
push esi
push eax
call fcn.0042bd2b
mov esi, eax
push esi
call sub.MSVCRT.dll_strlen
add esp, 0xc
lea ecx, [ebp - 0x28]
push eax
push esi
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
movsx ax, byte [0x438c19]
add word [0x438c28], ax
mov al, byte [0x438c5c]
inc al
mov byte [0x438c1d], al
call fcn.00401af2
mov eax, dword [eax*4 + 0x4392c4]
mov al, byte [eax]
sub al, bl
movzx eax, al
add eax, ebx
and al, 0xfc
call fcn.0042e9e0
mov esi, esp
call fcn.00401af2
push dword [eax*4 + 0x4392c4]
push esi
call fcn.0042bd2b
mov esi, eax
push esi
call sub.MSVCRT.dll_strlen
add esp, 0xc
lea ecx, [ebp - 0x28]
push eax
push esi
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
push dword [0x438c40]
push 0x47fdffff
call fcn.0040a96f
pop ecx
mov byte [0x438c1b], al
mov al, byte [ebp + 0xb]
pop ecx
push edi
lea ecx, [ebp - 0x54]
mov byte [ebp - 0x54], 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_]
push 0xe4dffff
mov byte [ebp - 4], 4
push dword [0x438c58]
call fcn.0040aa83
add byte [0x438c21], al
mov esi, dword [0x433170]
xor eax, eax
pop ecx
cmp byte [0x438c1f], al
pop ecx
setne al
add word [0x438c2a], ax
mov al, byte [esi]
sub al, bl
movzx eax, al
add eax, ebx
and al, 0xfc
call fcn.0042e9e0
mov eax, esp
lea ecx, [ebp - 0x30]
push edi
push ecx
push edi
push 0x20019
push edi
push edi
push edi
push esi
push eax
call fcn.0042bd2b
pop ecx
pop ecx
push eax
push 0x80000001
push 0x10
call fcn.0040ebd2
pop ecx
call eax
test eax, eax
jne 0x42101a
push 0x9b8fffff
push 0xe1fffff
mov dword [ebp - 0x2c], edi
call fcn.0040a8f9
mov dword [0x438c3c], eax
movsx eax, word [0x438c2e]
push eax
movsx eax, byte [0x438c1c]
push eax
call fcn.0040a96f
add esp, 0x10
mov byte [0x438c1e], al
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, dword [0x433174]
add word [0x438c34], ax
mov al, byte [esi]
sub al, bl
movzx eax, al
add eax, ebx
and al, 0xfc
call fcn.0042e9e0
lea ecx, [ebp - 0x2c]
mov eax, esp
push ecx
lea ecx, [ebp - 0x18]
push edi
push ecx
push edi
push esi
push eax
call fcn.0042bd2b
pop ecx
pop ecx
push eax
push dword [ebp - 0x30]
push 0x12
call fcn.0040ebd2
pop ecx
call eax
test eax, eax
jne 0x420ff7
push 1
pop esi
cmp dword [ebp - 0x18], esi
jne 0x420ff7
push dword [0x438c48]
push 0x983ffff
call fcn.0040aa18
cmp dword [0x438c50], edi
pop ecx
pop ecx
mov word [0x438c30], ax
jne 0x420f21
cmp dword [0x438c58], edi
mov dword [0x438c5c], edi
je 0x420f27
mov dword [0x438c5c], esi
mov eax, dword [ebp - 0x2c]
inc eax
push eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov esi, dword [0x433174]
add word [0x438c28], 0xfffe
mov dword [ebp - 0x10], eax
pop ecx
mov al, byte [esi]
sub al, bl
movzx eax, al
add eax, ebx
and al, 0xfc
call fcn.0042e9e0
lea ecx, [ebp - 0x2c]
mov eax, esp
push ecx
lea ecx, [ebp - 0x18]
push dword [ebp - 0x10]
push ecx
push edi
push esi
push eax
call fcn.0042bd2b
pop ecx
pop ecx
push eax
push dword [ebp - 0x30]
push 0x12
call fcn.0040ebd2
pop ecx
call eax
test eax, eax
jne 0x420fee
movsx eax, word [0x438c22]
movsx ecx, word [0x438c2a]
sub ecx, eax
mov ax, word [0x438c26]
imul ax, word [0x438c30]
mov esi, dword [ebp - 0x10]
add dword [0x438c48], ecx
mov word [0x438c30], ax
mov eax, dword [ebp - 0x2c]
and byte [esi + eax], 0
push dword [0x438c54]
call dword [sym.imp.USER32.dll_IsMenu]
push esi
mov byte [0x438c20], al
call sub.MSVCRT.dll_strlen
pop ecx
push eax
push esi
lea ecx, [ebp - 0x54]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
movsx eax, word [0x438c26]
push eax
push dword [0x438c4c]
call fcn.0040ab0e
pop ecx
mov word [0x438c22], ax
pop ecx
push dword [ebp - 0x10]
call fcn.0042e920
pop ecx
movsx eax, byte [0x438c1d]
movsx ecx, word [0x438c2c]
push dword [ebp - 0x30]
and eax, ecx
add dword [0x438c54], eax
push 0xf
call fcn.0040ebd2
pop ecx
call eax
mov eax, dword [0x438c48]
mov byte [0x438c1e], 0xfe
or eax, 0xed81ffff
add dword [0x438c44], eax
cmp dword [ebp - 0x4c], edi
jne 0x421181
push 0x48
call fcn.0040ebd2
pop ecx
call eax
mov esi, eax
call dword [sym.imp.USER32.dll_GetActiveWindow]
push 0x47
mov dword [0x438c58], eax
call fcn.0040ebd2
pop ecx
call eax
push edi
push edi
push 0x1b
mov dword [ebp - 0x18], eax
call fcn.0040ebd2
pop ecx
call eax
mov dword [ebp - 0x2c], eax
movsx eax, word [0x438c28]
push 0x5e29ffff
push eax
mov byte [ebp - 4], 5
call fcn.0040a933
mov byte [0x438c1d], al
mov word [0x438c24], 1
movsx eax, byte [0x438c21]
push eax
push 0xb17fffff
call fcn.0040a96f
add esp, 0x10
mov byte [0x438c1d], al
mov dword [ebp - 0x10], edi
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 6
push eax
push 0x433550
push 1
push edi
push 0x433540
push 0x18
call fcn.0040ebd2
pop ecx
call eax
test eax, eax
jl 0x421159
mov al, byte [0x438c2c]
add al, byte [0x438c19]
add byte [0x438c20], al
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea edx, [ebp - 0xb4]
mov byte [0x438c1a], al
mov eax, dword [ebp - 0x10]
push edx
push dword [ebp - 0x18]
mov ecx, dword [eax]
push esi
push eax
call dword [ecx + 0x40]
test eax, eax
jl 0x421159
lea eax, [ebp - 0xb0]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.00407a0e
pop ecx
pop ecx
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov byte [ebp - 4], 7
push dword [ecx]
lea ecx, [ebp - 0x54]
push edi
push eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
push 1
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 6
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov al, byte [0x438c1e]
dec al
mov byte [0x438c1c], al
mov ax, word [0x438c40]
mov word [0x438c22], ax
mov eax, dword [ebp - 0x10]
mov byte [ebp - 4], 5
cmp eax, edi
je 0x42116a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp dword [ebp - 0x2c], 0x80010106
mov byte [ebp - 4], 4
je 0x421181
push 0x1c
call fcn.0040ebd2
pop ecx
call eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, dword [0x433178]
mov byte [0x438c1f], al
mov al, byte [esi]
sub al, bl
movzx eax, al
add eax, ebx
and al, 0xfc
call fcn.0042e9e0
mov eax, esp
push esi
push eax
call fcn.0042bd2b
mov esi, eax
push esi
call sub.MSVCRT.dll_strlen
add esp, 0xc
lea ecx, [ebp - 0x28]
push eax
push esi
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
call dword [sym.imp.USER32.dll_GetActiveWindow]
mov dword [0x438c48], eax
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov dword [0x438c3c], 0x11ffff
lea ecx, [ebp - 0x28]
push dword [eax]
lea eax, [ebp - 0x54]
push edi
push eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
mov esi, dword [0x43317c]
mov al, byte [esi]
sub al, bl
movzx eax, al
add eax, ebx
and al, 0xfc
call fcn.0042e9e0
mov eax, esp
push esi
push eax
call fcn.0042bd2b
mov esi, eax
push esi
call sub.MSVCRT.dll_strlen
add esp, 0xc
lea ecx, [ebp - 0x28]
push eax
push esi
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
push 0x50dffff
push 0x3f0bffff
call fcn.0040a8f9
add word [0x438c30], ax
lea eax, [ebp - 0x40]
push 2
push eax
call fcn.00404935
add esp, 0x10
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov byte [ebp - 4], 8
push dword [ecx]
lea ecx, [ebp - 0x28]
push edi
push eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
push 1
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 4
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov esi, dword [0x433180]
mov al, byte [esi]
sub al, bl
movzx eax, al
add eax, ebx
and al, 0xfc
call fcn.0042e9e0
mov eax, esp
push esi
push eax
call fcn.0042bd2b
mov esi, eax
push esi
call sub.MSVCRT.dll_strlen
add esp, 0xc
lea ecx, [ebp - 0x28]
push eax
push esi
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
movsx eax, word [0x438c24]
add eax, 0x47040001
mov dword [0x438c38], eax
call fcn.00422637
mov esi, eax
call fcn.00421e38
cmp eax, edi
je 0x4212fa
cmp esi, eax
jb 0x4212fa
sub esi, eax
lea eax, [ebp - 0x40]
push esi
push eax
call fcn.00404cd1
pop ecx
pop ecx
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov byte [ebp - 4], 9
push dword [ecx]
lea ecx, [ebp - 0x28]
push edi
push eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
push 1
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 4
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
jmp 0x42132f
mov esi, dword [0x433054]
mov al, byte [esi]
sub al, bl
movzx eax, al
add eax, ebx
and al, 0xfc
call fcn.0042e9e0
mov eax, esp
push esi
push eax
call fcn.0042bd2b
mov esi, eax
push esi
call sub.MSVCRT.dll_strlen
add esp, 0xc
lea ecx, [ebp - 0x28]
push eax
push esi
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
mov esi, dword [0x433184]
mov al, byte [esi]
sub al, bl
movzx eax, al
add eax, ebx
and al, 0xfc
call fcn.0042e9e0
mov eax, esp
push esi
push eax
call fcn.0042bd2b
mov esi, eax
push esi
call sub.MSVCRT.dll_strlen
add esp, 0xc
lea ecx, [ebp - 0x28]
push eax
push esi
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
lea eax, [ebp - 0x40]
push eax
call fcn.00422073
pop ecx
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov byte [ebp - 4], 0xa
push dword [ecx]
lea ecx, [ebp - 0x28]
push edi
push eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
push 1
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 4
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov esi, dword [0x433188]
mov al, byte [esi]
sub al, bl
movzx eax, al
add eax, ebx
and al, 0xfc
call fcn.0042e9e0
mov eax, esp
push esi
push eax
call fcn.0042bd2b
mov esi, eax
push esi
call sub.MSVCRT.dll_strlen
add esp, 0xc
lea ecx, [ebp - 0x28]
push eax
push esi
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
push 6
call fcn.0040481f
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.00404e72
add esp, 0xc
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov byte [ebp - 4], 0xb
push dword [ecx]
lea ecx, [ebp - 0x28]
push edi
push eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
push 1
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 4
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov esi, dword [0x43318c]
mov al, byte [esi]
sub al, bl
movzx eax, al
add eax, ebx
and al, 0xfc
call fcn.0042e9e0
mov eax, esp
push esi
push eax
call fcn.0042bd2b
mov esi, eax
push esi
call sub.MSVCRT.dll_strlen
add esp, 0xc
lea ecx, [ebp - 0x28]
push eax
push esi
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
mov al, byte [0x438c21]
mov esi, str.Nov_29_2010
add byte [0x438c1c], al
push esi
mov dword [0x438c40], 0xc069ffff
call sub.MSVCRT.dll_strlen
pop ecx
push eax
push esi
lea ecx, [ebp - 0x28]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
push 0x2c
push 1
pop esi
lea ecx, [ebp - 0x28]
push esi
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_unsigned_int__char_]
push dword [0x438c3c]
push 0xa851ffff
call fcn.0040aa18
add word [0x438c34], ax
cmp word [0x438c30], di
pop ecx
pop ecx
jne 0x4214a4
cmp word [0x438c34], di
mov dword [0x438c40], edi
je 0x4214aa
mov dword [0x438c40], esi
mov esi, 0x4382e0
push esi
call sub.MSVCRT.dll_strlen
pop ecx
push eax
push esi
lea ecx, [ebp - 0x28]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
lea eax, [ebp - 0x28]
push eax
call fcn.0040b75d
movsx eax, byte [0x438c1f]
pop ecx
push 0xefc5ffff
push eax
push 0x5af9ffff
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov esi, dword [0x432d8c]
mov byte [0x438c20], al
mov eax, dword [0x438c48]
dec eax
add word [0x438c28], ax
mov al, byte [esi]
sub al, bl
movzx eax, al
add eax, ebx
and al, 0xfc
call fcn.0042e9e0
lea ecx, [ebp - 0x28]
mov eax, esp
push ecx
push esi
push eax
call fcn.0042bd2b
pop ecx
pop ecx
push eax
lea eax, [ebp - 0x40]
push eax
call sub.MSVCP60.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_char_const___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__
add esp, 0xc
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov byte [ebp - 4], 0xc
push dword [ecx]
lea ecx, [ebp - 0x28]
push edi
push eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
push 1
lea ecx, [ebp - 0x40]
pop ebx
mov byte [ebp - 4], 4
push ebx
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push 0xd8d1ffff
push 0x87e9ffff
call fcn.0040a933
add dword [0x438c4c], eax
push dword [0x438c50]
movsx eax, word [0x438c28]
push eax
call fcn.0040aac5
add word [0x438c28], ax
mov esi, dword [ebp + 8]
movsx eax, word [0x438c2c]
add eax, dword [0x438c3c]
add esp, 0x10
mov ecx, esi
mov dword [0x438c58], eax
mov al, byte [ebp - 0x28]
push edi
mov byte [esi], 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_]
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov ecx, esi
push dword [eax]
lea eax, [ebp - 0x28]
push edi
push eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
mov dword [ebp - 0x44], ebx
push ebx
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 2
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push ebx
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], bl
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
and byte [ebp - 4], 0
push ebx
lea ecx, [ebp - 0x28]
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov ecx, dword [ebp - 0xc]
lea esp, [ebp - 0xc0]
mov eax, esi
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret