Function at 0x1002463a
Capabilities:
Check os version
Get common file path
Resume thread

Disassembly:
mov eax, 0x10075477
call fcn.10074678
sub esp, 0x208
push ebx
push esi
push edi
mov dword [ebp - 0xcc], ecx
lea ecx, [ebp - 0x78]
push 3
mov dword [ebp - 0xc8], edx
call fcn.10008eaf
mov dword [ebp - 0x34], 0xfffffffc
xor ebx, ebx
mov dword [ebp - 0x24], 4
mov dword [ebp - 0x10], ebx
jmp 0x10024688
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x78]
mov dword [eax + ecx*4], 0x8261f9c2
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x10024678
push 2
pop ecx
push 0xffffffffffffffff
mov dword [ebp - 0x10], ebx
pop edi
jmp 0x100246a3
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x44], edi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10024699
mov dword [ebp - 0x10], ebx
jmp 0x100246ba
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x168], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x100246ad
mov dword [ebp - 0x40], ecx
cmp dword [ebp - 0x40], ebx
jl 0x100247b4
mov dword [ebp - 0x1c], 0xcf2e5664
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x78]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov dword [ebp - 0x1c], 0xfffffffe
jmp 0x100247a1
mov dword [ebp - 0x24], 1
xor ecx, ecx
mov dword [ebp - 0x14], 6
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov esi, dword [ebp - 0x40]
mov edx, dword [ebp - 0x78]
push 0
cmp dword [edx + eax*4], 0x2afd77cc
setl cl
xor eax, eax
cmp ecx, 0xf5f40e13
setne al
xor ecx, ecx
cmp eax, dword [edx + esi*4]
mov eax, dword [ebp - 0x40]
setle cl
add eax, ecx
xor ecx, ecx
cmp eax, edi
setle cl
xor edx, edx
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
cmp eax, ecx
setne dl
sub edx, dword [ebp - 0x14]
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x78]
cmp dword [ecx + edx*4], eax
mov eax, dword [ebp - 0x40]
pop ecx
sete cl
xor edx, edx
cmp ecx, eax
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x78]
setge dl
add ecx, edx
xor edx, edx
cmp dword [eax], ecx
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x78]
setl dl
mov dword [eax + ecx*4], edx
xor edx, edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setl dl
mov dword [ebp - 0x24], edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xb
jl 0x100246ed
dec dword [ebp - 0x40]
jns 0x100246cb
mov eax, dword [ebp - 0x168]
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x24], eax
call fcn.10009099
mov dword [ebp - 0x14], 0xfffffffb
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x20], edi
mov eax, dword [ebp - 0x14]
mov edi, dword [sym.imp.OLEAUT32.dll_SafeArrayLock]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1c], ebx
jmp 0x10024808
mov dword [ebp - 0x14], ebx
jmp 0x100247ff
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], bl
je 0x100247f9
push ebx
push 0x2089
push ebx
call edi
mov eax, dword [ebp - 0x20]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x2b
jle 0x100247e8
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffff0
jl 0x100247e3
push 3
lea ecx, [ebp - 0x84]
call fcn.10008eaf
mov dword [ebp - 4], ebx
mov dword [ebp - 0x34], 0xfffffffc
mov dword [ebp - 0x24], 4
mov dword [ebp - 0x1c], 8
mov dword [ebp - 0x1c], ebx
jmp 0x10024869
mov dword [ebp - 0x14], 0x2f4a8b10
mov dword [ebp - 0x14], 0xffffffed
jmp 0x10024860
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1002485d
push 0x263a
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x12
jg 0x10024848
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 1
jne 0x10024838
mov esi, dword [sym.imp.KERNEL32.dll_CompareFileTime]
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x10024882
push ebx
push ebx
call esi
mov dword [ebp - 0x1c], 8
mov dword [ebp - 0x1c], ebx
jmp 0x100248bf
mov dword [ebp - 0x14], 0x2f4a8b10
mov dword [ebp - 0x14], 0xffffffed
jmp 0x100248b6
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100248b3
push 0x263a
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x12
jg 0x1002489e
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 1
jne 0x1002488e
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100248d2
push ebx
push ebx
call esi
mov dword [ebp - 0x10], ebx
jmp 0x100248ea
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x84]
mov dword [eax + ecx*4], 0x8261f9c2
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x100248d7
mov dword [ebp - 0x20], 0x198a
xor esi, esi
mov dword [ebp - 0x20], 0x94a18885
inc esi
mov dword [ebp - 0x20], 0x506e60b0
mov dword [ebp - 0x20], 0x4fe5f36f
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x24], 0x989b1ab4
mov dword [ebp - 0x14], ebx
jmp 0x1002492f
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x204], 0x93e9323d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1002491e
inc dword [ebp - 0x24]
push 2
mov dword [ebp - 0x10], ebx
pop ecx
jmp 0x1002494e
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x4c], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10024940
mov dword [ebp - 0x10], ebx
jmp 0x10024965
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x190], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10024958
mov dword [ebp - 0x48], ecx
cmp dword [ebp - 0x48], ebx
jl 0x10024c5b
mov dword [ebp - 0x30], 0xcf2e5664
mov dword [ebp - 0x10], ebx
jmp 0x1002498f
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x9c], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x10024982
mov dword [ebp - 0x10], ebx
jmp 0x100249a7
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1cc], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x1002499a
mov dword [ebp - 0x98], ebx
jmp 0x100249c5
mov dword [ebp - 0x24], 0xe77dd688
inc dword [ebp - 0x24]
dec dword [ebp - 0x98]
cmp dword [ebp - 0x98], 0xfffffffa
jle 0x100249b5
mov dword [ebp - 0x1c0], 0x164caf14
xor ecx, ecx
mov eax, dword [ebp - 0x9c]
cmp eax, 0x164caf14
setne cl
mov dword [ebp - 0x94], ecx
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x84]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov dword [ebp - 0x10], 0x41b6
mov dword [ebp - 0x14], 0xbbbdebf8
mov dword [ebp - 0x20], 0x653e3f36
mov dword [ebp - 0x14], ebx
jmp 0x10024a28
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x6c], 0xc80ae7b1
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10024a1a
cmp dword [ebp - 0x10], ebx
je 0x10024a37
mov eax, dword [ebp - 0x10]
jmp 0x10024a3b
mov ecx, ebx
je 0x10024a3d
mov ecx, esi
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
lea eax, [ecx + 0x2b90]
cmp eax, 2
sbb eax, eax
inc eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x10]
jg 0x10024a6a
mov edx, esi
cmp dword [ebp - 0x14], ebx
jne 0x10024a6c
mov edx, ebx
mov eax, dword [ebp - 0x10]
xor ecx, ecx
sub edx, eax
mov eax, dword [ebp - 0x10]
cmp edx, eax
setne cl
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], ebx
jl 0x10024aa1
mov dword [ebp - 0x10], ebx
jmp 0x10024a97
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x6c], ebx
jne 0x10024a9c
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jle 0x10024a8b
dec dword [ebp - 0x14]
jns 0x10024a86
mov dword [ebp - 0x30], 0xfffffffe
cmp dword [ebp - 0x30], 0xb
jge 0x10024c52
mov dword [ebp - 0x1c], 0x399841b3
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x1c], ebx
jmp 0x10024b7e
push 3
lea ecx, [ebp - 0x130]
call fcn.10008eaf
mov dword [ebp - 0x14], ebx
jmp 0x10024aed
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x130]
mov dword [eax + ecx*4], 0x52ea
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10024ada
mov eax, dword [ebp - 0x130]
cmp dword [eax + 8], ebx
jne 0x10024b4f
mov dword [ebp - 0x14], 6
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
mov eax, dword [ebp - 0x14]
setne cl
xor edx, edx
test ecx, ecx
sets dl
imul eax, edx
test eax, eax
je 0x10024b33
mov eax, esi
cmp dword [ebp - 0x14], ebx
jne 0x10024b35
mov eax, ebx
neg eax
jne 0x10024b3c
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x1c]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x14], eax
jmp 0x10024b70
mov dword [ebp - 0x14], 0xfffffffb
jmp 0x10024b6a
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x10024b67
call dword [sym.imp.KERNEL32.dll_GetVersion]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffffd
jg 0x10024b58
lea ecx, [ebp - 0x130]
call fcn.10009099
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jne 0x10024ac8
mov dword [ebp - 0x24], esi
xor ecx, ecx
mov dword [ebp - 0x14], 6
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
mov esi, dword [ebp - 0x48]
mov edx, dword [ebp - 0x84]
push 0
cmp dword [edx + eax*4], 0x2afd77cc
setl cl
xor eax, eax
cmp ecx, 0xf5f40e13
setne al
xor ecx, ecx
cmp eax, dword [edx + esi*4]
mov eax, dword [ebp - 0x48]
setle cl
add eax, ecx
xor ecx, ecx
cmp eax, 0xffffffff
setle cl
xor edx, edx
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
cmp eax, ecx
setne dl
sub edx, dword [ebp - 0x14]
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x84]
cmp dword [ecx + edx*4], eax
mov eax, dword [ebp - 0x48]
pop ecx
sete cl
xor edx, edx
cmp ecx, eax
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x84]
setge dl
add ecx, edx
xor edx, edx
push 1
cmp dword [eax], ecx
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x84]
setl dl
pop esi
mov dword [eax + ecx*4], edx
xor edx, edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
cmp ecx, eax
setl dl
mov dword [ebp - 0x24], edx
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xb
jl 0x10024ab2
dec dword [ebp - 0x48]
jns 0x10024976
mov eax, dword [ebp - 0x190]
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x24], eax
or dword [ebp - 4], 0xffffffff
call fcn.10009099
mov dword [ebp - 0x10], 0xfc07
mov edx, ebx
mov dword [ebp - 0x38], 0xf6cbcb1a
mov dword [ebp - 0x14], 0x71658a60
mov dword [ebp - 0x34], 0xfffffffc
mov dword [ebp - 0x24], 0xcce0
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
je 0x10024cb1
mov edx, esi
mov eax, dword [ebp - 0x10]
xor ecx, ecx
cmp eax, 0xffffffff
setg cl
xor eax, eax
cmp ecx, edx
setl al
sub eax, 0xa6d8a72
cmp eax, 0xed40
jne 0x10024ce0
mov eax, dword [ebp - 0x10]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x38], eax
jmp 0x10024da0
mov dword [ebp - 0x1c], 9
mov dword [ebp - 0x2c], 0x4225189d
mov dword [ebp - 0x28], 2
mov dword [ebp - 0x20], 0x64f6128b
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x2c], ebx
jne 0x10024d44
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
sub ecx, dword [ebp - 0x10]
je 0x10024d36
mov eax, esi
cmp dword [ebp - 0x34], ebx
jne 0x10024d38
mov eax, ebx
cmp eax, esi
mov ecx, ebx
sbb eax, eax
inc eax
cmp eax, 0xfffffffb
ja 0x10024d46
mov ecx, esi
dec dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
mov eax, dword [ebp - 0x14]
setle dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x28], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
test eax, eax
mov eax, dword [ebp - 0x28]
setg cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x24]
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
imul eax, ecx, 0x5d1b
xor ecx, ecx
cmp eax, 0xfff8
setne cl
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x14], 0x68206240
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x10024db7
push ebx
call dword [sym.imp.KERNEL32.dll_ResumeThread]
mov dword [ebp - 0x14], ebx
jmp 0x10024dd0
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x10024dcd
push ebx
push ebx
call dword [sym.imp.USER32.dll_LoadCursorA]
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffeb
jne 0x10024dbc
push 4
lea ecx, [ebp - 0x60]
call fcn.10008eaf
mov dword [ebp - 4], esi
mov dword [ebp - 0x10], 0x2ba39464
mov dword [ebp - 0x1c], 0x3371247a
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x14], ebx
jmp 0x10024e06
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x60]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x10024df9
mov dword [ebp - 0x10], 3
cmp dword [ebp - 0x10], ebx
jl 0x10024e56
mov dword [ebp - 0x14], 0xfffffff9
mov dword [ebp - 0x14], 3
cmp dword [ebp - 0x14], ebx
jl 0x10024e4a
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x60]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x60]
cmp dword [eax + ecx*4], ebx
jne 0x10024e4a
dec dword [ebp - 0x14]
jns 0x10024e2b
mov dword [ebp - 0x1c], 0x3c0b
dec dword [ebp - 0x10]
jns 0x10024e18
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x10], eax
je 0x10024f80
cmp dword [ebp - 0x10], ebx
jne 0x10024f80
mov dword [ebp - 0x14], 0xffffffff
lea ecx, [ebp - 0x174]
push 2
call fcn.10008eaf
push 2
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 2
call fcn.10008eaf
push 2
mov dword [ebp - 0x24], 0xe056
mov dword [ebp - 0x30], ebx
pop edx
jmp 0x10024ec0
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x174]
mov dword [eax + ecx*4], 0xcfd1f913
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], edx
jl 0x10024ead
mov dword [ebp - 0x30], ebx
jmp 0x10024edd
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x13c]
mov dword [eax + ecx*4], 0x2f470b9c
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], edx
jl 0x10024eca
mov eax, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x14]
cmp dword [ecx + 8], eax
mov ecx, dword [ebp - 0x14]
setge dl
xor eax, eax
cmp edx, esi
setg al
sub ecx, dword [ebp - 0x14]
neg ecx
sbb ecx, ecx
inc ecx
sub ecx, eax
mov eax, dword [ebp - 0x14]
inc eax
add eax, ecx
jne 0x10024f19
cmp dword [ebp - 0x28], ebx
jne 0x10024f19
mov esi, ebx
mov ecx, dword [ebp - 0x28]
xor edx, edx
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
mov eax, dword [ebp - 0x10]
setl dl
xor ecx, ecx
cmp esi, eax
setge cl
xor eax, eax
cmp edx, ecx
setne al
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x1c], ebx
jne 0x10024f4b
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x13c]
neg ecx
sbb ecx, ecx
neg ecx
mov dword [eax], ecx
lea ecx, [ebp - 0x13c]
call fcn.10009099
lea ecx, [ebp - 0x174]
call fcn.10009099
xor esi, esi
inc esi
jmp 0x10025015
mov dword [ebp - 0x34], 0x90ae73
mov dword [ebp - 0x14], 0xf213ed42
mov dword [ebp - 0x24], 0x3ce7
mov dword [ebp - 0x20], 0xfffffff9
cmp dword [ebp - 0x10], ebx
jne 0x10024fa8
mov eax, esi
cmp dword [ebp - 0x34], ebx
jne 0x10024faa
mov eax, ebx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], esi
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x60]
mov eax, dword [eax + 4]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x10], eax
jge 0x10025010
mov eax, dword [ebp - 0x34]
xor ecx, ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
sub edx, 5
cmp edx, eax
setle cl
cmp ecx, esi
sbb edx, edx
xor ecx, ecx
inc edx
sub edx, dword [ebp - 0x24]
add edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x60]
cmp edx, dword [eax + 0xc]
setl cl
mov dword [ebp - 0x14], ecx
imul eax, dword [ebp - 0x14], 3
test eax, eax
je 0x1002500c
cmp dword [ebp - 0x34], ebx
jne 0x10025010
mov eax, ebx
jmp 0x10025012
mov eax, esi
mov dword [ebp - 0x20], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x60]
call fcn.10009099
mov dword [ebp - 0x1c], 0x5d6c05ba
mov dword [ebp - 0x20], 0x2eb9
mov dword [ebp - 0x24], 0xc69aed23
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x10025049
push ebx
push 0xa
push ebx
call dword [sym.imp.ADVAPI32.dll_ControlService]
cmp dword [ebp - 0x20], ebx
je 0x10025057
mov dword [ebp - 0x24], 0xffffc714
jmp 0x1002507a
mov dword [ebp - 0x20], 0x126ff23b
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x10025074
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_HideCaret]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x1c], ebx
jmp 0x1002513c
mov dword [ebp - 0x2c], 0xf0aa6e6f
lea ecx, [ebp - 0xdc]
call fcn.10008eaf
mov dword [ebp - 0x28], ebx
jmp 0x100250b6
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0xdc]
mov dword [eax + ecx*4], 0xb0639e6a
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 2
jl 0x100250a3
cmp dword [ebp - 0x2c], ebx
je 0x1002511e
cmp dword [ebp - 0x1c], ebx
je 0x100250f6
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 4]
cmp edx, 0xffffffff
setne cl
xor eax, eax
cmp ecx, 0x27fa3dfa
setg al
cmp eax, edx
jle 0x100250f6
mov edx, esi
cmp dword [ebp - 0x24], ebx
jne 0x100250f8
mov edx, ebx
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
setle cl
sub ecx, dword [ebp - 0x24]
add ecx, dword [ebp - 0x2c]
cmp ecx, 0xa8fad749
jae 0x10025118
cmp dword [ebp - 0x1c], ebx
jne 0x10025118
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0xdc]
mov eax, dword [ebp - 0xdc]
mov dword [eax + 4], 0x19bd12f8
call fcn.10009099
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x16
push 2
jge 0x1002508c
mov dword [ebp - 0x14], 0x76820624
lea ecx, [ebp - 0x180]
mov dword [ebp - 0x20], 0x5a1fa147
mov dword [ebp - 0x20], 0xffffffff
call fcn.10008eaf
mov dword [ebp - 0x20], 0xffffffff
mov eax, 0xb9ba5e0b
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x10], ebx
jmp 0x100251a2
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xd0], 0xd976ff55
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x10025191
push 2
mov dword [ebp - 0x10], ebx
pop edx
jmp 0x100251c2
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x180]
mov dword [eax + ecx*4], 0xfffffffd
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x100251af
mov dword [ebp - 0x10], ebx
jmp 0x100251dd
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1e4], 0x42b9193c
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x100251cc
mov dword [ebp - 0x14], 0x19
jmp 0x10025203
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x2c], ebx
cmp dword [ebp - 0x2c], ebx
jl 0x10025200
cmp dword [ebp - 0x14], ebx
jne 0x10025200
dec dword [ebp - 0x2c]
jns 0x100251f6
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x13
jne 0x100251eb
inc dword [ebp - 0x110]
lea ecx, [ebp - 0x180]
call fcn.10009099
mov dword [ebp - 0x14], 0xfffffffb
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x20], 0xffffffff
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1c], ebx
jmp 0x10025260
mov dword [ebp - 0x14], ebx
jmp 0x10025257
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x10025251
push ebx
push 0x2089
push ebx
call edi
mov eax, dword [ebp - 0x20]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x2b
jle 0x1002523f
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffff0
jl 0x1002523a
push 3
pop edi
push edi
lea ecx, [ebp - 0xb4]
call fcn.10008eaf
mov dword [ebp - 4], edi
mov edi, dword [sym.imp.USER32.dll_GetDC]
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x34], 8
mov dword [ebp - 0x20], 0x1bb35b68
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x30], 9
mov dword [ebp - 0x14], 0xffffffef
jmp 0x100253ed
mov dword [ebp - 0x1c], 0xbeccce1e
mov dword [ebp - 0x28], ebx
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
je 0x100252be
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
test eax, eax
setg cl
xor eax, eax
cmp eax, ecx
mov eax, dword [ebp - 0x1c]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
setg dl
add edx, 0x8af0
imul eax, edx, 5
test eax, eax
jne 0x100252f3
mov ecx, ebx
cmp dword [ebp - 0x20], ebx
je 0x100252f5
mov ecx, esi
mov eax, dword [ebp - 0x34]
add eax, ecx
xor ecx, ecx
cmp ecx, eax
mov eax, dword [ebp - 0x24]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
setne dl
xor eax, eax
cmp edx, 4
setle al
cmp eax, 0xa5616d21
sbb eax, eax
neg eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
cmp dword [ebp - 0x1c], ecx
jg 0x1002535b
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x28], ebx
jmp 0x1002534a
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x1bc], 0xfffffffc
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 3
jl 0x10025339
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x1b4], eax
jmp 0x100253c7
mov dword [ebp - 0x2c], 0x6daafd55
mov dword [ebp - 0x38], 0x1e07ad46
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x10025387
push 0x20b3
push 0x2423
push 0x1267
call dword [sym.imp.KERNEL32.dll_HeapCreate]
cmp dword [ebp - 0x34], ebx
jg 0x10025393
cmp dword [ebp - 0x28], ebx
jne 0x10025393
mov esi, ebx
mov ecx, dword [ebp - 0x2c]
xor edx, edx
mov eax, dword [ebp - 0x30]
cmp ecx, eax
setge dl
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x1c]
neg eax
sbb eax, eax
neg esi
inc eax
xor edx, edx
cmp eax, esi
mov eax, dword [ebp - 0x2c]
setge dl
xor ecx, ecx
cmp edx, eax
setg cl
xor esi, esi
mov dword [ebp - 0x28], ecx
inc esi
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100253ea
push 0x77f
push 0x1d4d
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call edi
push eax
call dword [sym.imp.GDI32.dll_GetPixel]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x19
jle 0x100252a9
mov dword [ebp - 0x20], 0xfffffffc
lea ecx, [ebp - 0x160]
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x20], 0xb3f4f46d
mov dword [ebp - 0x20], 0x61f66568
mov dword [ebp - 0x20], 0x737a9a97
mov dword [ebp - 0x20], 0xf5f49900
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x20], 0x65e3edfa
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x20], 0xb2aee5a9
push 2
call fcn.10008eaf
mov byte [ebp - 4], 4
lea eax, [ebp - 0x190]
push dword [ebp - 0xd0]
movdqa xmm0, xmmword [0x10007ec0]
lea ecx, [ebp - 0xe8]
mov dword [ebp - 0x20], 0xd1022782
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x20], 0x29694d2b
push eax
mov dword [ebp - 0x20], 0xadb82134
lea eax, [ebp - 0x1a0]
mov dword [ebp - 0x20], ebx
push eax
mov dword [ebp - 0x20], 0xaf9f7c8b
mov dword [ebp - 0x20], 0x32e3ca36
mov dword [ebp - 0x20], 2
push ebx
movdqu xmmword [ebp - 0x1a0], xmm0
mov dword [ebp - 0xe8], ebx
mov dword [ebp - 0xe4], ebx
mov dword [ebp - 0xe0], ebx
call fcn.100094ab
push 2
mov dword [ebp - 0x24], 0xfffffff9
mov dword [ebp - 0x30], ebx
pop edx
jmp 0x100254df
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x118], 0x8bac04ee
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], edx
jl 0x100254ce
mov dword [ebp - 0x30], ebx
jmp 0x100254fc
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x160]
mov dword [eax + ecx*4], 0xedade098
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], edx
jl 0x100254e9
inc dword [ebp - 0x118]
lea ecx, [ebp - 0xe8]
inc dword [ebp - 0x24]
call fcn.10009099
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 3
call fcn.10009099
mov dword [ebp - 0x20], 4
mov dword [ebp - 0x14], 8
mov dword [ebp - 0x14], ebx
jmp 0x10025568
mov dword [ebp - 0x28], 0x2f4a8b10
mov dword [ebp - 0x28], 0xffffffed
jmp 0x1002555f
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1002555c
push 0x263a
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0x12
jg 0x10025547
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jne 0x10025537
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1002557e
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x24], 0xfffffffe
mov dword [ebp - 0x38], 4
mov dword [ebp - 0x2c], 0xd371
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x1c], 0xffffffea
jmp 0x100258c5
mov dword [ebp - 0x14], 0x5ce
lea ecx, [ebp - 0x90]
push esi
call fcn.10008eaf
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x154]
mov dword [ebp - 0x20], 0xfffffff9
mov dword [ebp - 0x28], 0x9d2d10a6
push 2
call fcn.10008eaf
mov dword [ebp - 0x28], 0xc2479274
mov dword [ebp - 0x28], 0xd11537c3
mov dword [ebp - 0x10], ebx
jmp 0x100255f7
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x3c], esi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x100255ed
mov dword [ebp - 0x10], ebx
jmp 0x10025614
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x90]
mov dword [eax + ecx*4], 0x5621
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x10025601
mov dword [ebp - 0x10], ebx
jmp 0x1002562f
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xc0], 0xe9d3b05e
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x1002561e
mov dword [ebp - 0x10], ebx
jmp 0x10025649
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x154]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1002563a
mov eax, dword [ebp - 0x3c]
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
cmp ecx, eax
mov eax, dword [ebp - 0x3c]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x3c]
sete cl
mov dword [ebp - 0x28], ecx
xor ecx, ecx
cmp dword [ebp - 0x28], eax
setg cl
mov dword [ebp - 0x30], ecx
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x3c]
neg ecx
sbb ecx, ecx
neg ecx
sub ecx, eax
mov eax, dword [ebp - 0x14]
imul eax, ecx
sub eax, dword [ebp - 0x1c]
neg eax
sbb eax, eax
inc eax
add eax, 8
je 0x100256a1
cmp dword [ebp - 0x1c], 0xffffffe7
jle 0x100255a8
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100258e9
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call edi
push eax
call dword [sym.imp.GDI32.dll_GetWindowOrgEx]
mov dword [ebp - 0x1c], 0x97eede0b
mov dword [ebp - 0x14], 0x48c66f5a
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], 0xb
jmp 0x10025922
mov dword [ebp - 0x14], ebx
jmp 0x10025919
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], ebx
jne 0x1002591f
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffe4
jne 0x1002590e
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 5
jl 0x10025909
mov dword [ebp - 0x10], ebx
jmp 0x10025940
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xb4]
mov dword [eax + ecx*4], 0x8261f9c2
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x1002592d
mov dword [ebp - 0x10], 0xfffffff8
lea ecx, [ebp - 0x100]
push 3
call fcn.10008eaf
mov dword [ebp - 0x1c], ebx
jmp 0x10025972
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x100]
mov dword [eax + ecx*4], 0xf767
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1002595f
mov dword [ebp - 0x1c], ebx
jmp 0x1002598e