Function at 0x759d8dd3
Capabilities:
Check for time delay via gettickcount
Hide graphical window

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, dword [ebp + 0xc]
mov eax, ebx
and eax, 0x40000000
push 1
mov dword [ebp - 4], eax
mov eax, dword [edi]
push edi
mov esi, ecx
and ebx, 0x1fffffff
call dword [eax + 0x1c]
and dword [ebp + 8], 0
mov ecx, ebx
and ecx, 0xffffff
sar ebx, 0x18
cmp ebx, 7
mov dword [ebp + 0xc], ecx
jle 0x759e7704
sub ebx, 8
je 0x759e7b16
dec ebx
je 0x759e7aff
dec ebx
je 0x759e790e
dec ebx
jne 0x759e77ea
test eax, eax
je 0x759e780e
cmp eax, 1
je 0x759e7845
cmp eax, 2
jne 0x759e78c2
cmp byte [esi + 0x233], 0
jne 0x759e789b
mov eax, dword [edi]
push 2
push edi
call dword [eax + 0x1c]
neg eax
sbb eax, eax
neg eax
mov byte [esi + 0x232], al
mov esi, dword [esi + 0x244]
test esi, esi
jne 0x759e78a2
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
leave
ret 8
je 0x759e7765
test ebx, ebx
jl 0x759e778e
cmp ebx, 1
jle 0x759e7765
cmp ebx, 2
je 0x759e7773
cmp ebx, 3
je 0x759e777f
cmp ebx, 5
je 0x759e773c
cmp ebx, 6
jne 0x759e778e
cmp byte [esi + 0x238], 0
jne 0x759e778e
push edi
call fcn.75b54f23
pop ecx
jmp 0x759d8e81
cmp byte [esi + 0x238], 0
jne 0x759e778e
push edi
mov ecx, esi
call fcn.75acf43b
sub eax, 4
je 0x759e775d
dec eax
je 0x759e7759
push 2
jmp 0x759e775f
push 5
jmp 0x759e775f
push 4
pop eax
jmp 0x759d8e81
test cl, 0xf0
jne 0x759e777f
mov dword [ebp + 8], 0x30
jmp 0x759e777f
test cl, 0xf0
jne 0x759e777f
mov dword [ebp + 8], 0x40
cmp byte [esi + 0x238], 0
je 0x759e7795
cmp dword [ebp - 4], 0
jne 0x759e7795
xor eax, eax
jmp 0x759d8e81
mov eax, dword [edi]
push 0
push 0
push edi
call dword [eax + 0x48]
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, eax
call ebx
mov ecx, dword [esi + 0x14]
mov dword [ebp - 4], eax
movzx eax, word [esi + 0x10]
push eax
mov eax, dword [ebp + 8]
or eax, dword [ebp + 0xc]
push ecx
or eax, 0x2000
push eax
mov eax, dword [edi]
push 0
push edi
call dword [eax + 0x20]
push eax
push 0
call sym.msi.dll_MsiMessageBoxW
mov dword [ebp + 8], eax
call ebx
sub eax, dword [ebp - 4]
push edi
add dword [esi + 0x28], eax
mov eax, dword [edi]
call dword [eax + 8]
mov eax, dword [ebp + 8]
jmp 0x759d8e81
sub ebx, 0xe
jne 0x759e778e
cmp byte [esi + 0x238], bl
jne 0x759e778e
push edi
mov ecx, esi
call fcn.75acf4ab
dec eax
je 0x759d8e7e
sub eax, 4
jmp 0x759e7753
mov eax, dword [edi]
push 3
push edi
call dword [eax + 0x10]
test eax, eax
jne 0x759e7825
mov eax, dword [edi]
push 3
push edi
call dword [eax + 0x1c]
mov dword [esi + 0x14], eax
mov eax, dword [edi]
push 2
push edi
call dword [eax + 0x1c]
cmp eax, dword [esi + 0x10]
je 0x759d8e7e
mov ecx, esi
mov dword [esi + 0x10], eax
call fcn.75ad0ffd
jmp 0x759d8e7e
mov eax, dword [edi]
push 2
push edi
call dword [eax + 0x10]
test eax, eax
jne 0x759d8e7e
mov eax, dword [edi]
push 0xff
push 2
push edi
lea ebx, [esi + 0x30]
call dword [eax + 0x28]
push eax
push 0x100
push ebx
call fcn.759c7b86
mov eax, dword [esi + 0x244]
test eax, eax
je 0x759e788f
push ebx
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov byte [esi + 0x230], 0
jmp 0x759d8e7e
mov byte [esi + 0x230], 1
jmp 0x759d8e7e
xor eax, eax
jmp 0x759d8e6a
movzx eax, al
neg eax
sbb eax, eax
and eax, 5
push eax
push 2
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x759d8e7e
cmp eax, 3
jne 0x759e78eb
push 0
lea edi, [esi + 0x244]
push dword [edi]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [edi]
mov byte [esi + 0x234], 0
call dword [sym.imp.USER32.dll_SetForegroundWindow]
jmp 0x759d8e7e
cmp eax, 4
jne 0x759d8e7e
push 5
push dword [esi + 0x244]
call dword [sym.imp.USER32.dll_ShowWindow]
mov byte [esi + 0x234], 1
jmp 0x759d8e7e
mov eax, dword [edi]
xor ebx, ebx
inc ebx
push ebx
push edi
call dword [eax + 0x1c]
cmp eax, 0x80000000
je 0x759e7af8
xor ecx, ecx
cmp eax, ecx
je 0x759e7a85
cmp eax, ebx
je 0x759e7a63
cmp eax, 2
je 0x759e7947
cmp eax, 3
sete cl
mov eax, ecx
jmp 0x759d8e81
cmp dword [esi + 0x24], ecx
je 0x759e7a7e
cmp dword [esi + 0x28], ecx
jne 0x759e797d
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esi + 0x28], eax
mov dword [esi + 0x2c], eax
mov eax, ebx
cmp dword [esi + 0x254], ebx
je 0x759d8e81
push 0
mov ecx, esi
call fcn.75acf0ff
jmp 0x759d8e81
xor ebx, ebx
cmp dword [esi + 0x250], ecx
sete bl
lea ebx, [ebx + ebx - 1]
cmp byte [esi + 0x19], cl
je 0x759e7996
mov eax, dword [esi + 0x1c]
jmp 0x759e799e
mov eax, dword [edi]
push 2
push edi
call dword [eax + 0x1c]
push dword [esi + 0x24]
imul eax, ebx
add dword [esi + 0x20], eax
push dword [esi + 0x20]
mov ecx, esi
push 0xa
call fcn.75ad142e
mov dword [ebp - 4], eax
cmp eax, 1
jne 0x759d8e81
cmp dword [esi + 0x254], 0
jne 0x759e7a5b
cmp dword [esi + 0x250], 0
jne 0x759e79da
mov ecx, dword [esi + 0x20]
jmp 0x759e79e0
mov ecx, dword [esi + 0x24]
sub ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x24]
sub eax, ecx
mov dword [ebp + 8], ecx
mov dword [ebp + 0xc], eax
jns 0x759e79f1
and dword [ebp + 0xc], 0
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
call ebx
sub eax, dword [esi + 0x28]
push eax
push 0x3e8
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ecx, eax
test ecx, ecx
jne 0x759e7a12
inc ecx
mov eax, dword [ebp + 0xc]
cdq
idiv ecx
cmp dword [ebp + 8], 0
mov dword [ebp + 0xc], eax
jle 0x759e7a5b
call ebx
sub eax, dword [esi + 0x2c]
xor ecx, ecx
cmp dword [ebp + 0xc], 0x3c
setle cl
dec ecx
and ecx, 0x36b0
add ecx, 0x3e8
cmp eax, ecx
jbe 0x759e7a5b
call ebx
push dword [ebp + 0xc]
mov dword [esi + 0x2c], eax
mov eax, dword [edi]
push 1
push edi
call dword [eax + 0x34]
push edi
mov ecx, esi
call fcn.75acf159
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
jmp 0x759d8e81
mov eax, dword [edi]
push 2
push edi
call dword [eax + 0x1c]
push 3
mov dword [esi + 0x1c], eax
mov eax, dword [edi]
push edi
call dword [eax + 0x1c]
test eax, eax
setne al
mov byte [esi + 0x19], al
mov eax, ebx
jmp 0x759d8e81
mov eax, dword [edi]
push 2
push edi
call dword [eax + 0x1c]
push 3
mov dword [esi + 0x24], eax
mov eax, dword [edi]
push edi
call dword [eax + 0x1c]
mov dword [esi + 0x250], eax
test eax, eax
je 0x759e7aa5
mov eax, dword [esi + 0x24]
and dword [esi + 0x28], 0
and dword [esi + 0x2c], 0
mov dword [esi + 0x20], eax
mov byte [esi + 0x19], 0
mov ecx, esi
cmp dword [esi + 0x254], ebx
jne 0x759e7ac4
mov eax, dword [esi + 0x24]
push eax
jmp 0x759e7ac7
push dword [esi + 0x24]
push eax
push 0xa
call fcn.75ad142e
push 4
mov dword [ebp + 8], eax
mov eax, dword [edi]
push edi
call dword [eax + 0x1c]
mov dword [esi + 0x254], eax
cmp eax, ebx
jne 0x759e77e2
push ebx
mov ecx, esi
call fcn.75acf0ff
mov dword [ebp + 8], eax
jmp 0x759e77e2
push ebx
push 0
push 0
jmp 0x759e7b20
mov eax, dword [edi]
xor ebx, ebx
push ebx
push edi
call dword [eax + 0x10]
test eax, eax
jne 0x759e778e
push 1
push ebx
push ebx
jmp 0x759e7b20
push 1
push dword [0x75bc8b00]
push 8
mov ecx, esi
call fcn.75acc67c
jmp 0x759d8e81