Function at 0x10002a90
Capabilities:
Check for time delay via gettickcount
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10008fc8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x148
push ebx
push esi
push edi
mov ebx, ecx
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x30], ebx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x44]
mov edi, dword [ebp + 8]
inc ecx
push edi
mov dword [ebx + 0x44], ecx
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x38], eax
call sub.MFC42.DLL_CString::CString_2
push 0x2e
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0
mov byte [ebp - 0x21], 1
call sub.MFC42.DLL_CString::ReverseFind
inc eax
lea ecx, [ebp - 0x28]
push eax
lea eax, [ebp - 0x18]
push eax
call sub.MFC42.DLL_CString::Mid_1
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 1
call sub.MFC42.DLL_CString::MakeLower
lea ecx, [ebp - 0x18]
lea edx, [ebp - 0x20]
push ecx
push 0x1000c180
push edx
call sub.MFC42.DLL_operator_1
push 0x1000c17c
push eax
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 2
push eax
call sub.MFC42.DLL_operator_2
mov eax, dword [eax]
lea esi, [ebx + 0x60]
push eax
mov ecx, esi
mov byte [ebp - 4], 3
call sub.MFC42.DLL_CString::Find_1
test eax, eax
jge 0x10002b96
lea ecx, [ebp - 0x18]
lea edx, [ebp - 0x40]
push ecx
push 0x1000c17c
push edx
call sub.MFC42.DLL_operator_1
push 0x1000c17c
push eax
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 4
push eax
call sub.MFC42.DLL_operator_2
mov eax, dword [eax]
mov ecx, esi
push eax
mov byte [ebp - 4], 5
call sub.MFC42.DLL_CString::Find_1
test eax, eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 4
setl byte [ebp - 0x11]
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 3
call sub.MFC42.DLL_CString::CString
mov al, byte [ebp - 0x11]
test al, al
jne 0x10002bb0
push str.bj__sm.
lea ecx, [ebp - 0x28]
call sub.MFC42.DLL_CString::Find_1
test eax, eax
setg al
test al, al
mov byte [ebp - 0x11], 0
je 0x10002bb4
mov byte [ebp - 0x11], 1
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 2
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 1
call sub.MFC42.DLL_CString::CString
mov al, byte [ebp - 0x11]
test al, al
je 0x10002c04
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0xffffffff
call sub.MFC42.DLL_CString::CString
or eax, 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push edi
mov ecx, ebx
call fcn.100067f0
test al, al
je 0x10002c43
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, 0xfffffffe
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
lea ecx, [ebp - 0x1c]
call sub.MFC42.DLL_CString::CString_3
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 6
call sub.MFC42.DLL_CString::CString_3
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 7
push ecx
push 0x100
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
mov edi, str.bbjjssmm_
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp - 0x154]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, ebx
call fcn.10004600
push eax
lea eax, [ebp - 0x154]
push eax
lea ecx, [ebp - 0x1c]
push str._s_dbj__sm.bjsm
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0xc
lea edx, [ebp - 0x1c]
mov ecx, esp
mov dword [ebp - 0x20], esp
push edx
call sub.MFC42.DLL_CString::CString_1
mov ecx, ebx
call fcn.100033e0
mov al, byte [ebx + 0x40]
test al, al
jne 0x10002ee7
lea ecx, [ebp - 0x54]
call sub.MFC42.DLL_AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK
mov eax, dword [ebp - 0x18]
mov esi, dword [sym.imp.MSVCRT.dll__mbscmp]
push 0x1000c160
push eax
mov byte [ebp - 4], 9
call esi
add esp, 8
test eax, eax
je 0x10002e9a
mov ecx, dword [ebp - 0x18]
push 0x1000c15c
push ecx
call esi
add esp, 8
test eax, eax
je 0x10002e9a
mov edx, dword [ebp - 0x18]
push 0x1000c158
push edx
call esi
add esp, 8
test eax, eax
je 0x10002e9a
mov eax, dword [ebp - 0x18]
push str.html
push eax
call esi
add esp, 8
test eax, eax
je 0x10002e9a
mov ecx, dword [ebp - 0x18]
push 0x1000c14c
push ecx
call esi
add esp, 8
test eax, eax
je 0x10002e9a
mov edx, dword [ebp - 0x18]
push 0x1000c148
push edx
call esi
add esp, 8
test eax, eax
jne 0x10002e7e
push ecx
lea ecx, [ebp - 0x1c]
mov eax, esp
mov dword [ebp - 0x20], esp
push str..txt
push ecx
push eax
call sub.MFC42.DLL_operator_2
mov esi, dword [ebp + 8]
mov ecx, ebx
push esi
call fcn.100037a0
lea ecx, [ebp - 0x4c]
call sub.MFC42.DLL_AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK
push ecx
lea eax, [ebp - 0x1c]
mov edx, esp
mov dword [ebp - 0x20], esp
push str..txt
push eax
push edx
mov byte [ebp - 4], 0xc
call sub.MFC42.DLL_operator_2
mov ecx, ebx
call fcn.100044b0
test al, al
je 0x10002e17
push ecx
lea edx, [ebp - 0x1c]
mov ecx, esp
mov dword [ebp - 0x20], esp
push str..txt
push edx
push ecx
call sub.MFC42.DLL_operator_2
push esi
mov ecx, ebx
call fcn.100030b0
lea eax, [ebp - 0x1c]
push str..txt
lea ecx, [ebp - 0x20]
push eax
push ecx
call sub.MFC42.DLL_operator_2
mov eax, dword [eax]
mov byte [ebp - 4], 0xd
push eax
call sub.MFC42.DLL_CFile::Remove
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0xc
call sub.MFC42.DLL_CString::CString
jmp 0x10002e17
mov dword [ebp - 4], 9
call sub.MFC42.DLL_AfxTryCleanup
mov al, byte [ebx + 0x40]
test al, al
je 0x10002e7e
mov byte [ebp - 4], 7
call sub.MFC42.DLL_AfxTryCleanup
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 6
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, 0xfffffffd
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push ecx
lea eax, [ebp - 0x1c]
mov ecx, esp
mov dword [ebp - 0x20], esp
push eax
call sub.MFC42.DLL_CString::CString_1
mov ecx, dword [ebp + 8]
push ecx
mov ecx, ebx
call fcn.100034d0
jmp 0x10002ed4
mov edx, dword [ebp + 8]
lea ecx, [ebp - 0x20]
push edx
call sub.MFC42.DLL_CString::CString_2
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0xa
call sub.MFC42.DLL_CString::operator
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 9
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 0x21], 0
jmp 0x10002ed4
mov dword [ebp - 4], 7
call sub.MFC42.DLL_AfxTryCleanup
mov al, byte [ebx + 0x40]
test al, al
je 0x10002f32
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 6
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, 0xfffffffd
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
lea ecx, [ebp - 0x44]
call sub.MFC42.DLL_AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK
push ecx
lea edx, [ebp - 0x1c]
mov ecx, esp
mov dword [ebp - 0x20], esp
push edx
mov byte [ebp - 4], 0x11
call sub.MFC42.DLL_CString::CString_1
mov ecx, ebx
call fcn.100044b0
test al, al
jne 0x10002fac
mov byte [ebp - 4], 7
call sub.MFC42.DLL_AfxTryCleanup
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 6
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, 0xfffffffc
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push ecx
lea eax, [ebp - 0x1c]
mov ecx, esp
mov dword [ebp - 0x20], esp
push eax
call sub.MFC42.DLL_CString::CString_1
mov ecx, dword [ebp + 8]
push ecx
mov ecx, ebx
call fcn.100030b0
mov esi, eax
mov al, byte [ebp - 0x21]
test al, al
je 0x10002ff3
mov edx, dword [ebp - 0x1c]
push edx
call sub.MFC42.DLL_CFile::Remove
jmp 0x10002ff3
mov dword [ebp - 4], 7
call sub.MFC42.DLL_AfxTryCleanup
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x38]
cmp eax, 0x32
jae 0x10003036
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], 0
fild qword [ebp - 0x3c]
fmul dword [ebx + 0xc0]
fcom dword [0x1000a354]
fnstsw ax
test ah, 0x41
jne 0x10003042
fstp st(0)
push 0x7d0
jmp 0x10003048
fld dword [ebx + 0xc0]
fmul dword [0x1000a350]
call sub.MSVCRT.dll__ftol
push eax
mov ecx, ebx
call fcn.100074b0
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 6
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4