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

Disassembly:
push 0xffffffffffffffff
push 0x44cbfc
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1a8
push ebx
push ebp
mov ebx, ecx
push esi
push edi
lea ecx, [esp + 0x14]
call fcn.0044b6f4
lea ecx, [esp + 0x18]
mov dword [esp + 0x1c0], 0
call fcn.0044b6f4
lea ecx, [esp + 0x10]
mov byte [esp + 0x1c0], 1
call fcn.0044b6f4
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1c0], 2
call fcn.0044b6f4
mov esi, dword [esp + 0x1c8]
mov byte [esp + 0x1c0], 3
test esi, esi
jl 0x403bef
cmp esi, 1
jg 0x403bef
push 0x4755df
jmp 0x403bf4
push str.12345678
lea ecx, [esp + 0x18]
call fcn.0044b82c
mov al, byte [0x4735b0]
test al, al
jne 0x403c22
mov eax, dword [0x473520]
cmp esi, 1
mov byte [esp + 0x28], 1
jne 0x403c17
neg eax
mov ebp, 5
mov dword [esp + 0x29], eax
jmp 0x403c69
push 0x473d44
lea ecx, [esp + 0x14]
mov byte [esp + 0x2c], 4
call fcn.0044b82c
cmp esi, 1
jne 0x403c47
push 0x2d
push 0
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::Insert
mov esi, dword [esp + 0x10]
lea edi, [esp + 0x29]
mov ebp, dword [esi - 8]
mov ecx, ebp
inc ebp
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
inc ebp
rep movsb byte es:[edi], byte [esi]
mov byte [esp + ebp + 0x27], 0
mov eax, dword [0x473518]
mov esi, dword [esp + 0x14]
mov dword [esp + ebp + 0x28], eax
mov eax, dword [0x473524]
add ebp, 4
push 0x473d63
mov dword [esp + ebp + 0x2c], eax
mov eax, dword [esi - 8]
mov ecx, eax
add ebp, 4
mov edx, ecx
lea edi, [esp + ebp + 0x2c]
add ebp, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
inc ebp
rep movsb byte es:[edi], byte [esi]
mov byte [esp + ebp + 0x2b], 0
lea ecx, [esp + 0x20]
call fcn.0044b82c
mov esi, dword [esp + 0x1c]
lea edi, [esp + ebp + 0x28]
mov eax, dword [esi - 8]
mov ecx, eax
add ebp, eax
mov edx, ecx
mov eax, dword [0x473528]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
inc ebp
rep movsb byte es:[edi], byte [esi]
mov byte [esp + ebp + 0x27], 0
mov dword [esp + ebp + 0x28], 0x8a
add ebp, 4
mov ecx, 0x475138
mov dword [esp + ebp + 0x28], eax
add ebp, 4
call fcn.00444d60
neg eax
sbb eax, eax
add ebp, 4
neg eax
mov dword [esp + ebp + 0x24], eax
mov eax, dword [0x473574]
mov dword [esp + ebp + 0x28], eax
mov eax, dword [0x4735ac]
add ebp, 4
and eax, 0xff
mov ecx, ebx
mov dword [esp + ebp + 0x28], eax
lea eax, [esp + 0x18]
push eax
add ebp, 4
call fcn.00406840
mov esi, dword [esp + 0x18]
lea edi, [esp + ebp + 0x28]
mov eax, dword [esi - 8]
mov ecx, eax
add ebp, eax
mov edx, ecx
lea eax, [esp + 0x28]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
inc ebp
rep movsb byte es:[edi], byte [esi]
mov byte [esp + ebp + 0x27], 0
push ebp
push eax
mov ecx, ebx
call fcn.00402cd0
mov ebp, eax
test ebp, ebp
jne 0x4040a3
mov dword [esp + 0x20], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x24], eax
push 1
push 0x4e20
lea eax, [ebx + 8]
push 0
push eax
push 3
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjectsEx]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp esi, 0xc0
mov edi, eax
ja case.0x403da3.4
xor ecx, ecx
mov cl, byte [esi + 0x40411c]
jmp dword [ecx*4 + 0x404108]
mov ecx, ebx
call fcn.00403160
mov ebp, eax
test ebp, ebp
je case.0x403da3.5
cmp ebp, 1
je 0x403dc4
mov dword [esp + 0x20], 1
push 1
push 0x64
call dword [sym.imp.KERNEL32.dll_SleepEx]
jmp case.0x403da3.5
mov ebp, 1
cmp dword [esp + 0x20], 1
je 0x4040a3
sub edi, dword [esp + 0x24]
cmp edi, 0x4e20
jae 0x40409e
jmp 0x403d74
mov eax, dword [ebx + 0x1c]
xor esi, esi
cmp eax, esi
mov dword [ebx + 0x1c], esi
jg 0x403e08
mov ebp, 2
jmp 0x4040a3
xor eax, eax
mov al, byte [ebx + 0x4f9e]
add eax, 0xffffffa8
cmp eax, 0x30
ja case.0x403e20.90
xor edx, edx
mov dl, byte [eax + 0x404204]
jmp dword [edx*4 + 0x4041e0]
mov ebp, 0x14
jmp 0x403e5d
mov ebp, 0x15
jmp 0x403e5d
mov ebp, 0x17
jmp 0x403e5d
mov ebp, 0x1a
jmp 0x403e5d
mov ebp, 0x19
jmp 0x403e5d
mov ebp, 0x1b
jmp 0x403e5d
mov ebp, 0x1c
jmp 0x403e5d
mov ebp, 0x16
cmp dword [esp + 0x1c8], esi
jne 0x4040a3
cmp ebp, 0x17
je 0x403e7d
cmp ebp, 0x1b
je 0x403e7d
cmp ebp, 0x1a
jne 0x4040a3
mov ecx, dword [ebx + 0x4f9f]
lea eax, [ebx + 0x4f9f]
add eax, 4
mov dword [ebx + 0x2c], ecx
mov edx, dword [eax]
add eax, 4
mov dword [0x47352c], edx
mov ecx, dword [eax]
add eax, 4
mov dword [ebx + 0x53a4], ecx
mov edx, dword [eax]
add eax, 4
mov dword [ebx + 0x34], edx
lea edx, [ebx + 0x4fb3]
mov ecx, dword [eax]
mov dword [0x473e34], ecx
mov cl, byte [0x4735b0]
cmp cl, 1
jne 0x403edf
mov edx, dword [eax + 4]
add eax, 4
mov dword [0x473e30], edx
lea edx, [ebx + 0x4fb7]
mov eax, dword [eax]
mov dword [0x473520], eax
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
shr ecx, 2
mov edi, 0x473e41
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
or ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edx, [edx + ecx + 1]
or ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
shr ecx, 2
mov edi, 0x473e7f
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edx, [edx + ecx + 1]
or ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0x473eb1
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edx, [edx + ecx + 1]
or ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0x473e74
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edx, [edx + ecx + 1]
or ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
shr ecx, 2
mov edi, 0x473f2e
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
or ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edx, [edx + ecx + 1]
or ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
shr ecx, 2
mov edi, 0x473ef5
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
or ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edx, [edx + ecx + 1]
or ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0x473ec6
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edx, [edx + ecx + 1]
or ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0x473efe
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0x4738e2
push 0x473518
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
add edx, ecx
mov cl, byte [edx]
mov byte [0x4735ba], cl
call fcn.0040e470
add esp, 4
jmp 0x4040a3
mov ebp, 0xc
jmp 0x4040a3
mov ebp, 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1c0], 2
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
mov byte [esp + 0x1c0], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x18]
mov byte [esp + 0x1c0], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov dword [esp + 0x1c0], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x1b8]
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x1b4
ret 4