Function at 0x105910e
Capabilities:
Check for time delay via gettickcount
Create process on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10bec0c
mov eax, dword fs:[0]
push eax
mov eax, 0x10e4
call fcn.01075c60
mov eax, dword [0x10c671c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
lea eax, [ebx - 0x9c42]
cmp eax, 0xab
ja case.0x105915c.40003
movzx eax, byte [eax + 0x105978e]
jmp dword [eax*4 + 0x1059726]
call fcn.01083892
jmp case.0x105915c.40003
push 0x66
push dword [0x10cf1e8]
call dword [sym.imp.USER32.dll_LoadIconW]
push 0x9a
lea ecx, [ebp - 0x1090]
mov edi, eax
call fcn.010943ca
mov esi, eax
and dword [ebp - 4], 0
push 0x70
lea ecx, [ebp - 0x1084]
call fcn.010943ca
mov esi, dword [esi + 8]
mov eax, dword [eax + 8]
push edi
push esi
push eax
push dword [0x10d1168]
call dword [sym.imp.SHELL32.dll_ShellAboutW]
lea ecx, [ebp - 0x1084]
call fcn.0109449c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1090]
call fcn.0109449c
call fcn.01082e34
jmp case.0x105915c.40003
mov eax, dword [0x10cf634]
test eax, eax
je case.0x105915c.40003
mov eax, dword [eax + 8]
test eax, eax
je case.0x105915c.40003
cmp eax, 1
jne 0x1059206
mov ecx, dword [0x10ced38]
call fcn.01048cf7
jmp case.0x105915c.40003
cmp eax, 2
jne 0x105921b
mov ecx, dword [0x10cedc4]
call fcn.0104ff45
jmp case.0x105915c.40003
cmp eax, 3
jne case.0x105915c.40003
mov ecx, dword [0x10cfe3c]
call fcn.0106c556
jmp case.0x105915c.40003
mov esi, 0x9ced
cmp ebx, esi
jne 0x1059275
cmp byte [0x10cf5fc], 0
jne 0x1059255
mov byte [0x10cf5fc], 1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
jmp 0x1059270
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
sub eax, dword [0x10cf5f8]
cmp eax, 0x4e2
jb case.0x105915c.40003
call edi
mov dword [0x10cf5f8], eax
mov eax, dword [0x10cf634]
test eax, eax
je case.0x105915c.40003
mov eax, dword [eax + 8]
test eax, eax
jne 0x10592f7
push ebx
call fcn.01058d18
cmp al, 1
jne case.0x105915c.40003
mov eax, dword [0x10cf634]
push 2
pop edi
cmp ebx, esi
jne 0x10592bd
mov ecx, dword [eax + 8]
cmp ecx, edi
je 0x10592d1
cmp ecx, 1
je 0x10592c5
cmp ecx, 3
jne case.0x105915c.40003
mov ebx, 0x9cdb
cmp ebx, 0x9c4b
jne 0x10592c9
push 1
jmp 0x10592e8
cmp ebx, 0x9c42
jne 0x10592da
lea ecx, [eax + 4]
push edi
jmp 0x105953e
cmp ebx, 0x9cdb
jne case.0x105915c.40003
push 3
add eax, 4
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x10]
jmp case.0x105915c.40003
push 2
pop edi
cmp ebx, esi
jne 0x1059323
cmp eax, edi
jne 0x1059309
mov ebx, 0x9c42
jmp 0x105932b
cmp eax, 1
jne 0x1059315
mov ebx, 0x9c4b
jmp 0x1059379
cmp eax, 3
jne 0x10594e1
mov ebx, 0x9cdb
cmp ebx, 0x9c42
jne 0x1059371
mov ecx, dword [0x10cedc4]
call fcn.0104e1a8
mov ecx, dword [0x10cedc4]
mov byte [ebp - 0x105a], al
call fcn.0106bfea
mov byte [ebp - 0x1059], al
call fcn.01082d66
movzx esi, al
neg esi
sbb esi, esi
and esi, 0x44
add esi, 0xad
mov dword [ebp - 0x1060], 0xa8
jmp 0x1059409
cmp ebx, 0x9c4b
jne 0x10593bc
mov ecx, dword [0x10ced38]
call fcn.01047a56
mov ecx, dword [0x10ced38]
mov byte [ebp - 0x105a], al
call fcn.01047a5f
mov byte [ebp - 0x1059], al
call fcn.01082d66
movzx esi, al
neg esi
sbb esi, esi
and esi, 0x51
add esi, 0x9f
mov dword [ebp - 0x1060], 0xa7
jmp 0x1059409
cmp ebx, 0x9cdb
jne 0x10594e1
mov ecx, dword [0x10cfe3c]
call fcn.0106bfe1
mov ecx, dword [0x10cfe3c]
mov byte [ebp - 0x105a], al
call fcn.0106bfea
mov byte [ebp - 0x1059], al
call fcn.01082d66
movzx esi, al
neg esi
sbb esi, esi
and esi, 0x38
add esi, 0xba
mov dword [ebp - 0x1060], 0xc4
cmp byte [ebp - 0x105a], 1
jne 0x10594e1
cmp byte [ebp - 0x1059], 0
jne 0x10594e1
cmp ebx, 0x9cdb
jne 0x1059438
mov eax, dword [0x10cfe3c]
mov ecx, dword [eax + 0x10]
call fcn.01072efb
push 0x5c
lea eax, [ebp - 0x10ec]
push 0
push eax
mov dword [ebp - 0x10f0], 0x60
call sub.msvcrt.dll_memset
movzx ecx, word [ebp - 0x1060]
add esp, 0xc
push 0
xor eax, eax
inc eax
push 0x4a1
mov dword [ebp - 0x1078], eax
mov dword [ebp - 0x10c4], eax
mov dword [ebp - 0x1068], eax
push edi
lea eax, [ebp - 0x1068]
push eax
mov dword [ebp - 0x1074], ecx
push esi
lea eax, [ebp - 0x10f0]
lea ecx, [ebp - 0x1078]
push eax
mov dword [ebp - 0x10e4], 0x18
mov dword [ebp - 0x10dc], 0xa5
mov dword [ebp - 0x10d4], 0xa6
mov dword [ebp - 0x1070], edi
mov dword [ebp - 0x106c], 0xa9
mov dword [ebp - 0x10cc], edi
mov dword [ebp - 0x10c8], ecx
mov dword [ebp - 0x1064], edi
call fcn.0109bbb1
cmp eax, edi
je case.0x105915c.40003
push ebx
call fcn.01058d18
test al, al
je case.0x105915c.40003
cmp ebx, 0x9c42
jne 0x1059505
mov ecx, dword [0x10cedc4]
call fcn.0104f0f1
push edi
jmp 0x1059535
cmp ebx, 0x9c4b
jne 0x105951c
mov ecx, dword [0x10ced38]
call fcn.01048be8
push 1
jmp 0x1059535
cmp ebx, 0x9cdb
jne case.0x105915c.40003
mov ecx, dword [0x10cfe3c]
call fcn.0106cbe1
push 3
mov ecx, dword [0x10cf634]
add ecx, 4
mov eax, dword [ecx]
call dword [eax + 0x10]
jmp case.0x105915c.40003
mov ecx, dword [0x10cf634]
test ecx, ecx
je case.0x105915c.40003
call fcn.0105fe71
jmp case.0x105915c.40003
mov eax, dword [0x10cf634]
test eax, eax
je case.0x105915c.40003
mov eax, dword [eax + 8]
cmp eax, 1
jne 0x105957f
call fcn.01057c9b
jmp case.0x105915c.40003
cmp eax, 2
jne 0x105958e
call fcn.01058154
jmp case.0x105915c.40003
cmp eax, 3
jne case.0x105915c.40003
call fcn.0107046a
jmp case.0x105915c.40003
call fcn.01082d66
test al, al
jne case.0x105915c.40003
call fcn.01058bb7
jmp case.0x105915c.40003
push 0
push 0
push 0x10
push dword [0x10d1168]
call dword [sym.imp.USER32.dll_PostMessageW]
jmp case.0x105915c.40003
push 0x824
lea eax, [ebp - 0x1058]
push eax
push 0x101
xor esi, esi
push esi
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.USER32.dll_LoadStringW]
test eax, eax
jle case.0x105915c.40003
push 1
push esi
push esi
lea eax, [ebp - 0x1058]
push eax
push 0x1014d80
push esi
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
jmp case.0x105915c.40003
mov ecx, dword [0x10ced38]
call fcn.01047fda
jmp case.0x105915c.40003
mov ecx, dword [0x10cedc4]
call fcn.0104e812
jmp case.0x105915c.40003
mov ecx, dword [0x10cedc4]
add ecx, 8
push 2
jmp 0x105953e
mov ecx, dword [0x10cedc4]
call fcn.0104f513
jmp case.0x105915c.40003
mov ecx, dword [0x10cedc4]
call fcn.0104f5a4
jmp case.0x105915c.40003
mov ecx, dword [0x10cedc4]
call fcn.0104e7ff
jmp case.0x105915c.40003
push ebx
push 0x9c76
push 0
call fcn.01058c5d
jmp case.0x105915c.40003
push ebx
push 0x9c85
push 4
jmp 0x105967c
push ebx
push 0x9c94
push 1
jmp 0x105967c
push ebx
push 0x9ca3
push 2
jmp 0x105967c
push ebx
push 0x9cb2
push 3
jmp 0x105967c
mov eax, dword [0x10ced38]
add ebx, 0xffff6333
mov dword [eax + 0x30], ebx
jmp case.0x105915c.40003
mov eax, dword [0x10cfe3c]
mov ecx, dword [eax + 0x10]
call fcn.01072cb5
test al, al
je case.0x105915c.40003
mov eax, dword [0x10cfe3c]
mov ecx, dword [eax + 0x10]
call fcn.01072c64
jmp case.0x105915c.40003
mov eax, dword [0x10cfe3c]
mov ecx, dword [eax + 0x10]
call fcn.01072dd6
jmp case.0x105915c.40003
mov eax, dword [0x10cfe3c]
mov ecx, dword [eax + 0x10]
call fcn.01072670
jmp case.0x105915c.40003
mov eax, dword [0x10cfe3c]
mov ecx, dword [eax + 0x10]
call fcn.01071e01
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0107591b
leave
ret