Function at 0x10028f62
Capabilities:
Check os version
Get common file path
Get file system object information
Start service

Disassembly:
mov eax, 0x1005bcee
call fcn.1005a5c0
sub esp, 0x278
push ebx
push esi
xor ebx, ebx
mov dword [ebp - 0x18], 7
push edi
mov dword [ebp - 0x10], esp
or edi, 0xffffffff
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x130], ebx
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], 1
jge 0x10028fa8
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x94], edi
inc dword [ebp - 0x18]
jmp 0x10028f93
mov dword [ebp - 0x18], 3
cmp dword [ebp - 0x18], 5
je 0x1002902a
xor esi, esi
inc esi
push dword [ebp - 0x74]
movdqa xmm0, xmmword [0x100699e0]
lea eax, [ebp - 0x194]
push eax
lea eax, [ebp - 0x1a4]
mov dword [ebp - 0x90], ebx
push eax
push ebx
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x8c], ebx
movdqu xmmword [ebp - 0x1a4], xmm0
mov dword [ebp - 0x88], ebx
call fcn.10014747
mov ecx, dword [ebp - 0x90]
mov dword [ecx + 8], ebx
mov eax, dword [ecx + 8]
inc dword [ecx + 8]
mov dword [ebp + eax*4 - 0x94], 2
cmp dword [ecx + 8], esi
jl 0x10029000
lea ecx, [ebp - 0x90]
call fcn.1000f3c0
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 5
jne 0x10028fb8
mov dword [ebp - 0x2c], ebx
lea ecx, [ebp - 0xac]
mov dword [ebp - 0x120], edi
mov dword [ebp - 0x11c], edi
mov dword [ebp - 0x118], edi
mov dword [ebp - 0x114], edi
mov dword [ebp - 0x2c], 0xfffffff6
mov dword [ebp - 0x2c], 0xb2906c90
mov dword [ebp - 0x2c], 0x9884cb8f
mov dword [ebp - 0x2c], 6
mov dword [ebp - 0x20], 0xff18c9a0
mov eax, dword [ebp - 0x120]
dec eax
neg eax
push 1
sbb eax, eax
inc eax
mov dword [ebp - 0x2c], eax
dec dword [ebp - 0x20]
mov dword [ebp - 0x5c], 0x28008102
mov dword [ebp - 0x58], 0x30051b06
mov dword [ebp - 0x54], 0x3030d04
mov word [ebp - 0x50], 0xe01
call fcn.1000f33d
mov dword [ebp - 0x18], ebx
xor esi, esi
mov dword [ebp - 0x2c], 0xe843631e
inc esi
mov dword [ebp - 0x18], ebx
jmp 0x100290c7
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xac]
mov dword [eax + ecx*4], 0xfffffffe
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x100290b4
mov eax, dword [ebp - 0xac]
mov dword [eax], 0xad6
mov dword [ebp - 0x18], ebx
jmp 0x1002914d
mov dword [ebp - 0x28], ebx
jmp 0x100290f0
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x48], 0x70a77c87
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], esi
jl 0x100290e2
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], bl
je 0x1002910a
push ebx
push 0x119b
push ebx
call dword [sym.imp.ADVAPI32.dll_StartServiceW]
mov dword [ebp - 0x48], ebx
cmp dword [ebp - 0x48], ebx
jl 0x1002914a
mov dword [ebp - 0x2c], 0xe780ca9f
xor edx, edx
mov dword [ebp - 0x30], 3
mov dword [ebp - 0x2c], 0xf3de0369
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xac]
cmp dword [eax + ecx*4], ebx
mov eax, dword [ebp - 0x30]
sete dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x2c], ecx
dec dword [ebp - 0x48]
jns 0x10029112
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jle 0x100290dd
lea ecx, [ebp - 0xac]
call fcn.1000f3c0
push 0x6f
pop eax
push 2
mov word [ebp - 0xd0], ax
pop edi
push 2
lea ecx, [ebp - 0x12c]
call fcn.1000f33d
mov dword [ebp - 0x20], 0x4d8e5ccc
mov dword [ebp - 0x18], ebx
jmp 0x10029196
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x12c]
mov dword [eax + ecx*4], 0xdcec
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10029183
mov dword [ebp - 0x20], esi
cmp dword [ebp - 0x20], ebx
jl 0x100291c8
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], bl
je 0x100291c3
push 0x1dd5
push 0x1350
push ebx
push 0x587
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
dec dword [ebp - 0x20]
jns 0x100291a4
lea ecx, [ebp - 0x12c]
call fcn.1000f3c0
movzx eax, byte [ebp + edi - 0x5e]
movzx edx, byte [ebp + edi - 0x5b]
movzx ecx, word [ebp + eax*2 - 0xd4]
mov eax, edx
and eax, ecx
add eax, eax
sub edx, eax
movzx eax, byte [ebp + edi - 0x5c]
add edx, ecx
add edi, 2
mov word [ebp + eax*2 - 0xd4], dx
cmp edi, 0xe
jb 0x1002916a
mov dword [ebp - 0x18], 0xa8eac8b
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], bl
je 0x1002922b
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_UpdateColors]
mov dword [ebp - 0x18], ebx
jmp 0x10029249
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], bl
je 0x10029246
push ebx
push ebx
push 0x18d7
push ebx
call dword [sym.imp.KERNEL32.dll_VerifyVersionInfoW]
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffe5
jl 0x10029230
xor eax, eax
lea ecx, [ebp - 0xf8]
mov word [ebp - 0xc6], ax
or edi, 0xffffffff
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x18], 0xa9683648
mov dword [ebp - 0x18], 0xb0ae28de
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x20], 5
mov dword [ebp - 0x24], 0xe136dc99
push 4
call fcn.1000f33d
mov dword [ebp - 0x2c], 0xfff7
mov dword [ebp - 0x30], 0xb11de2a9
mov dword [ebp - 0x18], ebx
jmp 0x100292b0
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xf8]
mov dword [eax + ecx*4], 0x2a42
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x1002929d
cmp dword [ebp - 0x28], ebx
jne 0x10029300
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov eax, dword [ebp - 0x28]
cmp eax, 0xffff8532
setne cl
xor edx, edx
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
mov eax, dword [ebp - 0x20]
setne dl
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0x2c]
imul ecx, dword [eax + 8]
sub ecx, 0x74bd
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x30], ecx
lea ecx, [ebp - 0xf8]
call fcn.1000f3c0
xor eax, eax
mov dword [ebp - 0x140], 7
mov word [ebp - 0x154], ax
lea ecx, [ebp - 0x154]
lea eax, [ebp - 0xd4]
mov dword [ebp - 0x144], ebx
push eax
call fcn.1001f29f
mov dword [ebp - 4], ebx
mov eax, ebx
mov dword [ebp - 0x30], ebx
cmp eax, 8
jae 0x1002983b
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x2c], 0x1d691704
mov dword [ebp - 0x20], 2
mov dword [ebp - 0x28], 0x7354
cmp dword [ebp - 0x28], 0x76e0
jle 0x100293f7
push ebx
push 0x218b
push ebx
call dword [sym.imp.ADVAPI32.dll_ControlService]
mov edx, ebx
mov dword [ebp - 0x20], ebx
mov eax, ebx
mov dword [ebp - 0x18], ebx
mov edi, ebx
mov ecx, edi
shl eax, cl
lea ecx, [ebp - 0x1d4]
and eax, edx
cdq
push edx
push eax
call fcn.10001aa4
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100293bd
mov eax, dword [eax]
push eax
call fcn.10043d63
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x1d4]
call fcn.1000fb16
mov eax, dword [ebp - 0x18]
inc edi
mov edx, dword [ebp - 0x20]
cmp edi, 0x20cd
jl 0x1002939f
inc eax
mov dword [ebp - 0x18], eax
cmp eax, 0x34eb
jl 0x1002939d
inc edx
mov dword [ebp - 0x20], edx
cmp edx, 0x7368
jl 0x10029398
mov dword [ebp - 0x24], ebx
jmp 0x1002940d
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x284], 8
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 4
jl 0x100293fc
cmp dword [ebp - 0x28], 0x726f
jge 0x10029427
push str.ubmsvefe_kvpvkgvud_pymfabcb_aogq_jgyqwcvl
call fcn.10043d63
pop ecx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x24], ebx
jmp 0x10029440
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x194], 0x16ffa942
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 4
jl 0x1002942f
mov dword [ebp - 0x28], 0x2d4d
cmp dword [ebp - 0x28], 0x2e12
jle 0x1002949c
mov dword [ebp - 0x20], ebx
mov edi, ebx
mov eax, ebx
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 0x18], eax
and eax, edi
mov ecx, 0x10077318
or eax, ebx
cdq
push edx
push eax
call fcn.1000f05b
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp eax, 0x6a44
jl 0x10029463
inc edi
push 0
pop ebx
cmp edi, 0x1746
jl 0x1002945b
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp eax, 0x531c
jl 0x10029459
mov dword [ebp - 0x24], ebx
jmp 0x100294b2
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x274], 0xa87187d7
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 4
jl 0x100294a1
mov byte [ebp - 4], 3
cmp dword [ebp - 0x28], 0x2c23
jge 0x100294f5
mov edx, str.sfuk_ahygtin_gknu_vkzycnml
mov ecx, 0x10077318
call fcn.10013928
jmp 0x100294f5
mov dword [ebp - 4], ebx
mov dword [ebp - 0x28], ebx
or edi, 0xffffffff
cmp dword [ebp - 0x28], 0xffffffed
jl 0x10029825
mov dword [ebp - 0x18], ebx
jmp 0x10029517
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x6c], edi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1002950d
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x68]
neg eax
je 0x1002952a
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x68]
cmp eax, esi
setle cl
xor edx, edx
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
setge dl
xor eax, eax
cmp edx, dword [ebp - 0x2c]
setge al
xor ecx, ecx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x68]
cmp dword [ebp - 0x2c], eax
mov eax, 0xf394a2a4
setle cl
cmp eax, ecx
sbb eax, eax
neg eax
cmp eax, 0x3cfcb8f
jg 0x1002976e
push 3
lea ecx, [ebp - 0xec]
call fcn.1000f33d
push 3
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 5
call fcn.1000f33d
mov byte [ebp - 4], 6
mov dword [ebp - 0x24], 0x3e9f
cmp dword [ebp - 0x24], 0x4109
jle 0x1002960c
mov ecx, ebx
mov dword [ebp - 0x20], ebx
mov eax, ebx
mov dword [ebp - 0x18], ebx
mov edi, ebx
cdq
idiv edi
lea eax, [ecx + edx]
cdq
lea ecx, [ebp - 0x21c]
push edx
push eax
call fcn.10001aa4
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100295d2
mov eax, dword [eax]
push eax
call fcn.10043d63
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x21c]
call fcn.1000fb16
mov eax, dword [ebp - 0x18]
inc edi
mov ecx, dword [ebp - 0x20]
cmp edi, 0x68d1
jl 0x100295b4
inc eax
mov dword [ebp - 0x18], eax
cmp eax, 0x457d
jl 0x100295b2
inc ecx
mov dword [ebp - 0x20], ecx
cmp ecx, 0x1be3
jl 0x100295ad
cmp dword [ebp - 0x24], 0x3bd2
jge 0x10029620
push str.aqssxkgyz_donv_nqqill
call fcn.10043d63
pop ecx
push 3
mov dword [ebp - 4], 6
mov dword [ebp - 0x24], ebx
pop edx
jmp 0x10029642
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xec]
mov dword [eax + ecx*4], 0x26ed4bca
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edx
jl 0x1002962f
mov dword [ebp - 0x24], ebx
jmp 0x1002965f
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x13c]
mov dword [eax + ecx*4], 0xd7c1543f
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edx
jl 0x1002964c
mov eax, dword [ebp - 0xec]
mov dword [eax + 8], esi
mov dword [ebp - 0x2c], 0xf1ba1372
mov dword [ebp - 0x2c], 0xf6a1241a
inc dword [ebp - 0x190]
dec dword [eax + 8]
jns 0x1002966d
mov dword [ebp - 0x20], 2
cmp dword [ebp - 0x20], ebx
jl 0x10029753
mov byte [ebp - 0x19], bl
mov dword [ebp - 0x24], 0x3238
cmp dword [ebp - 0x24], 0x35fc
jle 0x10029711
push 0x209e
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_RestoreDC]
mov ecx, ebx
mov dword [ebp - 0x18], ebx
mov edi, ebx
mov eax, edi
xor eax, ecx
lea ecx, [ebp - 0x1ec]
cdq
push edx
push eax
call fcn.10001aa4
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100296e5
mov eax, dword [eax]
push eax
call fcn.10043d63
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x1ec]
call fcn.1000fb16
mov ecx, dword [ebp - 0x18]
inc edi
cmp edi, 0x5658
jl 0x100296c9
inc ecx
mov dword [ebp - 0x18], ecx
cmp ecx, 0x666f
jl 0x100296c7
cmp byte [ebp - 0x19], 0
je 0x10029730
push 0x7bb
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
cmp dword [ebp - 0x24], 0x2faf
jge 0x10029744
push str.tvl_vexfdkqrh_rfs_qltqkf_vwsjz_dxeho_zjmqvfwj_msa
call fcn.10043d63
pop ecx
mov dword [ebp - 4], 6
dec dword [ebp - 0x20]
jmp 0x1002968d
lea ecx, [ebp - 0x13c]
call fcn.1000f3c0
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], bl
call fcn.1000f3c0
jmp 0x10029783
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10029783
push 0xd5d
push ebx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
mov dword [ebp - 0x18], 0x6896
cmp dword [ebp - 0x18], 0x6c28
jle 0x100297e8
push ebx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, ebx
mov dword [ebp - 0x20], ebx
mov edi, ebx
mov ecx, edi
shl eax, cl
lea ecx, [ebp - 0x204]
cdq
push edx
push eax
call fcn.10001aa4
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100297bd
mov eax, dword [eax]
push eax
call fcn.10043d63
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x204]
call fcn.1000fb16
mov eax, dword [ebp - 0x20]
inc edi
cmp edi, 0x1b1c
jl 0x100297a1
inc eax
mov dword [ebp - 0x20], eax
cmp eax, 0x316e
jl 0x1002979f
mov byte [ebp - 0x19], bl
cmp dword [ebp - 0x18], 0x67e2
jge 0x100297ff
push str.bzbmd_wek_jtmixse_uitw_dhsmb_cdqbgc_mimmo_poflf_qmxggybge_lytdt_ihpdmgju
call fcn.10043d63
pop ecx
mov dword [ebp - 4], ebx
cmp byte [ebp - 0x19], 0
je 0x1002981d
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetClipBox]
dec dword [ebp - 0x28]
jmp 0x100294fb
mov eax, dword [ebp - 0x30]
xor ecx, ecx
mov word [ebp + eax*2 - 0xd4], cx
inc eax
mov dword [ebp - 0x30], eax
jmp 0x1002935c
push dword [ebp - 0x78]
lea ecx, [ebp - 0x184]
call fcn.1000f170
mov byte [ebp - 4], 0xd
mov dword [ebp - 0x2c], 3
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x18], ebx
jmp 0x1002986a
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x34], 0x20bd2ab
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1002985c
cmp dword [ebp - 0x34], ebx
je 0x100298a7
mov ecx, dword [ebp - 0x34]
xor edx, edx
mov eax, dword [ebp - 0x34]
add ecx, 0x3f02
cmp eax, ecx
mov eax, dword [ebp - 0x34]
setge dl
imul eax, edx
cmp eax, dword [ebp - 0x34]
jge 0x10029899
mov eax, ebx
cmp dword [ebp - 0x34], ebx
je 0x1002989b
mov eax, esi
add eax, 0x5e1f6f08
mov edx, esi
cmp eax, dword [ebp - 0x34]
jg 0x100298a9
mov edx, ebx
mov eax, dword [ebp - 0x34]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x34]
setg cl
xor edx, edx
cmp ecx, 0xfffffff8
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x34]
setg cl
xor edx, edx
cmp ecx, 0x2bb2
setg dl
imul eax, edx
cmp eax, dword [ebp - 0x34]
je 0x10029907
mov dword [ebp - 0x30], 0xfffffffe
mov dword [ebp - 0x18], ebx
jmp 0x100298f5
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x74], 0x2057
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x100298e7
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x2c]
sub ecx, eax
mov dword [ebp - 0x30], ecx
jmp 0x1002995a
mov dword [ebp - 0x2c], 0x89f2
mov dword [ebp - 0x30], 0x2891f433
mov eax, dword [ebp - 0x30]
cmp edi, eax
mov eax, dword [ebp - 0x34]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
mov ecx, 0x218670fc
setg dl
sub ecx, edx
mov edx, dword [ebp - 0x34]
neg ecx
sbb ecx, ecx
sub edx, eax
mov eax, dword [ebp - 0x34]
inc ecx
neg edx
sbb edx, edx
inc edx
imul edx, ecx
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x34]
setl cl
sub ecx, eax
mov eax, dword [ebp - 0x34]
add eax, ecx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x24], 0x837b
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x30], 0xd976ff55
mov dword [ebp - 0x28], 0x51cfd1f2
mov dword [ebp - 0x20], 8
push 2
call fcn.1000f33d
xor edx, edx
mov byte [ebp - 4], 0xe
mov dword [ebp - 0x18], ebx
inc edx
cmp dword [ebp - 0x18], 2
jge 0x100299a4
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xa0]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x18]
jmp 0x1002998d
inc dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x24], eax
jg 0x10029b02
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x142b
jl 0x100299cd
cmp dword [ebp - 0x28], ebx
je 0x100299cd
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
cmp eax, edx
mov eax, 0xfffb
setg cl
cmp eax, ecx
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x24]
jge 0x10029b02
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], edx
jg 0x10029b1a
mov dword [ebp - 0x28], ebx
jmp 0x10029a15
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x1bc], 0x5d9c72
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 2
jl 0x10029a04
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xa0]
cmp dword [eax + ecx*4], ebx
jne 0x10029b1a
mov dword [ebp - 0x28], ebx
cmp dword [ebp - 0x28], edx
jg 0x10029afa
inc dword [ebp - 0x18]
mov dword [ebp - 0x20], edx
cmp dword [ebp - 0x20], ebx
jl 0x10029af2
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], edx
jg 0x10029aea
mov dword [ebp - 0x2c], 0x4df
cmp dword [ebp - 0x2c], 0x57e
jle 0x10029ab6
xor esi, esi
mov edi, ebx
inc esi
mov eax, ebx
mov dword [ebp - 0x30], ebx
or eax, edi
lea ecx, [ebp - 0x234]
cdq
push edx
push eax
call fcn.10001aa4
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10029a88
mov eax, dword [eax]
push eax
call fcn.10043d63
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x234]
call fcn.1000fb16
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
cmp eax, 0x410b
jl 0x10029a6e
inc edi
cmp edi, 0x5ca8
jl 0x10029a69
xor edx, edx
inc edx
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xa0]
cmp dword [eax + ecx*4], ebx
jne 0x10029aea
cmp dword [ebp - 0x2c], 0x3b2
jge 0x10029ad8
push str.elkoa_vvkzmq_hszfiihv_ezbcaupb_fynto_yyxllv_cdeiyuzd
call fcn.10043d63
pop ecx
mov dword [ebp - 4], 0xe
xor edx, edx
inc dword [ebp - 0x18]
inc edx
jmp 0x10029a4b
dec dword [ebp - 0x20]
jmp 0x10029a3f
inc dword [ebp - 0x28]
jmp 0x10029a30
inc dword [ebp - 0x24]
jmp 0x100299f6
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10029b1d
push ebx
push 0x218b
push ebx
call dword [sym.imp.ADVAPI32.dll_ControlService]
jmp 0x10029b1d
or edi, 0xffffffff
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10029b30
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_EnumCalendarInfoW]
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0xd
call fcn.1000f3c0
mov dword [ebp - 0x2c], 0x345
cmp dword [ebp - 0x2c], 0x6db
jle 0x10029b9a
push 0x2487
call dword [sym.imp.GDI32.dll_GetStockObject]
mov esi, ebx
mov edi, ebx
mov ebx, 0xff
mov eax, edi
mov ecx, 0x10077318
cdq
push edx
push eax
call fcn.1000f05b
add edi, esi
dec ebx
jne 0x10029b63
inc esi
cmp esi, 0x3667
jl 0x10029b5c
push 0x31a
push 0x574
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetWindowLongA]
or edi, 0xffffffff
mov dword [ebp - 0x28], 0xd6c05baf
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x2c], 0x6b
jge 0x10029bdb
mov edx, str.gbggixqup_ecy_vwjj_kxqrqdghd_meedgw_tpgg_hds
mov ecx, 0x10077318
call fcn.10013928
jmp 0x10029bdb
mov dword [ebp - 4], 0xd
mov dword [ebp - 0x28], ebx
jmp 0x10029c1c
mov dword [ebp - 0x18], 0xeede0b40
mov dword [ebp - 0x18], 0xa
jmp 0x10029c13
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x20], ebx
jmp 0x10029c0a
mov dword [ebp - 0x2c], ebx
cmp dword [ebp - 0x2c], ebx
jne 0x10029c10
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xffffffef
jge 0x10029bff
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffe3
jne 0x10029bf7
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 5
jge 0x10029be7
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x2c], 0x2f92e6c0
mov dword [ebp - 0x20], ebx
jmp 0x10029c42
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x38], 0x24f0
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 1
jl 0x10029c34
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10029c57
call dword [sym.imp.USER32.dll_GetDoubleClickTime]
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], ebx
jl 0x10029dd0
mov dword [ebp - 0x30], 0x773672d7
mov eax, dword [ebp - 0x24]
cmp dword [ebp + eax*4 - 0x38], ebx
jne 0x10029dd0
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp + eax*4 - 0x38]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp + eax*4 - 0x38]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp + eax*4 - 0x38]
cmp eax, dword [ebp - 0x30]
jle 0x10029dba
mov dword [ebp - 0x28], 0x326874be
mov dword [ebp - 0x20], 0x448e
cmp dword [ebp - 0x20], 0x461d
jle 0x10029d04
xor esi, esi
mov edi, ebx
inc esi
mov ecx, ebx
mov dword [ebp - 0x2c], ebx
mov eax, edi
sar eax, cl
lea ecx, [ebp - 0x264]
cdq
push edx
push eax
call fcn.10001aa4
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10029cd8
mov eax, dword [eax]
push eax
call fcn.10043d63
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x264]
call fcn.1000fb16
mov ecx, dword [ebp - 0x2c]
inc ecx
mov dword [ebp - 0x2c], ecx
cmp ecx, 0x16de
jl 0x10029cbc
inc edi
cmp edi, 0x70b1
jl 0x10029cb7
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
cmp dword [ebp + eax*4 - 0x38], 6
jae 0x10029d21
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp + eax*4 - 0x38]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x28]
xor edx, edx
mov eax, dword [ebp - 0x38]
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setne dl
xor ecx, ecx
cmp edx, eax
setne cl
imul ecx, dword [ebp - 0x28]
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x20], 0x425e
jge 0x10029d53
push str.rkykww_nfllxu_atqpiusul_zygfvj_huwnsq_xds_comzvmk_jbysqvuac
call fcn.10043d63
pop ecx
mov dword [ebp - 4], 0xd
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], ebx
jl 0x10029dc8
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp + eax*4 - 0x38]
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x38], ecx
mov dword [ebp - 0x28], ebx
jmp 0x10029dae
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10029d84
call dword [sym.imp.USER32.dll_CreateMenu]
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10029dab
push 0xdde
push 0x4e7
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_LineTo]
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ebx
jle 0x10029d75
dec dword [ebp - 0x18]
jns 0x10029d62
jmp 0x10029dc8
mov dword [ebp - 0x2c], 0xfffffff6
mov dword [ebp - 0x2c], 1
dec dword [ebp - 0x24]
jmp 0x10029c5a
push 0x5c
pop eax
mov byte [ebp - 0x64], bl
mov byte [ebp - 0x63], 0xaf
mov word [ebp - 0x60], ax
mov dword [ebp - 0x2c], 0x8ad
cmp dword [ebp - 0x2c], 0x9d3
jle 0x10029e15
mov esi, ebx
mov edi, ebx
mov eax, edi
mov ecx, 0x10077318
or eax, esi
cdq
push edx
push eax
call fcn.1000f05b
inc edi
cmp edi, 0x192c
jl 0x10029df2
inc esi
cmp esi, 0x6e45
jl 0x10029df0
mov byte [ebp - 4], 0x15
cmp dword [ebp - 0x2c], 0x7e6
jge 0x10029e4f
mov edx, str.vzpfsdxzm_dvuxsr_ojorupr_ncjisubin_lfid_thyzeff
mov ecx, 0x10077318
call fcn.10013928
jmp 0x10029e4f
mov dword [ebp - 4], 0xd
lea ecx, [ebp - 0xc4]
xor eax, eax
mov dword [ebp - 0xb0], 7
mov word [ebp - 0x5e], ax
xor esi, esi
mov word [ebp - 0xc4], ax
inc esi
lea eax, [ebp - 0x60]
mov dword [ebp - 0xb4], ebx
push eax
call fcn.1001f29f
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x104]
push 3
mov dword [ebp - 0x60], ebx
call fcn.1000f33d
push 3
mov byte [ebp - 4], 0x18
pop edx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x24], ebx
jmp 0x10029eb6
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x4c], 0xfffd
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jl 0x10029ea8
mov dword [ebp - 0x24], ebx
jmp 0x10029ed3
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x104]
mov dword [eax + ecx*4], 4
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edx
jl 0x10029ec0
mov edi, dword [ebp - 0x104]
mov dword [edi + 4], ebx
mov dword [ebp - 0x18], 0x772304b2
mov dword [ebp - 0x2c], 0xb4448110
mov dword [ebp - 0x2c], 0xe072305a
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], ebx
jl 0x10029fea
push 2
lea ecx, [ebp - 0x84]
call fcn.1000f33d
mov dword [ebp - 0x20], ebx
jmp 0x10029f27
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x84]
mov dword [eax + ecx*4], 0x272a7275
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jl 0x10029f14
mov eax, dword [ebp - 0x84]
mov dword [eax], ebx
mov eax, dword [edi + 4]
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x4c]
imul eax, dword [edi + 4], 9
cmp dword [edi + 4], eax
mov eax, dword [ebp - 0x4c]
setne dl
imul edx, eax
mov eax, dword [ebp - 0x18]
imul eax, edx
test eax, eax
jne 0x10029f5f
mov edx, ebx
cmp dword [edi + 4], ebx
je 0x10029f61
mov edx, esi
mov eax, dword [ebp - 0x30]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x18]
setge cl
sub ecx, 0x312488a8
cmp ecx, 0xffff
sbb edx, edx
xor ecx, ecx
neg edx
sub edx, dword [edi + 4]
cmp edx, eax
mov eax, dword [ebp - 0x84]
setle cl
add ecx, dword [eax]
je 0x10029f99
mov ecx, esi
cmp dword [ebp - 0x18], ebx
jne 0x10029f9b
mov ecx, ebx
xor eax, eax
cmp ecx, dword [edi + 4]
setle al
xor ecx, ecx
mov dword [ebp - 0x2c], eax
mov eax, dword [edi + 4]
mov edx, dword [ebp + eax*4 - 0x4c]
mov eax, dword [ebp - 0x2c]
cmp eax, 7
setg cl
xor eax, eax
cmp ecx, edx
setg al
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x84]
dec dword [eax]
jns 0x10029f35
lea ecx, [ebp - 0x84]
mov dword [eax], 0x43657218
call fcn.1000f3c0
dec dword [ebp - 0x18]
jns 0x10029f02
mov eax, dword [edi + 4]
cmp dword [ebp + eax*4 - 0x4c], ebx
jne 0x1002a000
inc dword [edi + 4]
cmp dword [edi + 4], 0
jle 0x10029ee1
lea ecx, [ebp - 0x104]
mov byte [ebp - 4], 0x17
call fcn.1000f3c0
push 0x5f
pop eax
push 2
mov byte [ebp - 0x40], bl
mov ecx, ebx
mov dword [ebp - 0x3f], 0x3ed50233
mov word [ebp - 0x44], ax
pop edi
cmp edi, 2
jne 0x1002a031
push 3
pop ecx
push ecx
pop edi
jmp 0x1002a058
movzx edx, byte [ebp + edi - 0x3f]
mov eax, edi
sub eax, ecx
movzx eax, byte [ebp + eax - 0x42]
movzx eax, word [ebp + eax*2 - 0x44]
mov ecx, eax
and eax, edx
or ecx, edx
sub ecx, eax
movzx eax, byte [ebp + edi - 0x40]
mov word [ebp + eax*2 - 0x44], cx
mov ecx, ebx
add edi, 2
cmp edi, 5
jb 0x1002a025
xor eax, eax
lea ecx, [ebp - 0xe0]
push esi
mov word [ebp - 0x42], ax
call fcn.1000f33d
mov dword [ebp - 0x18], 0xfffffffa
or edi, 0xffffffff
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x20], ebx
jmp 0x1002a097
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xe0]
mov dword [eax + ecx*4], 0x6192
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x1002a084
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], ebx
jl 0x1002a0e7
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x1002a0b4
push ebx
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x1002a0e2
push 0x141e
push ebx
push 0x78b
push 0x2259
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetCharacterPlacementW]
dec dword [ebp - 0x18]
jns 0x1002a0a4
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
dec edx
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
mov eax, dword [ebp - 0x28]
setl cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x28]
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x28]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0xe0]
setne dl
xor ecx, ecx
cmp edx, dword [eax]
setg cl
mov dword [ebp - 0x18], ecx
lea ecx, [ebp - 0xe0]
call fcn.1000f3c0
xor eax, eax
mov dword [ebp - 0x158], 7
mov word [ebp - 0x16c], ax
lea ecx, [ebp - 0x16c]
lea eax, [ebp - 0x44]
mov dword [ebp - 0x15c], ebx
push eax
call fcn.1001f29f
mov byte [ebp - 4], 0x19
mov dword [ebp - 0x30], 0x2e60
cmp dword [ebp - 0x30], 0x2fc6
jle 0x1002a218
push ebx
push 0x18c8
push ebx
push 0x1705
push 0x405
push ebx
push 0x1889
call dword [sym.imp.KERNEL32.dll_FormatMessageW]
mov ecx, ebx
mov dword [ebp - 0x20], ebx
mov eax, ebx
mov dword [ebp - 0x18], ebx
mov edi, ebx
mov dword [ebp - 0x2c], ebx
cdq
idiv edi
mov dword [ebp - 0x28], ebx
mov edi, ebx
xor edx, ecx
mov dword [ebp - 0x24], edx
mov eax, edi
lea ecx, [ebp - 0x24c]
or eax, edx
cdq
push edx
push eax
call fcn.10001aa4
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1002a1c9
mov eax, dword [eax]
push eax
call fcn.10043d63
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x24c]
call fcn.1000fb16
mov edx, dword [ebp - 0x24]
inc edi
cmp edi, 0x1666
jl 0x1002a1ad
mov edi, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
inc edi
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x2c], edi
cmp edi, 0x30a4
jl 0x1002a1a0
inc eax
mov dword [ebp - 0x18], eax
cmp eax, 0x28a6
jl 0x1002a19b
inc ecx
mov dword [ebp - 0x20], ecx
cmp ecx, 0x418a
jl 0x1002a196
or edi, 0xffffffff
cmp dword [ebp - 0x30], 0x2cac
jge 0x1002a22c
push str.fkjwue_cbplmlitd_qkygkrw_zemm_byocl_owhawdxq_havxa_dlgi_fwsgjx
call fcn.10043d63
pop ecx
mov dword [ebp - 4], 0x19
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x28], 0x1a
jmp 0x1002a287
mov dword [ebp - 0x18], 0xfffffffd
mov dword [ebp - 0x20], ebx
jmp 0x1002a258
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x1b4], ebx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
jl 0x1002a24b
mov dword [ebp - 0x18], ebx
jmp 0x1002a27e
mov dword [ebp - 0x2c], ebx
cmp dword [ebp - 0x2c], ebx
jne 0x1002a284
mov ecx, dword [ebp - 0x1a8]
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1b4], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jle 0x1002a263
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jne 0x1002a23f
mov dword [ebp - 0x44], ebx
push dword [ebp - 0xb4]
cmp dword [ebp - 0xb0], 8
lea eax, [ebp - 0xc4]
push ebx
cmovae eax, dword [ebp - 0xc4]
lea ecx, [ebp - 0x184]
push eax
call fcn.10024b0e
cmp eax, edi
je 0x1002a2d2
push edi
push ebx
lea ecx, [ebp - 0x16c]
push ecx
push esi
push eax
lea ecx, [ebp - 0x184]
call fcn.1001437f
jmp 0x1002a28f
mov dword [ebp - 0x2c], edi
lea ecx, [ebp - 0x110]
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x18], 0xd95e17ca
push 3
call fcn.1000f33d
push 3
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x20], ebx
pop edx
jmp 0x1002a30a
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x110]
mov dword [eax + ecx*4], 0x390197f0
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edx
jl 0x1002a2f7
dec dword [ebp - 0x2c]
mov dword [ebp - 0x18], ebx
jmp 0x1002a32a
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x110]
mov dword [eax + ecx*4], 0x77b69c93
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1002a317
lea ecx, [ebp - 0x110]
call fcn.1000f3c0
mov ecx, dword [ebp - 0x70]
lea eax, [ebp - 0x184]
push eax
lea edx, [ebp - 0x154]
call fcn.1002a53c
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x16c]
call fcn.1000fe44
push ebx
push esi
lea ecx, [ebp - 0xc4]
call fcn.1000fe44
push ebx
push esi
lea ecx, [ebp - 0x184]
call fcn.1000fe44
push ebx
push esi
lea ecx, [ebp - 0x154]
call fcn.1000fe44
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x70]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret