Function at 0x40d4e0
Capabilities:
Check for time delay via gettickcount
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x418697
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x440
push ebx
push ebp
push esi
push edi
mov esi, ecx
xor ebx, ebx
lea ecx, [esp + 0x5c]
mov dword [esp + 0x458], ebx
call fcn.004171f2
mov eax, dword [esi + 0x160]
mov byte [esp + 0x458], 1
cmp eax, ebx
je 0x40d532
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi + 0x160], ebx
mov eax, dword [esi + 0x4f4]
lea ebp, [esi + 0x4f4]
cmp eax, ebx
je 0x40d54b
push ebp
call fcn.00401630
add esp, 4
lea eax, [esp + 0x20]
push 8
push eax
lea ecx, [esp + 0x468]
mov dword [ebp], ebx
mov dword [esi + 0x4fc], ebx
mov dword [esi + 0x500], ebx
call sub.MFC42.DLL_CString::Left
lea ecx, [esp + 0x20]
mov byte [esp + 0x458], 2
call sub.MFC42.DLL_CString::MakeLower
push 0x41eb68
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::Find
test eax, eax
jge 0x40e72b
push str.mms:__
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::Find
test eax, eax
jge 0x40e72b
push 0x41eb54
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::Find
test eax, eax
jge 0x40e72b
push 0x41eb4c
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::Find
test eax, eax
jge 0x40e72b
mov ecx, dword [esp + 0x460]
push ebx
push ecx
lea ecx, [esp + 0x64]
call sub.MFC42.DLL_CFileFind::FindFile
test eax, eax
lea ecx, [esp + 0x5c]
jne 0x40d626
call sub.MFC42.DLL_CFileFind::Close
push ebx
push ecx
lea edx, [esp + 0x468]
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
call fcn.004171fe
push ecx
lea eax, [esp + 0x46c]
mov ecx, esp
mov dword [esp + 0x3c], esp
mov byte [esp + 0x464], 4
push eax
jmp 0x40e758
call sub.MFC42.DLL_CFileFind::FindNextFileA
lea ecx, [esp + 0x5c]
call sub.MFC42.DLL_CFileFind::GetLength
lea ecx, [esp + 0xb0]
push ecx
lea ecx, [esp + 0x60]
call sub.MFC42.DLL_CFileFind::GetLastWriteTime
cmp dword [esi + 0x160], ebx
jne 0x40d667
mov edx, dword [esp + 0xb0]
mov eax, dword [esp + 0xb4]
mov dword [esi + 0x164], edx
mov dword [esi + 0x168], eax
mov edx, dword [esp + 0x460]
xor ecx, ecx
mov dword [esp + 0x7c], ecx
push ebx
mov dword [esp + 0x84], ecx
push ebx
push 3
mov dword [esp + 0x90], ecx
push ebx
push 1
mov dword [esp + 0x9c], ecx
push bind
push edx
mov dword [esp + 0xa8], ecx
mov byte [esp + 0x6c], bl
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov ebp, eax
or edi, 0xffffffff
cmp ebp, ebx
mov dword [esp + 0x28], ebp
je 0x40e6b8
cmp ebp, edi
je 0x40e6b8
lea eax, [esp + 0x50]
lea ecx, [esp + 0x7c]
push eax
push ecx
push ebp
call fcn.00402510
add esp, 0xc
cmp eax, ebx
je 0x40d754
lea ecx, [esp + 0x5c]
call sub.MFC42.DLL_CFileFind::Close
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebx
push ecx
lea edx, [esp + 0x468]
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
call fcn.004171fe
push ecx
lea eax, [esp + 0x46c]
mov ecx, esp
mov dword [esp + 0x3c], esp
push eax
mov byte [esp + 0x468], 6
call fcn.004171fe
mov ecx, esi
mov byte [esp + 0x464], 2
call fcn.0040a130
lea ecx, [esp + 0x20]
mov byte [esp + 0x458], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x5c]
mov byte [esp + 0x458], bl
call sub.MFC42.DLL_CFileFind::CFileFind
mov dword [esp + 0x458], edi
jmp 0x40e798
mov dl, byte [0x41ef68]
mov ecx, 0x10
xor eax, eax
lea edi, [esp + 0x101]
mov byte [esp + 0x100], dl
mov byte [esp + 0x144], dl
rep stosd dword es:[edi], eax
mov ecx, 0x20
lea edi, [esp + 0x145]
rep stosd dword es:[edi], eax
xor ecx, ecx
lea edi, [esp + 0x1c9]
mov dword [esp + 0x91], ecx
mov byte [esp + 0x1c8], dl
mov dword [esp + 0x95], ecx
mov byte [esp + 0x24c], dl
mov word [esp + 0x99], cx
mov ecx, 0x20
rep stosd dword es:[edi], eax
mov ecx, 0x3f
lea edi, [esp + 0x24d]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x34d]
mov byte [esp + 0x34c], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov byte [esp + 0x90], dl
mov byte [esp + 0xdc], dl
mov edx, dword [esp + 0x50]
mov ecx, 8
xor eax, eax
lea edi, [esp + 0xdd]
rep stosd dword es:[edi], eax
push edx
lea eax, [esp + 0x7c]
push ebx
lea ecx, [esp + 0x50]
push eax
lea edx, [esp + 0x3c]
push ecx
lea eax, [esp + 0x1d8]
push edx
lea ecx, [esp + 0xf0]
push eax
lea edx, [esp + 0x58]
push ecx
lea eax, [esp + 0x74]
push edx
lea ecx, [esp + 0x74]
push eax
lea edx, [esp + 0x370]
push ecx
lea eax, [esp + 0x274]
push edx
lea ecx, [esp + 0xbc]
push eax
lea edx, [esp + 0x174]
push ecx
lea eax, [esp + 0x134]
push edx
lea ecx, [esp + 0xb4]
push eax
push ecx
push ebp
mov dword [esp + 0x9c], ebx
mov dword [esp + 0x98], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x8c], ebx
mov dword [esp + 0xbc], ebx
call fcn.00402700
add esp, 0x44
cmp eax, ebx
je 0x40d8dc
lea ecx, [esp + 0x5c]
call sub.MFC42.DLL_CFileFind::Close
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebx
push ecx
lea edx, [esp + 0x468]
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
call fcn.004171fe
push ecx
lea eax, [esp + 0x46c]
mov ecx, esp
mov dword [esp + 0x50], esp
mov byte [esp + 0x464], 7
push eax
jmp 0x40e758
lea ecx, [esp + 0x100]
push ecx
mov ecx, 0x41efec
call sub.MFC42.DLL_CString::operator
lea edx, [esp + 0x144]
mov ecx, 0x41efe8
push edx
call sub.MFC42.DLL_CString::operator
lea eax, [esp + 0x1c8]
mov ecx, 0x41efac
push eax
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0x90]
push ecx
mov ecx, 0x41efa8
call sub.MFC42.DLL_CString::operator
mov ecx, 0x41efa8
call sub.MFC42.DLL_CString::TrimLeft
mov ecx, 0x41efa8
call sub.MFC42.DLL_CString::TrimRight
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x54]
lea ecx, [esp + 0x24c]
mov dword [0x41efc4], edx
push ecx
mov ecx, 0x41efe4
mov dword [0x41efc0], eax
call sub.MFC42.DLL_CString::operator
lea edx, [esp + 0x34c]
mov ecx, 0x41efe0
push edx
call sub.MFC42.DLL_CString::operator
mov al, byte [esp + 0x48]
test al, 1
je 0x40e64a
test al, 2
je 0x40e64a
mov al, byte [esp + 0x78]
mov dword [esi + 0x134], ebx
test al, 8
je 0x40d99b
mov dword [esi + 0x134], 1
test al, 0x10
je 0x40d9a6
or dword [esi + 0x134], 2
test al, 0x20
je 0x40d9b8
mov eax, dword [esi + 0x134]
or al, 4
mov dword [esi + 0x134], eax
mov dword [esi + 0x108], 3
mov eax, dword [0x41f000]
cmp eax, ebx
je 0x40d9e0
push 6
call eax
push eax
lea ecx, [esi + 0x7b4]
call sub.MFC42.DLL_CString::operator
mov eax, dword [0x41f000]
cmp dword [0x41f030], ebx
je 0x40d9f8
push 1
call eax
push eax
lea ecx, [esi + 0x7b8]
call sub.MFC42.DLL_CString::operator
mov eax, dword [0x41f004]
cmp eax, ebx
je 0x40da0b
push 7
call eax
mov dword [esi + 0x7bc], eax
lea edi, [esi + 0x7b4]
lea eax, [esp + 0x18]
push 1
push eax
mov ecx, edi
call sub.MFC42.DLL_CString::Left
mov eax, dword [eax]
mov ebp, dword [sym.imp.MSVCRT.dll__mbscmp]
push 0x41e7a4
push eax
mov byte [esp + 0x460], 8
call ebp
add esp, 8
test eax, eax
je 0x40da6f
lea ecx, [esp + 0x14]
push 1
push ecx
mov ecx, edi
call sub.MFC42.DLL_CString::Left
mov eax, dword [eax]
push 0x41e7a0
push eax
call ebp
add esp, 8
lea ecx, [esp + 0x14]
test eax, eax
sete byte [esp + 0x13]
call sub.MFC42.DLL_CString::CString
cmp byte [esp + 0x13], bl
je 0x40da83
mov edx, dword [esi + 0x7bc]
mov byte [esp + 0x13], 1
cmp edx, ebx
setg al
cmp al, bl
jne 0x40da87
mov byte [esp + 0x13], bl
lea ecx, [esp + 0x18]
mov byte [esp + 0x458], 2
call sub.MFC42.DLL_CString::CString
cmp byte [esp + 0x13], bl
je 0x40dab2
mov edx, dword [esi + 0x20]
push ebx
push 0x3e8
push 2
push edx
call dword [sym.imp.USER32.dll_SetTimer]
jmp 0x40dac9
mov eax, dword [esi + 0x20]
push 2
push eax
call dword [sym.imp.USER32.dll_KillTimer]
mov dword [esp + 0x458], 2
lea ecx, [esp + 0x18]
push 2
push ecx
mov ecx, edi
call sub.MFC42.DLL_CString::Left
mov eax, dword [eax]
push 0x41e9a0
push eax
mov byte [esp + 0x460], 0xb
call ebp
add esp, 8
test eax, eax
je 0x40db27
lea edx, [esp + 0x14]
push 2
push edx
mov ecx, edi
call sub.MFC42.DLL_CString::Left
mov eax, dword [eax]
push 0x41e99c
push eax
call ebp
add esp, 8
lea ecx, [esp + 0x14]
test eax, eax
sete byte [esp + 0x13]
call sub.MFC42.DLL_CString::CString
mov al, byte [esp + 0x13]
mov byte [esp + 0x13], bl
cmp al, bl
je 0x40db2c
mov byte [esp + 0x13], 1
lea ecx, [esp + 0x18]
mov byte [esp + 0x458], 2
call sub.MFC42.DLL_CString::CString
cmp byte [esp + 0x13], bl
je 0x40db6c
mov eax, dword [esi + 0x20]
push ebx
push 0x3e8
push 4
push eax
mov dword [esi + 0x13c], ebx
mov dword [esi + 0x144], 0x3c
call dword [sym.imp.USER32.dll_SetTimer]
mov byte [esi + 0x140], 1
lea ecx, [esp + 0x18]
push 2
push ecx
mov ecx, edi
call sub.MFC42.DLL_CString::Left
mov eax, dword [eax]
push 0x41e998
push eax
mov byte [esp + 0x460], 0xc
call ebp
add esp, 8
test eax, eax
je 0x40dbca
lea edx, [esp + 0x14]
push 2
push edx
mov ecx, edi
call sub.MFC42.DLL_CString::Left
mov eax, dword [eax]
push 0x41e994
push eax
call ebp
add esp, 8
lea ecx, [esp + 0x14]
test eax, eax
sete byte [esp + 0x13]
call sub.MFC42.DLL_CString::CString
mov al, byte [esp + 0x13]
mov byte [esp + 0x13], bl
cmp al, bl
je 0x40dbcf
mov byte [esp + 0x13], 1
lea ecx, [esp + 0x18]
mov byte [esp + 0x458], 2
call sub.MFC42.DLL_CString::CString
cmp byte [esp + 0x13], bl
je 0x40dc0f
mov eax, dword [esi + 0x20]
push ebx
push 0x3e8
push 4
push eax
mov dword [esi + 0x13c], ebx
mov dword [esi + 0x144], 0x78
call dword [sym.imp.USER32.dll_SetTimer]
mov byte [esi + 0x140], 1
lea ecx, [esp + 0x18]
push 2
push ecx
mov ecx, edi
call sub.MFC42.DLL_CString::Left
mov eax, dword [eax]
push 0x41e990
push eax
mov byte [esp + 0x460], 0xd
call ebp
add esp, 8
test eax, eax
je 0x40dc6d
lea edx, [esp + 0x14]
push 2
push edx
mov ecx, edi
call sub.MFC42.DLL_CString::Left
mov eax, dword [eax]
push 0x41e98c
push eax
call ebp
add esp, 8
lea ecx, [esp + 0x14]
test eax, eax
sete byte [esp + 0x13]
call sub.MFC42.DLL_CString::CString
mov al, byte [esp + 0x13]
mov byte [esp + 0x13], bl
cmp al, bl
je 0x40dc72
mov byte [esp + 0x13], 1
lea ecx, [esp + 0x18]
mov byte [esp + 0x458], 2
call sub.MFC42.DLL_CString::CString
cmp byte [esp + 0x13], bl
je 0x40dcb2
mov eax, dword [esi + 0x20]
push ebx
push 0x3e8
push 4
push eax
mov dword [esi + 0x13c], ebx
mov dword [esi + 0x144], 0xb4
call dword [sym.imp.USER32.dll_SetTimer]
mov byte [esi + 0x140], 1
lea ecx, [esp + 0x18]
push 2
push ecx
mov ecx, edi
call sub.MFC42.DLL_CString::Left
mov eax, dword [eax]
push 0x41e988
push eax
mov byte [esp + 0x460], 0xe
call ebp
add esp, 8
test eax, eax
je 0x40dd10
lea edx, [esp + 0x14]
push 2
push edx
mov ecx, edi
call sub.MFC42.DLL_CString::Left
mov eax, dword [eax]
push 0x41e984
push eax
call ebp
add esp, 8
lea ecx, [esp + 0x14]
test eax, eax
sete byte [esp + 0x13]
call sub.MFC42.DLL_CString::CString
mov al, byte [esp + 0x13]
mov byte [esp + 0x13], bl
cmp al, bl
je 0x40dd15
mov byte [esp + 0x13], 1
lea ecx, [esp + 0x18]
mov byte [esp + 0x458], 2
call sub.MFC42.DLL_CString::CString
cmp byte [esp + 0x13], bl
je 0x40dd55
mov eax, dword [esi + 0x20]
push ebx
push 0x3e8
push 4
push eax
mov dword [esi + 0x13c], ebx
mov dword [esi + 0x144], pe_nt_image_headers32
call dword [sym.imp.USER32.dll_SetTimer]
mov byte [esi + 0x140], 1
lea ecx, [esp + 0x18]
push 2
push ecx
mov ecx, edi
call sub.MFC42.DLL_CString::Left
mov eax, dword [eax]
push 0x41e980
push eax
mov byte [esp + 0x460], 0xf
call ebp
add esp, 8
test eax, eax
je 0x40ddb3
lea edx, [esp + 0x14]
push 2
push edx
mov ecx, edi
call sub.MFC42.DLL_CString::Left
mov eax, dword [eax]
push 0x41e97c
push eax
call ebp
add esp, 8
lea ecx, [esp + 0x14]
test eax, eax
sete byte [esp + 0x13]
call sub.MFC42.DLL_CString::CString
mov al, byte [esp + 0x13]
mov byte [esp + 0x13], bl
cmp al, bl
je 0x40ddb8
mov byte [esp + 0x13], 1
lea ecx, [esp + 0x18]
mov byte [esp + 0x458], 2
call sub.MFC42.DLL_CString::CString
cmp byte [esp + 0x13], bl
je 0x40ddf8
mov eax, dword [esi + 0x20]
push ebx
push 0x3e8
push 4
push eax
mov dword [esi + 0x13c], ebx
mov dword [esi + 0x144], 0x12c
call dword [sym.imp.USER32.dll_SetTimer]
mov byte [esi + 0x140], 1
test byte [0x41efb8], 2
je 0x40de15
mov ecx, dword [esi + 0x20]
push ebx
push 0x1388
push 3
push ecx
call dword [sym.imp.USER32.dll_SetTimer]
jmp 0x40de2c
mov edx, dword [esi + 0x20]
push 3
push edx
call dword [sym.imp.USER32.dll_KillTimer]
mov dword [esp + 0x458], 2
cmp dword [esp + 0x40], ebx
je 0x40df18
mov eax, dword [0x41efc4]
push eax
push 0xf
call dword [0x41f000]
push ecx
mov ecx, esp
mov dword [esp + 0x54], esp
push eax
call sub.MFC42.DLL_CString::CString_2
mov ecx, esi
call fcn.0040ae90
cmp eax, ebx
jne 0x40df18
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
push 0xf
mov byte [esp + 0x45c], 0x12
call dword [0x41f000]
mov ecx, dword [0x41efc4]
push eax
push ecx
lea edx, [esp + 0x2c]
push 0x41e958
push edx
call sub.MFC42.DLL_CString::Format_1
mov eax, dword [esp + 0x34]
add esp, 0x10
mov ecx, esi
push 0x40
push 0x41e368
push eax
call sub.MFC42.DLL_CWnd::MessageBoxA
mov eax, dword [esi + 0x80]
mov byte [esi + 0x130], 1
cmp eax, ebx
je 0x40dec8
push 6
push 1
push 1
push ebx
push ebx
push ebx
lea ecx, [esi + 0x60]
call sub.MFC42.DLL_CWnd::SetWindowPos
cmp dword [esi + 0xc0], ebx
je 0x40dee4
push 6
push 1
push 1
push ebx
push ebx
push ebx
lea ecx, [esi + 0xa0]
call sub.MFC42.DLL_CWnd::SetWindowPos
push 5
push 0x3f2
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42.DLL_CWnd::ShowWindow
lea ecx, [esp + 0x5c]
call sub.MFC42.DLL_CFileFind::Close
lea ecx, [esp + 0x24]
mov byte [esp + 0x458], 2
call sub.MFC42.DLL_CString::CString
jmp 0x40e76c
mov edx, dword [esi + 0x20]
lea ecx, [esp + 0x9c]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetClientRect]
push ebx
push 0x3f2
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42.DLL_CWnd::ShowWindow
cmp dword [esi + 0x80], ebx
je 0x40df71
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0xa0]
push 6
push eax
mov eax, dword [esp + 0xa4]
push ecx
push edx
push eax
push ebx
lea ecx, [esi + 0x60]
call sub.MFC42.DLL_CWnd::SetWindowPos
cmp dword [esi + 0xc0], ebx
je 0x40dfa7
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xa4]
mov eax, dword [esp + 0xa0]
push 6
push ecx
mov ecx, dword [esp + 0xa4]
push edx
push eax
push ecx
push ebx
lea ecx, [esi + 0xa0]
call sub.MFC42.DLL_CWnd::SetWindowPos
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x8c]
mov edi, dword [esp + 0x28]
sub edx, eax
mov byte [esi + 0x130], bl
mov dword [esp + 0x44], ebx
je 0x40e193
mov ecx, dword [esp + 0x88]
push ebx
add ecx, eax
push ecx
push edi
call fcn.00401040
push edi
push 3
lea edx, [esp + 0x4c]
push 1
push edx
call fcn.00401000
add esp, 0x1c
cmp eax, 3
jb 0x40e193
cmp byte [esp + 0x38], 5
jne 0x40e193
mov eax, dword [esp + 0x39]
mov ecx, dword [esp + 0x3a]
and eax, 0xff
and ecx, 0xff
shl eax, 8
add eax, ecx
cmp eax, ebx
jle 0x40e193
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x8c]
sub edx, eax
lea eax, [esp + 0x44]
sub edx, 3
lea ecx, [esi + 0x14c]
push edx
push eax
push edi
call fcn.004164d0
cmp dword [esp + 0x44], ebx
je 0x40e193
cmp dword [esi + 0x160], ebx
je 0x40e074
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x8c]
sub ecx, eax
jne 0x40dfcb
jmp 0x40e193
mov ecx, dword [esi + 0x4f4]
lea eax, [esi + 0x4f4]
cmp ecx, ebx
je 0x40e08d
push eax
call fcn.00401630
add esp, 4
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x28]
mov edi, dword [sym.imp.MSVCRT.dll_sprintf]
lea ecx, [esp + 0x100]
mov dword [esi + 0x4f4], edx
push ecx
lea edx, [esi + 0x16c]
push 0x41e090
push edx
mov dword [esi + 0x160], eax
call edi
lea eax, [esp + 0x150]
lea ecx, [esi + 0x1ad]
push eax
push 0x41e090
push ecx
call edi
lea edx, [esp + 0xa8]
lea eax, [esi + 0x22e]
push edx
push 0x41e090
push eax
call edi
lea ecx, [esp + 0x1ec]
lea edx, [esi + 0x239]
push ecx
push 0x41e090
push edx
call edi
lea eax, [esp + 0x27c]
lea ecx, [esi + 0x2b9]
push eax
push 0x41e090
push ecx
call edi
lea edx, [esp + 0x388]
lea eax, [esi + 0x3b9]
push edx
push 0x41e090
push eax
call edi
mov edx, dword [esp + 0x9c]
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0xa0]
add esp, 0x48
mov dword [esi + 0x4c0], edx
lea edx, [esp + 0xdc]
mov dword [esi + 0x4c4], eax
mov dword [esi + 0x4bc], ecx
mov ecx, dword [esp + 0x40]
push edx
lea eax, [esi + 0x4cc]
push 0x41e090
push eax
mov dword [esi + 0x4c8], ecx
call edi
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x54]
mov edi, dword [esp + 0x34]
add esp, 0xc
and edx, 0xff
mov dword [esi + 0x4fc], ecx
mov dword [esi + 0x500], edx
cmp dword [esp + 0x40], ebx
jne 0x40e278
lea eax, [esp + 0x24]
mov ecx, esi
push eax
call fcn.0040d130
mov ecx, dword [esp + 0x24]
push 0x41ef68
push ecx
mov byte [esp + 0x460], 0x13
call ebp
add esp, 8
test eax, eax
je 0x40e267
lea ecx, [esp + 0x5c]
call sub.MFC42.DLL_CFileFind::Close
push edi
mov dword [esi + 0x160], ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea edx, [esp + 0x24]
lea eax, [esi + 0x504]
push edx
lea ecx, [esp + 0x20]
push eax
push ecx
call sub.MFC42.DLL_operator_1
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0x45c], 0x14
call sub.MFC42.DLL_CString::operator_1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x458], 0x13
call sub.MFC42.DLL_CString::CString
push ebx
push ecx
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
call fcn.004171fe
push ecx
lea eax, [esp + 0x30]
mov ecx, esp
mov dword [esp + 0x44], esp
push eax
mov byte [esp + 0x468], 0x15
call fcn.004171fe
mov ecx, esi
mov byte [esp + 0x464], 0x13
call fcn.0040a130
lea ecx, [esp + 0x24]
mov byte [esp + 0x458], 2
call sub.MFC42.DLL_CString::CString
jmp 0x40e76c
lea ecx, [esp + 0x24]
mov byte [esp + 0x458], 2
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x5c]
call sub.MFC42.DLL_CFileFind::Close
mov edx, dword [esi + 0x14c]
lea ebp, [esi + 0x14c]
mov ecx, ebp
call dword [edx + 0x60]
test eax, eax
je 0x40e29f
mov eax, dword [ebp]
push ebx
mov ecx, ebp
call dword [eax + 0x5c]
mov edx, dword [ebp]
push 1
mov ecx, ebp
call dword [edx + 0x5c]
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x60]
test eax, eax
je 0x40e621
lea ecx, [esp + 0x28]
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x34]
mov byte [esp + 0x458], 0x16
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x14]
mov byte [esp + 0x458], 0x17
call sub.MFC42.DLL_CString::CString_1
mov ecx, 8
xor eax, eax
lea edi, [esp + 0xb8]
mov edx, dword [ebp]
rep stosd dword es:[edi], eax
stosb byte es:[edi], al
lea eax, [esp + 0xb8]
mov ecx, ebp
push eax
mov byte [esp + 0x45c], 0x18
call dword [edx + 0x48]
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x50]
push 0x41e148
lea ecx, [esp + 0x18]
mov dword [esp + 0x34], eax
call sub.MFC42.DLL_CString::operator
lea eax, [esp + 0x460]
lea ecx, [esp + 0x34]
push eax
call sub.MFC42.DLL_CString::operator_1
mov edx, dword [esp + 0x460]
mov eax, dword [edx - 8]
dec eax
cmp eax, ebx
jl 0x40e3cf
mov cl, byte [eax + edx]
cmp cl, 0x5c
je 0x40e362
cmp cl, 0x2f
je 0x40e362
cmp cl, 0x3a
je 0x40e362
dec eax
jns 0x40e34b
jmp 0x40e3cf
lea edi, [eax + 1]
lea ecx, [esp + 0x1c]
push edi
push ecx
lea ecx, [esp + 0x468]
call sub.MFC42.DLL_CString::Left
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x45c], 0x19
call sub.MFC42.DLL_CString::operator_1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x458], 0x18
call sub.MFC42.DLL_CString::CString
lea edx, [esp + 0x1c]
push edi
push edx
lea ecx, [esp + 0x468]
call sub.MFC42.DLL_CString::Mid
push eax
lea ecx, [esp + 0x38]
mov byte [esp + 0x45c], 0x1a
call sub.MFC42.DLL_CString::operator_1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x458], 0x18
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x14]
mov eax, dword [ebp]
push ecx
mov ecx, ebp
call dword [eax + 0x38]
lea edx, [esp + 0x34]
lea ecx, [esp + 0x2c]
push edx
call fcn.004171fe
push 0x2e
lea ecx, [esp + 0x30]
mov byte [esp + 0x45c], 0x1b
call sub.MFC42.DLL_CString::ReverseFind
push 0x41ef68
lea ecx, [esp + 0x1c]
mov edi, eax
call sub.MFC42.DLL_CString::CString_2
cmp edi, ebx
mov byte [esp + 0x458], 0x1c
jl 0x40e4db
mov eax, dword [esp + 0x2c]
lea ecx, [esp + 0x1c]
mov eax, dword [eax - 8]
sub eax, edi
push eax
push ecx
lea ecx, [esp + 0x34]
call sub.MFC42.DLL_CString::Right
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x45c], 0x1d
call sub.MFC42.DLL_CString::operator_1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x458], 0x1c
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::MakeLower
mov edx, dword [esp + 0x18]
push 0x41e530
push edx
call dword [sym.imp.MSVCRT.dll__mbscmp]
add esp, 8
test eax, eax
jne 0x40e4db
lea eax, [esp + 0x4c]
push edi
push eax
lea ecx, [esp + 0x34]
call sub.MFC42.DLL_CString::Left
lea ecx, [esi + 0xe4]
lea edx, [esp + 0xac]
push ecx
push eax
push edx
mov byte [esp + 0x464], 0x1e
call sub.MFC42.DLL_operator_1
push eax
lea ecx, [esp + 0x30]
mov byte [esp + 0x45c], 0x1f
call sub.MFC42.DLL_CString::operator_1
lea ecx, [esp + 0xac]
mov byte [esp + 0x458], 0x1e
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x4c]
mov byte [esp + 0x458], 0x1c
call sub.MFC42.DLL_CString::CString
push 0x3f
lea ecx, [esp + 0x38]
call sub.MFC42.DLL_CString::Find_1
test eax, eax
mov eax, dword [esp + 0x2c]
push eax
jl 0x40e51d
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor edx, edx
mov ecx, 0x451d
div ecx
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0xbc]
push edx
mov edx, dword [esp + 0x3c]
push str.requestcheck
push edx
push eax
push ecx
push str.http:___s:_u__s_s_uname_s
jmp 0x40e549
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor edx, edx
mov ecx, 0x451d
div ecx
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0xbc]
push edx
mov edx, dword [esp + 0x3c]
push str.requestcheck
push edx
push eax
push ecx
push str.http:___s:_u__s__s_uname_s
lea edx, [esp + 0x44]
push edx
call sub.MFC42.DLL_CString::Format_1
add esp, 0x20
lea eax, [esp + 0x460]
lea ecx, [esi + 0x4ec]
push eax
call sub.MFC42.DLL_CString::operator_1
lea ecx, [esp + 0x28]
push ebx
push ecx
push 7
push ecx
lea edx, [esp + 0x38]
mov ecx, esp
mov dword [esp + 0x48], esp
push edx
call fcn.004171fe
call fcn.00401460
add esp, 0x10
lea eax, [esp + 0x460]
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x40], esp
push eax
call fcn.004171fe
push ecx
lea edx, [esp + 0x34]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
mov byte [esp + 0x468], 0x20
call fcn.004171fe
mov ecx, esi
mov byte [esp + 0x464], 0x1c
call fcn.0040a130
lea ecx, [esp + 0x18]
mov byte [esp + 0x458], 0x1b
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x2c]
mov byte [esp + 0x458], 0x18
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x458], 0x17
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x34]
mov byte [esp + 0x458], 0x16
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x28]
mov byte [esp + 0x458], 2
call sub.MFC42.DLL_CString::CString
jmp 0x40e76c
push ebx
push ecx
lea eax, [esp + 0x468]
mov ecx, esp
mov dword [esp + 0x40], esp
push eax
call fcn.004171fe
push ecx
mov byte [esp + 0x464], 0x21
mov ecx, esp
mov dword [esp + 0x58], esp
jmp 0x40e750
lea ecx, [esp + 0x5c]
call sub.MFC42.DLL_CFileFind::Close
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esi + 0x80]
mov dword [esi + 0x108], ebx
cmp eax, ebx
mov byte [esi + 0x130], 1
je 0x40e682
push 6
push 1
push 1
push ebx
push ebx
push ebx
lea ecx, [esi + 0x60]
call sub.MFC42.DLL_CWnd::SetWindowPos
cmp dword [esi + 0xc0], ebx
je 0x40e69e
push 6
push 1
push 1
push ebx
push ebx
push ebx
lea ecx, [esi + 0xa0]
call sub.MFC42.DLL_CWnd::SetWindowPos
push 5
push 0x3f2
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42.DLL_CWnd::ShowWindow
jmp 0x40e76c
lea ecx, [esp + 0x5c]
call sub.MFC42.DLL_CFileFind::Close
push ebx
push ecx
lea eax, [esp + 0x468]
mov ecx, esp
mov dword [esp + 0x40], esp
push eax
call fcn.004171fe
push ecx
lea edx, [esp + 0x46c]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
mov byte [esp + 0x468], 5
call fcn.004171fe
mov ecx, esi
mov byte [esp + 0x464], 2
call fcn.0040a130
lea ecx, [esp + 0x20]
mov byte [esp + 0x458], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x5c]
mov byte [esp + 0x458], bl
call sub.MFC42.DLL_CFileFind::CFileFind
mov dword [esp + 0x458], edi
jmp 0x40e798
push 1
push ecx
lea eax, [esp + 0x468]
mov ecx, esp
mov dword [esp + 0x40], esp
push eax
call fcn.004171fe
push ecx
mov byte [esp + 0x464], 3
mov ecx, esp
mov dword [esp + 0x28], esp
lea edx, [esp + 0x46c]
push edx
call fcn.004171fe
mov ecx, esi
mov byte [esp + 0x464], 2
call fcn.0040a130
lea ecx, [esp + 0x20]
mov byte [esp + 0x458], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x5c]
mov byte [esp + 0x458], bl
call sub.MFC42.DLL_CFileFind::CFileFind
mov dword [esp + 0x458], 0xffffffff
lea ecx, [esp + 0x460]
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x450]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x44c
ret 4