Function at 0x10017e68
Capabilities:
Get disk information
Resolve function by parsing pe exports
Start service

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10081f22
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1b0
mov dword [esp], 0xa87013dc
mov dword [esp + 0xc], 0xf6f08421
mov dword [esp + 0xc], 0xfffffff9
push ebx
mov dword [esp + 0x10], 0xd594d035
xor ebx, ebx
mov dword [esp + 0x10], 0xfffffff7
push esi
mov dword [esp + 0x14], 0x39d6b9c2
push edi
mov dword [esp + 0x70], edx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0xc], ebx
jmp 0x10017ed7
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x34], ebx
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 1
jl 0x10017ecb
push 0xffffffffffffffff
mov dword [esp + 0x10], 0xd7f825e
mov dword [esp + 0x10], ebx
pop edi
jmp 0x10017f4b
mov dword [esp + 0x10], 0xfc0272a
mov dword [esp + 0x10], ebx
jmp 0x10017f10
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x188], 0xf3d4e677
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x10017efd
mov dword [esp + 0x10], ebx
jmp 0x10017f41
mov dword [esp + 0x18], 0xfffffffd
mov dword [esp + 0x18], edi
mov dword [esp + 0x18], 0x3f0244c3
mov dword [esp + 0x20], 0x81ec
inc dword [esp + 0x20]
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jle 0x10017f1d
inc dword [esp + 0xc]
cmp dword [esp + 0xc], ebx
jle 0x10017eef
push dword [esp + 0x34]
movdqa xmm0, xmmword [0x10007ab0]
lea eax, [esp + 0x164]
push eax
lea eax, [esp + 0x158]
mov dword [esp + 0x24], edi
push eax
mov dword [esp + 0x24], 0x2961c0f8
lea ecx, [esp + 0x90]
mov dword [esp + 0x1c], 0x5b9b55bb
push ebx
movdqu xmmword [esp + 0x160], xmm0
mov dword [esp + 0x94], ebx
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], ebx
call fcn.1001755b
mov dword [esp + 0x1c4], ebx
mov dword [esp + 0xc], ebx
jmp 0x10017fcc
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x1a8], 1
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 4
jl 0x10017fb9
mov dword [esp + 0x10], 0xe
jmp 0x100180de
push dword [esp + 0x34]
movdqa xmm0, xmmword [0x10007af0]
lea eax, [esp + 0x154]
push eax
lea eax, [esp + 0x148]
mov dword [esp + 0x80], ebx
push eax
push ebx
lea ecx, [esp + 0x88]
mov dword [esp + 0x8c], ebx
movdqu xmmword [esp + 0x150], xmm0
mov dword [esp + 0x90], ebx
call fcn.1001755b
mov byte [esp + 0x1c4], 1
lea ecx, [esp + 0x118]
mov dword [esp + 0x18], edi
mov dword [esp + 0x18], 0xcd16652d
push 4
call fcn.10015f8b
mov dword [esp + 0x18], 4
mov dword [esp + 0xc], ebx
jmp 0x1001806d
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x118]
mov dword [eax + ecx*4], 1
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 4
jl 0x10018057
mov ecx, dword [esp + 0x78]
push 3
pop edx
mov dword [ecx + 8], edx
mov dword [esp + 0x18], 0x5e81a7ec
mov dword [esp + 0x18], edi
mov dword [esp + 0x18], 4
mov dword [esp + 0x20], 0xc321a078
mov dword [esp + 0xc], ebx
jmp 0x100180af
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x19c], edi
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edx
jl 0x100180a0
dec dword [esp + 0x20]
dec dword [ecx + 8]
jns 0x1001807e
lea ecx, [esp + 0x118]
call fcn.100167e6
lea ecx, [esp + 0x78]
mov byte [esp + 0x1c4], bl
call fcn.100167e6
dec dword [esp + 0x10]
cmp dword [esp + 0x10], 0xffffffe4
jge 0x10017fe0
lea ecx, [esp + 0x84]
mov dword [esp + 0x1c4], edi
call fcn.100167e6
push dword [esp + 0x34]
lea eax, [esp + 0x144]
mov dword [esp + 0x1c], 0x7b5ca986
push eax
lea eax, [esp + 0x138]
mov dword [esp + 0x4c], ebx
push eax
xorps xmm0, xmm0
mov dword [esp + 0x54], ebx
push ebx
lea ecx, [esp + 0x54]
mov dword [esp + 0x5c], ebx
movdqu xmmword [esp + 0x140], xmm0
call fcn.1001755b
push 3
mov dword [esp + 0x14], 0xfffffffa
pop esi
mov dword [esp + 0x10], esi
cmp dword [esp + 0x10], ebx
jl 0x100181e0
mov edx, dword [esp + 0x44]
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], 0xe26c12a7
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
imul eax, dword [edx + 8], 0x23dc
test eax, eax
je 0x1001817e
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x44]
mov eax, dword [ecx + eax*4]
cmp eax, dword [edx + 8]
je 0x10018197
cmp dword [ecx + 0xc], ebx
jne 0x10018197
mov edi, ebx
jmp 0x1001819a
xor edi, edi
inc edi
mov esi, dword [esp + 0x10]
xor edx, edx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x44]
cmp dword [ecx + eax*4], edi
setl dl
xor eax, eax
cmp dword [ecx + esi*4], edx
setne al
mov dword [esp + 0x24], eax
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x100181d0
push 0x19a9
call dword [sym.imp.USER32.dll_GetSystemMetrics]
dec dword [esp + 0x10]
mov edx, dword [esp + 0x28]
jns 0x1001815b
push 3
pop esi
or edi, 0xffffffff
lea ecx, [esp + 0x44]
call fcn.100167e6
mov dword [esp + 0x18], 0x185a1fa1
mov dword [esp + 0xc], 0xa32b1cec
mov dword [esp + 0xc], ebx
jmp 0x1001820e
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x178], edi
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 4
jl 0x100181ff
mov dword [esp + 0xc], esi
cmp dword [esp + 0xc], ebx
jl 0x10018244
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10018233
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_UnionRect]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + eax*4 + 0x178]
dec dword [esp + 0xc]
jns 0x1001821f
mov dword [esp + 0x18], 0x39e3cf95
mov eax, 0xbdde
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0x1c], 0xe56f9b2c
mov dword [esp + 0x10], edi
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov dword [esp + 0x1c], esi
cmp dword [esp + 0x1c], ebx
jl 0x100183f5
mov dword [esp + 0xc], ebx
lea ecx, [esp + 0x50]
push 4
call fcn.10015f8b
mov dword [esp + 0x1c4], 2
mov dword [esp + 0x10], ebx
jmp 0x100182c0
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x50]
mov dword [eax + ecx*4], 0xfffffff9
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 4
jl 0x100182ad
mov esi, dword [esp + 0x50]
mov eax, dword [esi + 4]
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10], ebx
je 0x1001831a
mov eax, dword [esp + 0xb4]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0xc]
sub ecx, dword [eax + 0xc]
mov eax, dword [esp + 0x10]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, 0xfffffffb
setge dl
add edx, 0xd7370007
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
add eax, edx
cmp eax, dword [esi + 4]
setne cl
cmp dword [esp + 0xc], ecx
jle 0x1001831e
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xb4]
push 3
cmp dword [esp + 0x10], ebx
jle 0x1001839c
lea ecx, [esp + 0x104]
call fcn.10015f8b
mov dword [esp + 0xc], ebx
jmp 0x10018355
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x100]
mov dword [eax + ecx*4], 6
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x1001833f
mov eax, dword [esp + 0x100]
mov dword [eax + 8], 0x20b2455f
mov dword [esp + 0x10], ebx
jmp 0x10018387
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10018383
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jle 0x10018370
lea ecx, [esp + 0x100]
call fcn.100167e6
jmp 0x100183da
mov dword [esp + 0x10], ebx
pop esi
jmp 0x100183d4
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x50]
cmp dword [eax + ecx*4], ebx
jne 0x100183da
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x100183d0
push 0x7a2
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_RestoreDC]
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jle 0x100183a3
or dword [esp + 0x1c4], 0xffffffff
lea ecx, [esp + 0x50]
call fcn.100167e6
dec dword [esp + 0x1c]
jns 0x1001828d
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x10c]
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], ebx
mov dword [esp + 0x18], 0xffffffff
push 4
call fcn.10015f8b
push 3
pop ecx
mov dword [esp + 0x1c4], ecx
mov dword [esp + 0xc], 0xe64f1479
mov dword [esp + 0x20], 0xfffffffc
mov dword [esp + 0x20], ebx
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x24], ebx
mov dword [esp + 0x10], ebx
jmp 0x1001845a
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x16c], 0xc37fc054
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ecx
jl 0x10018447
cmp dword [esp + 0xc], ebx
je 0x1001849a
mov eax, dword [esp + 0xc]
sub eax, dword [esp + 0xc]
neg eax
sbb eax, eax
inc eax
add eax, dword [esp + 0xc]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
sub eax, 0xa31e
neg eax
sbb eax, eax
inc eax
shl eax, 2
cmp dword [esp + 0xc], eax
jl 0x10018496
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
xor edx, edx
mov eax, dword [esp + 0xc]
cmp ecx, eax
setle dl
add edx, 0xeccc
mov dword [esp + 0x20], edx
xor edx, edx
mov eax, dword [esp + 0x20]
cmp eax, 6
mov dword [esp + 0x170], eax
mov eax, dword [esp + 0xc]
setl dl
xor ecx, ecx
cmp edx, eax
setge cl
xor edx, edx
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x20]
mov dword [esp + 0x24], eax
mov dword [esp + 0xc], ebx
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp ecx, eax
setg dl
mov dword [esp + 0xc], edx
mov dword [esp + 0xc], 0x1c
jmp 0x10018515
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10018511
push ebx
push ebx
call dword [sym.imp.USER32.dll_LoadCursorA]
dec dword [esp + 0xc]
cmp dword [esp + 0xc], 0xfffffffb
jg 0x100184fe
mov dword [esp + 0x2c], ebx
jmp 0x10018531
mov eax, dword [esp + 0x2c]
mov dword [esp + eax*4 + 0x190], ebx
inc dword [esp + 0x2c]
cmp dword [esp + 0x2c], 3
jl 0x10018522
push ebx
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x114]
push eax
push 0x50a7
call fcn.100193f7
add esp, 0x10
lea ecx, [esp + 0xe8]
push 4
call fcn.10015f8b
mov dword [esp + 0x18], 0x5af8b513
mov dword [esp + 0x10], ebx
jmp 0x10018582
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x160], 0xfffffffe
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x1001856f
mov dword [esp + 0x10], ebx
jmp 0x100185a5
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xe8]
mov dword [eax + ecx*4], 0xe83c773
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 4
jl 0x1001858f
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x100185c7
push ebx
push ebx
push 0x1911
call edi
push eax
call dword [sym.imp.USER32.dll_GetDlgItemInt]
mov esi, dword [esp + 0xe8]
mov dword [esi + 0xc], ebx
mov dword [esp + 0x1c], 0xfffffff6
mov dword [esp + 0x24], 3
mov dword [esp + 0xc], ebx
jmp 0x100185f7
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x40], 0xa92bd42c
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 1
jl 0x100185e7
mov dword [esp + 0x1c], 2
cmp dword [esp + 0x1c], ebx
jl 0x10018662
mov eax, dword [esi + 0xc]
cmp dword [esp + eax*4 + 0x160], ebx
mov byte [esp + 0x17], bl
je 0x1001862f
cmp byte [esp + 0x17], 0
je 0x10018629
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
mov dword [esp + 0x24], ebx
jmp 0x10018640
cmp byte [esp + 0x17], 0
je 0x10018640
push ebx
call edi
push eax
call dword [sym.imp.USER32.dll_KillTimer]
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1001865c
push ebx
push 0x842
push 0x231
call dword [sym.imp.GDI32.dll_CreatePen]
dec dword [esp + 0x1c]
jns 0x1001860c
dec dword [esp + 0x40]
inc dword [esi + 0xc]
cmp dword [esi + 0xc], 2
jle 0x100185d1
lea ecx, [esp + 0xe8]
call fcn.100167e6
mov dword [esp + 0x1c], 0x10
cmp dword [esp + 0x1c], 0x12
jge 0x10018af6
push 2
pop esi
mov dword [esp + 0x18], 0xa3cc92ea
lea ecx, [esp + 0xc4]
mov dword [esp + 0x10], 0xe1c2e937
mov dword [esp + 0x30], 0x43af7806
push esi
call fcn.10015f8b
mov byte [esp + 0x1c4], 4
mov dword [esp + 0x10], ebx
jmp 0x100186d8
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x60], 0x69fdf99f
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x100186c8
mov dword [esp + 0x10], ebx
jmp 0x100186fb
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xc4]
mov dword [eax + ecx*4], 0x15bb0028
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x100186e5
mov dword [esp + 0x60], ebx
jmp 0x10018814
mov dword [esp + 0xc], 0x96a485bf
lea ecx, [esp + 0x9c]
mov dword [esp + 0x10], 0xc32b96ce
mov dword [esp + 0x28], 0xc863cc1d
push 3
call fcn.10015f8b
mov dword [esp + 0x28], 0x312e
mov dword [esp + 0x20], 0x1bd4
mov dword [esp + 0x24], 0x4d7d9c74
mov dword [esp + 0x10], ebx
jmp 0x10018764
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x9c]
mov dword [eax + ecx*4], 0xe0d1b713
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x1001874e
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0xc4]
mov dword [eax], ecx
xor ecx, ecx
mov eax, dword [esp + 0x9c]
cmp dword [eax], 1
setl cl
xor edx, edx
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x20]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x28]
cmp ecx, eax
mov eax, dword [esp + 0x10]
sete dl
inc dword [esp + 0x20]
cmp eax, edx
jle 0x100187b7
xor eax, eax
inc eax
jmp 0x100187b9
mov eax, ebx
xor ecx, ecx
cmp eax, 0xfffffff7
mov eax, dword [esp + 0x9c]
sete cl
xor edx, edx
mov dword [esp + 0x28], ecx
mov dword [eax], ecx
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp ecx, eax
setle dl
imul edx, dword [esp + 0x28]
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x28]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cmp dword [esp + 0x30], ebx
jne 0x100187fc
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x9c]
mov dword [esp + 0x24], eax
call fcn.100167e6
dec dword [esp + 0x60]
cmp dword [esp + 0x60], 0xfffffffb
jle 0x1001870a
lea ecx, [esp + 0xc4]
mov byte [esp + 0x1c4], 3
call fcn.100167e6
push esi
lea ecx, [esp + 0x94]
call fcn.10015f8b
mov byte [esp + 0x1c4], 5
mov dword [esp + 0x10], ebx
jmp 0x1001885e
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x6c], 0x4a8c6a53
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 1
jl 0x1001884e
mov dword [esp + 0x10], ebx
jmp 0x1001887b
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x38], 3
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x1001886b
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10018896
push ebx
call edi
push eax
call dword [sym.imp.USER32.dll_ValidateRect]
mov dword [esp + 0x3c], ebx
jmp 0x100188ac
mov eax, dword [esp + 0x3c]
mov dword [esp + eax*4 + 0x6c], 0x1d69f428
inc dword [esp + 0x3c]
cmp dword [esp + 0x3c], 1
jl 0x1001889c
lea eax, [esp + 0x12c]
push eax
push ebx
lea eax, [esp + 0x98]
push eax
push 0x34f8
call fcn.1001b7d2
add esp, 0x10
mov dword [esp + 0x24], 7
lea ecx, [esp + 0xb8]
push esi
call fcn.10015f8b
mov dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x18], 3
mov dword [esp + 0x20], 4
mov dword [esp + 0x74], ebx
mov dword [esp + 0xc], 0x31137833
mov dword [esp + 0x30], 0x10cb4e34
mov dword [esp + 0x18], 0x2f2aa787
mov dword [esp + 0x10], 0xffffffff
mov dword [esp + 0x10], ebx
jmp 0x1001893e
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xb8]
mov dword [eax + ecx*4], 0x6887e08
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x10018928
mov dword [esp + 0x10], ebx
jmp 0x1001895d
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x124], 0xffffffff
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x1001894a
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x30]
sub eax, dword [esp + 0x20]
mov edx, dword [esp + 0xb8]
neg eax
sbb eax, eax
inc eax
cmp eax, dword [edx + 4]
je 0x10018990
cmp dword [esp + 0x74], ebx
je 0x1001898c
cmp dword [esp + 0x24], ebx
jne 0x10018990
mov ecx, ebx
jmp 0x10018993
xor ecx, ecx
inc ecx
dec dword [esp + 0xc]
mov eax, dword [esp + 0xc]
sub eax, ecx
mov dword [edx + 4], ecx
xor ecx, ecx
cmp eax, 0x35d5
setge cl
add ecx, dword [esp + 0x18]
imul ecx, dword [esp + 0x20]
sub ecx, dword [esp + 0x20]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [esp + 0x124], ecx
xor ecx, ecx
mov eax, dword [esp + 0x28]
cmp eax, 1
setg cl
cmp ecx, dword [esp + 0x28]
je 0x100189e0
cmp dword [esp + 0x20], ebx
je 0x100189e0
xor eax, eax
inc eax
jmp 0x100189e2
mov eax, ebx
mov dword [esp + 0x10], eax
lea ecx, [esp + 0xb8]
call fcn.100167e6
mov dword [esp + 0xc], 1
mov dword [esp + 0x18], 0x4709ba87
mov dword [esp + 0x18], 0x1054d814
mov dword [esp + 0xc], ebx
jmp 0x10018a23
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0xdc], 7
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x10018a10
mov dword [esp + 0xc], ebx
jmp 0x10018aa8
mov dword [esp + 0x10], 0x45db34e6
mov dword [esp + 0x18], 0xfffffff7
mov dword [esp + 0x24], 0xfffffff9
mov dword [esp + 0x10], ebx
jmp 0x10018a9e
mov eax, dword [esp + 0xc]
xor ecx, ecx
mov eax, dword [esp + eax*4 + 0xdc]
test eax, eax
mov eax, dword [esp + 0xc]
setns cl
xor edx, edx
mov eax, dword [esp + eax*4 + 0xdc]
cmp ecx, eax
mov eax, dword [esp + 0xc]
setle dl
sub edx, 0x6d64
neg edx
mov eax, dword [esp + eax*4 + 0xdc]
sbb edx, edx
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x24]
mov dword [esp + 0x18], eax
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jle 0x10018a4e
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jle 0x10018a30
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10018ac1
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
mov eax, dword [esp + 0x90]
lea ecx, [esp + 0x90]
mov byte [esp + 0x1c4], 3
cmp dword [eax], ebx
jne 0x10018af1
call fcn.100167e6
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0x12
jl 0x10018695
jmp 0x10018af6
call fcn.100167e6
lea eax, [esp + 0x10c]
push eax
push 0x342d
push ebx
call fcn.100194df
mov dword [esp + 0x18], ebx
add esp, 0xc
mov dword [esp + 0xc], ebx
jmp 0x10018b61
push 3
lea ecx, [esp + 0xf8]
call fcn.10015f8b
mov dword [esp + 0x1c], ebx
jmp 0x10018b40
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0xf4]
mov dword [eax + ecx*4], 5
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 3
jl 0x10018b2a
mov eax, dword [esp + 0xf4]
lea ecx, [esp + 0xf4]
mov dword [eax + 8], ebx
call fcn.100167e6
dec dword [esp + 0xc]
cmp dword [esp + 0xc], 0xffffffe8
jl 0x10018b16
or dword [esp + 0x1c4], 0xffffffff
lea ecx, [esp + 0x10c]
call fcn.100167e6
xor eax, eax
lea ecx, [esp + 0xd0]
inc eax
mov dword [esp + 0xc], eax
push eax
call fcn.10015f8b
xor edx, edx
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x1c], ebx
inc edx
jmp 0x10018bb3
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0xd0]
mov dword [eax + ecx*4], edx
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], edx
jl 0x10018ba1
mov eax, dword [esp + 0xc]
xor ecx, ecx
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 0xffffffff
mov eax, dword [esp + 0xc]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0xd0]
setne dl
sub edx, dword [eax]
mov eax, dword [esp + 0xc]
add eax, edx
mov dword [esp + 0x18], eax
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10018c07
push ebx
push 0x183d
push ebx
call dword [sym.imp.ADVAPI32.dll_StartServiceW]
lea ecx, [esp + 0xd0]
call fcn.100167e6
mov eax, dword [esp + 0x70]
mov ecx, 0x3e8
cdq
idiv ecx
mov ecx, dword [esp + 0x5c]
mov edi, edx
mov esi, eax
call fcn.10017df6
mov ecx, dword [esp + 0x1bc]
add eax, esi
add eax, edi
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret