Function at 0x110b7f30
Capabilities:
Check for time delay via gettickcount
Check os version
Get common file path
Print debug messages

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x23c4
call fcn.11164040
mov eax, dword [0x111ec774]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
mov dword [ebp - 0x23c0], eax
mov dword [ebp - 0x23b4], ebx
call dword [sym.imp.KeRneL32.DLl_GetLastError]
push 0x5c
push ebx
mov dword [ebp - 0x23bc], eax
call fcn.111640b0
add esp, 8
mov esi, eax
call fcn.110b7f20
mov edi, eax
mov dword [ebp - 0x23b8], 0
test esi, esi
jne 0x110b7f97
push 0x2f
push ebx
call fcn.111640b0
add esp, 8
mov esi, eax
mov ecx, dword [ebp + 0x14]
mov eax, ecx
and eax, 0x10
mov dword [ebp - 0x23c4], eax
jne 0x110b803a
test cl, 1
jne 0x110b803a
cmp dword [0x111f1518], 0
je 0x110b803a
call dword [sym.imp.KeRneL32.DLl_GetTickCount]
cmp dword [0x111f1518], 3
mov dword [ebp - 0x23b4], eax
jge 0x110b86ae
mov esi, dword [sym.imp.uSEr32.dll_GetMessageA]
mov edi, dword [sym.imp.uSEr32.dll_TranslateMessage]
mov ebx, dword [sym.imp.uSEr32.dll_DispatchMessageA]
call dword [sym.imp.KeRneL32.DLl_GetTickCount]
sub eax, dword [ebp - 0x23b4]
cmp eax, 0x3a98
jae 0x110b86ae
push 0
push 0
push 0
lea ecx, [ebp - 0x231c]
push ecx
call esi
lea edx, [ebp - 0x231c]
push edx
call edi
lea eax, [ebp - 0x231c]
push eax
call ebx
cmp dword [0x111f1518], 3
jl 0x110b7fe8
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.11162bb7
mov esp, ebp
pop ebp
ret
inc dword [0x111f1518]
call dword [sym.imp.KeRneL32.DLl_GetCurrentThreadId]
mov ebx, dword [sym.imp.uSEr32.dll_wsprintfA]
push eax
lea ecx, [ebp - 0xc8]
push 0x111a96f0
push ecx
call ebx
add esp, 0xc
test edi, edi
je 0x110b808c
lea eax, [ebp - 0xc8]
lea edx, [eax + 1]
jmp 0x110b8070
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x110b8070
sub eax, edx
push edi
lea edx, [ebp + eax - 0xc8]
push 0x111a96e4
push edx
call ebx
add esp, 0xc
lea eax, [ebp - 0xc8]
push eax
call dword [sym.imp.KeRneL32.DLl_GetCurrentThreadId]
push eax
lea ecx, [ebp - 0xb00]
push 0x111a96d0
push ecx
call ebx
add esp, 0x10
lea edx, [ebp - 0xb00]
push edx
call dword [sym.imp.KeRneL32.DLl_OutputDebugStringA]
test esi, esi
je 0x110b80bf
inc esi
jmp 0x110b80c5
mov esi, dword [ebp - 0x23b4]
mov eax, dword [ebp - 0x23bc]
mov byte [ebp - 0xf8], 0
test eax, eax
je 0x110b80e9
push eax
push eax
lea eax, [ebp - 0xf8]
push 0x111a96b8
push eax
call ebx
add esp, 0x10
mov eax, dword [ebp + 0x14]
and eax, 2
mov dword [ebp - 0x23b4], eax
je 0x110b810a
mov ecx, dword [ebp - 0x23c0]
mov dword [ebp - 0x23b8], ecx
mov eax, 0x111a969c
jmp 0x110b8110
mov eax, dword [ebp - 0x23c0]
mov ecx, dword [ebp + 0x10]
push eax
push 0x11196aa1
push 0x11196ab3
lea edx, [ebp - 0xc8]
push edx
lea eax, [ebp - 0xf8]
push eax
push ecx
push esi
lea edx, [ebp - 0xb00]
push 0x111a9660
push edx
call ebx
add esp, 0x24
push 0x104
lea eax, [ebp - 0x300]
push eax
push 0
call dword [sym.imp.KeRneL32.DLl_GetModuleFileNameA]
lea ecx, [ebp - 0x300]
push 0x5c
push ecx
call fcn.11081e00
inc eax
lea edx, [ebp - 0x94]
add esp, 8
sub edx, eax
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x110b8170
lea edx, [ebp - 0x94]
push 0x2e
push edx
call fcn.11081e00
mov esi, eax
add esp, 8
test esi, esi
jne 0x110b81c0
lea eax, [ebp - 0x94]
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x110b81a0
mov cl, byte [0x1119eec0]
sub eax, edx
lea esi, [ebp + eax - 0x94]
mov eax, dword [0x1119eebc]
mov dword [esi], eax
mov byte [esi + 4], cl
call fcn.110b7df0
test eax, eax
jle 0x110b81da
push eax
lea edx, [esi + 1]
push 0x111a965c
push edx
call ebx
add esp, 0xc
add esi, eax
mov eax, dword [0x111a9654]
mov dword [esi], eax
mov cl, byte [0x111a9658]
mov byte [esi + 4], cl
xor eax, eax
lea esp, [esp]
mov cl, byte [ebp + eax - 0x300]
mov byte [ebp + eax - 0x1fc], cl
inc eax
test cl, cl
jne 0x110b81f0
lea edx, [ebp - 0x1fc]
push 0x5c
push edx
call fcn.11081e00
mov ecx, dword [0x111a9648]
mov dword [eax + 1], ecx
mov edx, dword [0x111a964c]
add esp, 8
inc eax
mov dword [eax + 4], edx
mov cl, byte [0x111a9650]
mov byte [eax + 8], cl
mov dword [ebp - 0x23bc], eax
lea eax, [ebp - 0x94]
mov ecx, eax
mov edi, edi
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x110b8240
lea edi, [ebp - 0x1fc]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x110b8252
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea edx, [ebp - 0x1fc]
and ecx, 3
push 0x111a2fa8
push edx
rep movsb byte es:[edi], byte [esi]
call fcn.11164ead
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x110b831a
mov edx, dword [ebp - 0x23bc]
lea eax, [ebp - 0x94]
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x110b8296
lea edx, [ebp - 0x1fc]
push 0x111a2fa8
push edx
call fcn.11164ead
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x110b831a
lea eax, [ebp - 0x1fc]
push eax
push 0x104
call dword [sym.imp.KeRneL32.DLl_GetTempPathA]
lea eax, [ebp - 0x94]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x110b82d4
lea edi, [ebp - 0x1fc]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x110b82e4
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x1fc]
push 0x111a2fa8
push ecx
call fcn.11164ead
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x110b8564
lea edx, [ebp - 0x2310]
push edx
call dword [sym.imp.KeRneL32.DLl_GetLocalTime]
push 0x94
lea eax, [ebp - 0x23b0]
push 0
push eax
call fcn.11162be0
add esp, 0xc
lea ecx, [ebp - 0x23b0]
push ecx
mov dword [ebp - 0x23b0], 0x94
call dword [sym.imp.KeRneL32.DLl_GetVersionExA]
cmp dword [ebp - 0x23a0], 2
mov eax, 0x111a9644
je 0x110b8367
mov eax, 0x111a9640
mov edx, dword [ebp - 0x23a8]
mov ecx, dword [ebp - 0x23ac]
push edx
movzx edx, word [ebp - 0x2302]
push ecx
movzx ecx, word [ebp - 0x2306]
mov edi, dword [sym.imp.uSEr32.dll_wsprintfA]
push eax
movzx eax, word [ebp - 0x2304]
push edx
movzx edx, word [ebp - 0x2308]
push eax
movzx eax, word [ebp - 0x230a]
push ecx
movzx ecx, word [ebp - 0x230e]
push edx
movzx edx, word [ebp - 0x2310]
push eax
push ecx
push edx
lea eax, [ebp - 0x2300]
push 0x111a960c
push eax
call edi
lea ecx, [ebp - 0x2300]
push ebx
push ecx
call fcn.11164ceb
lea edx, [ebp - 0xb00]
push ebx
push edx
call fcn.11164ceb
mov esi, dword [ebp - 0x23b8]
add esp, 0x40
test esi, esi
je 0x110b83f3
push ebx
push esi
call fcn.11164ceb
add esp, 8
push ebx
push 0x1119f2e8
call fcn.11164ceb
mov eax, dword [0x111f3470]
add esp, 8
test eax, eax
je 0x110b854e
cmp dword [ebp - 0x23b4], 0
jne 0x110b854e
lea ecx, [ebp - 0x1b00]
push 0x1000
push ecx
mov byte [ebp - 0x1b00], 0
call eax
push ebx
push 0x111a95fc
call fcn.11164ceb
lea edx, [ebp - 0x1b00]
push ebx
push edx
call fcn.11164ceb
add esp, 0x18
xor esi, esi
cmp byte [ebp - 0x1b00], 0
lea eax, [ebp - 0x1b00]
je 0x110b8476
lea esp, [esp]
cmp byte [eax], 0xa
jne 0x110b846b
inc esi
cmp esi, 6
je 0x110b8473
inc eax
cmp byte [eax], 0
jne 0x110b8460
jmp 0x110b8476
mov byte [eax], 0
lea eax, [ebp - 0xb00]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x110b8480
lea ecx, [ebp - 0x1b00]
push ecx
sub eax, edx
lea edx, [ebp + eax - 0xb00]
push 0x111a95e8
push edx
call edi
add esp, 0xc
cmp esi, 6
jl 0x110b84dd
lea eax, [ebp - 0xb00]
dec eax
mov edi, edi
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x110b84b0
mov ecx, dword [0x111a95dc]
mov edx, dword [0x111a95e0]
mov dword [eax], ecx
mov cx, word [0x111a95e4]
mov dword [eax + 4], edx
mov dl, byte [0x111a95e6]
mov word [eax + 8], cx
mov byte [eax + 0xa], dl
lea eax, [ebp - 0xb00]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x110b84e4
mov ecx, dword [0x111a95c8]
mov edx, dword [0x111a95cc]
mov dword [eax], ecx
mov ecx, dword [0x111a95d0]
mov dword [eax + 4], edx
mov edx, dword [0x111a95d4]
mov dword [eax + 8], ecx
mov ecx, dword [0x111a95d8]
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], ecx
lea eax, [ebp - 0x1fc]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x110b8520
lea edi, [ebp - 0xb00]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x110b8530
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - 0x23b8]
push ebx
push 0x111a754c
call fcn.11164ceb
push ebx
call fcn.11164c77
add esp, 0xc
jmp 0x110b856a
mov esi, dword [ebp - 0x23b8]
cmp dword [ebp - 0x23c4], 0
jne 0x110b86ae
test byte [ebp + 0x14], 1
jne 0x110b86ae
test esi, esi
je 0x110b85b1
lea eax, [ebp - 0xb00]
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x110b8590
sub eax, edx
mov edx, 0x7ff
sub edx, eax
push edx
lea eax, [ebp - 0xb00]
push esi
push eax
call fcn.111650d0
add esp, 0xc
cmp dword [ebp - 0x23b4], 0
je 0x110b85cc
mov ecx, 7
mov esi, 0x111a95a8
lea edi, [ebp - 0x54]
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
jmp 0x110b85f8
mov ecx, dword [0x111a9594]
mov edx, dword [0x111a9598]
mov eax, dword [0x111a959c]
mov dword [ebp - 0x54], ecx
mov ecx, dword [0x111a95a0]
mov dword [ebp - 0x50], edx
mov dl, byte [0x111a95a4]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ecx
mov byte [ebp - 0x44], dl
lea eax, [ebp - 0x1fc]
push 0x5c
push eax
call fcn.11081e00
add esp, 8
mov edi, 0x111a9584
test ebx, ebx
jne 0x110b8617
mov edi, 0x111a9570
lea ecx, [ebp - 0x54]
lea esi, [ecx + 1]
lea ecx, [ecx]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x110b8620
inc eax
push eax
sub ecx, esi
lea ecx, [ebp + ecx - 0x54]
push edi
push ecx
call dword [sym.imp.uSEr32.dll_wsprintfA]
mov eax, dword [0x111f1514]
add esp, 0xc
test eax, eax
je 0x110b8699
push 0x11088e20
push eax
push 0
push 0
call dword [sym.imp.uSEr32.dll_SetTimer]
push 0
lea edx, [ebp - 0x54]
mov esi, eax
push edx
lea eax, [ebp - 0xb00]
push eax
push 0
call dword [sym.imp.uSEr32.dll_MessageBoxA]
push esi
push 0
call dword [sym.imp.uSEr32.dll_KillTimer]
push 1
push 0x12
push 0x12
push 0
lea ecx, [ebp - 0x231c]
push ecx
call dword [sym.imp.uSEr32.dll_PeekMessageA]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.11162bb7
mov esp, ebp
pop ebp
ret
push 0
lea edx, [ebp - 0x54]
push edx
lea eax, [ebp - 0xb00]
push eax
push 0
call dword [sym.imp.uSEr32.dll_MessageBoxA]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.11162bb7
mov esp, ebp
pop ebp
ret