Function at 0x1000bdc0
Capabilities:
Check for time delay via gettickcount
Get disk information
Get geographical location

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x870
mov dword [ebp - 0x868], ecx
mov dword [ebp - 0x1fc], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x200], 0
mov dword [ebp - 0x2a0], 0
mov dword [ebp - 0x298], 0
mov dword [ebp - 0x29c], 0
mov dword [ebp - 0x294], 0
mov eax, dword [ebp + 8]
push eax
push 0x100174c8
mov ecx, dword [ebp + 0xc]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x86c], edx
cmp dword [ebp - 0x86c], 5
ja case.default.0x1000be58
mov eax, dword [ebp - 0x86c]
jmp dword [eax*4 + 0x1000c2c0]
mov ecx, dword [ebp - 0x868]
movzx edx, byte [ecx + 0xa]
test edx, edx
je 0x1000be9d
mov eax, dword [ebp - 0x1fc]
push eax
call dword [sym.imp.GDI32.dll_GetBkMode]
push 0x1001a468
mov ecx, dword [ebp - 0x868]
add ecx, 0x128
call fcn.10001980
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
jmp 0x1000beeb
push 0x1001a470
mov ecx, dword [ebp - 0x868]
add ecx, 0x128
call fcn.10001980
push eax
mov edx, dword [ebp + 0xc]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [ebp - 0x1f8]
push eax
lea ecx, [ebp - 0x290]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov edx, dword [ebp - 4]
push edx
push 0x100172a0
lea eax, [ebp - 0x1f8]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp case.default.0x1000be58
mov ecx, dword [ebp + 0x14]
push ecx
push 0x1001a478
mov ecx, dword [ebp - 0x868]
add ecx, 0x128
call fcn.10001980
push eax
mov edx, dword [ebp + 0xc]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp case.default.0x1000be58
mov dword [ebp - 0x2a8], 0
mov eax, dword [ebp - 0x200]
mov dword [ebp - 0x118], eax
lea ecx, [ebp - 0x118]
push ecx
call dword [sym.imp.USER32.dll_GetCursorPos]
mov byte [ebp - 0x1f8], al
push 0
push 0
lea edx, [ebp - 0x2b0]
push edx
lea eax, [ebp - 0x2a4]
push eax
lea ecx, [ebp - 0x2a8]
push ecx
push 0
push 0
push 0x100174c4
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationA]
mov ecx, dword [ebp - 0x868]
call fcn.1000e350
push eax
mov edx, dword [ebp - 0x2a8]
push edx
push str._u_u
lea eax, [ebp - 0x330]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea ecx, [ebp - 0x330]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea edx, [ebp - 0x330]
push edx
call fcn.10001e00
add esp, 8
mov dword [ebp - 0x734], eax
mov eax, dword [ebp - 0x734]
push eax
mov ecx, dword [ebp - 0x868]
mov edx, dword [ecx + 0x42c]
push edx
push 0x1001a144
mov ecx, dword [ebp - 0x868]
add ecx, 0x128
call fcn.10001980
push eax
lea eax, [ebp - 0x730]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea ecx, [ebp - 0x730]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea edx, [ebp - 0x730]
push edx
call fcn.10001e00
add esp, 8
mov dword [ebp - 0x2ac], eax
mov eax, dword [ebp - 0x2ac]
push eax
mov ecx, dword [ebp - 0x734]
push ecx
push 0x1001a430
mov ecx, dword [ebp - 0x868]
add ecx, 0x128
call fcn.10001980
push eax
mov edx, dword [ebp + 0xc]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
jmp case.default.0x1000be58
mov edx, dword [ebp - 0x868]
mov eax, dword [edx + 0x434]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
push 0x1001a440
mov ecx, dword [ebp - 0x868]
add ecx, 0x128
call fcn.10001980
push eax
mov edx, dword [ebp + 0xc]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
jmp case.default.0x1000be58
mov eax, dword [ebp - 0x868]
mov ecx, dword [eax + 0x434]
push ecx
mov edx, dword [ebp + 0x14]
push edx
push 0x1001a450
mov ecx, dword [ebp - 0x868]
add ecx, 0x128
call fcn.10001980
push eax
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
push 0
call dword [sym.imp.KERNEL32.dll_FindAtomA]
movzx ecx, ax
mov dword [ebp - 0x200], ecx
mov edx, 0x3d
sub edx, dword [ebp - 0x118]
imul edx, dword [ebp - 0x200]
mov dword [ebp - 0x200], edx
jmp case.default.0x1000be58
mov edx, dword [ebp + 0x14]
push edx
push 0x1001a460
mov ecx, dword [ebp - 0x868]
add ecx, 0x128
call fcn.10001980
push eax
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 0x104
lea ecx, [ebp - 0x110]
push ecx
push 3
push 0x800
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x200], eax
mov edx, dword [ebp - 0x200]
add edx, dword [ebp - 0x2a0]
mov dword [ebp - 0x200], edx
mov eax, dword [ebp - 0x868]
movzx ecx, byte [eax + 0xb]
test ecx, ecx
je 0x1000c1da
mov edx, dword [ebp - 0x868]
mov eax, dword [edx + 0x124]
mov dword [ebp - 0x870], eax
jmp 0x1000c268
mov ecx, dword [ebp - 0x868]
mov edx, dword [ecx + 0x124]
mov dword [ebp - 0x864], edx
push 0x1001a340
mov ecx, dword [ebp - 0x868]
add ecx, 0x128
call fcn.10001980
mov dword [ebp - 0x860], eax
mov eax, dword [ebp - 0x868]
add eax, 0x20
mov dword [ebp - 0x85c], eax
mov ecx, dword [ebp - 0x864]
mov dword [ebp - 0x858], ecx
lea edx, [ebp - 0x858]
push edx
mov eax, dword [ebp - 0x860]
push eax
mov ecx, dword [ebp - 0x85c]
call fcn.1000f320
movzx ecx, al
test ecx, ecx
jne 0x1000c25c
mov edx, dword [ebp - 0x858]
push edx
mov eax, dword [ebp - 0x860]
push eax
mov ecx, dword [ebp - 0x85c]
call fcn.1000f380
mov ecx, dword [ebp - 0x858]
mov dword [ebp - 0x870], ecx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
lea edx, [ebp - 0x110]
push edx
mov eax, dword [ebp - 0x868]
mov ecx, dword [eax + 0x42c]
push ecx
mov edx, dword [ebp - 0x870]
push edx
push 0x16
push 0x1001a410
mov ecx, dword [ebp - 0x868]
add ecx, 0x128
call fcn.10001980
push eax
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x1c
mov esp, ebp
pop ebp
ret 0x10