Function at 0x1000fa67
Capabilities:
Allocate thread local storage
Check os version
Delete file
Extract resource via kernel32 functions
Get common file path
Get disk information
Start service
Suspend thread
Terminate process

Disassembly:
mov eax, 0x10069a3f
call fcn.10068f04
sub esp, 0xa9c
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x68], ecx
mov edi, 0x6ccb0362
mov byte [ebp - 0x6d], dl
xor eax, eax
mov dword [ebp - 0x1c], edi
inc ebx
mov dword [ebp - 0x18], eax
push ebx
lea ecx, [ebp - 0x31c]
call fcn.1000b514
mov dword [ebp - 0x38], 0x75a8055a
xor edx, edx
mov dword [ebp - 0x38], 0x4feccdf4
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], edx
jmp 0x1000fac7
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x31c]
mov dword [eax + ecx*4], 6
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jl 0x1000fab4
cmp dword [ebp - 0x1c], edx
jne 0x1000fae3
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
mov esi, 0xffff
cmp eax, ebx
mov ebx, dword [sym.imp.COMDLG32.dll_GetSaveFileNameW]
setge cl
xor eax, eax
cmp ecx, 0x168aa2d
setl al
xor ecx, ecx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cmp eax, 0x7f8b
setl cl
imul eax, ecx, 0xfecb
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x18], edx
jmp 0x1000fc70
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x40], 0xbaed967a
mov dword [ebp - 0x58], 9
mov dword [ebp - 0x38], 0x7d717f6c
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], 0x13
jl 0x1000fc6d
mov dword [ebp - 0x3c], 0x9c1c
xor ecx, ecx
mov dword [ebp - 0x30], 0xffffffff
inc ecx
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x10], 0xb0c3e5f8
mov dword [ebp - 0x2c], 0xfffffff9
mov dword [ebp - 0x28], ecx
mov byte [ebp - 0x31], dl
cmp byte [ebp - 0x31], 0
je 0x1000fb86
push edx
call ebx
xor ecx, ecx
xor edx, edx
inc ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x54], edx
je 0x1000fbbc
mov esi, ecx
cmp dword [ebp - 0x10], edx
jne 0x1000fbbe
mov esi, edx
mov eax, dword [ebp - 0x31c]
xor ecx, ecx
mov edx, dword [eax]
mov eax, dword [ebp - 0x1c]
cmp esi, eax
mov eax, edx
sete cl
sub eax, ecx
lea ecx, [edx - 1]
mov eax, dword [ebp - 0x31c]
mov dword [eax], ecx
je 0x1000fbe6
xor eax, eax
inc eax
jmp 0x1000fbe8
xor eax, eax
mov ecx, dword [ebp - 0x18]
xor edx, edx
sub ecx, eax
mov eax, dword [ebp - 0x40]
cmp ecx, eax
setl dl
xor eax, eax
cmp edx, 0xe7ff2b9a
setne al
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x58], 0xfff6
mov eax, dword [ebp - 0x40]
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setl cl
cmp ecx, 0xfae2
jne 0x1000fc24
mov eax, dword [ebp - 0x18]
imul eax, dword [ebp - 0x2c], 0xb6ba
xor ecx, ecx
push 0
pop edx
add eax, dword [ebp - 0x10]
cmp eax, 7
setne cl
mov dword [ebp - 0x38], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x38]
cmp eax, 0x462e
setle cl
xor eax, eax
imul ecx, dword [ebp - 0x3c]
cmp ecx, 0x4c1b2f08
setg al
mov dword [ebp - 0x28], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x13
jge 0x1000fb4c
mov esi, 0xffff
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffff5
jle 0x1000fb27
lea ecx, [ebp - 0x31c]
call fcn.1000ba67
xor eax, eax
mov dword [ebp - 0x1c], edi
inc eax
mov dword [ebp - 0x18], 0
push eax
lea ecx, [ebp - 0x310]
call fcn.1000b514
mov dword [ebp - 0x38], 0x75a8055a
xor edx, edx
mov dword [ebp - 0x38], 0x4feccdf4
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], edx
jmp 0x1000fcc9
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x310]
mov dword [eax + ecx*4], 6
inc dword [ebp - 0x2c]
xor eax, eax
inc eax
cmp dword [ebp - 0x2c], eax
jl 0x1000fcb6
cmp dword [ebp - 0x1c], edx
jne 0x1000fce8
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
cmp eax, 1
setge cl
xor eax, eax
cmp ecx, 0x168aa2d
setl al
xor ecx, ecx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cmp eax, 0x7f8b
setl cl
imul eax, ecx, 0xfecb
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x18], edx
jmp 0x1000fe6b
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x40], 0xbaed967a
mov dword [ebp - 0x58], 9
mov dword [ebp - 0x38], 0x7d717f6c
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], 0x13
jl 0x1000fe68
mov dword [ebp - 0x3c], 0x9c1c
xor ecx, ecx
mov dword [ebp - 0x30], 0xffffffff
inc ecx
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x10], 0xb0c3e5f8
mov dword [ebp - 0x2c], 0xfffffff9
mov dword [ebp - 0x28], ecx
mov byte [ebp - 0x31], dl
cmp byte [ebp - 0x31], 0
je 0x1000fd81
push edx
call ebx
xor ecx, ecx
xor edx, edx
inc ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x54], edx
je 0x1000fdb7
mov esi, ecx
cmp dword [ebp - 0x10], edx
jne 0x1000fdb9
mov esi, edx
mov eax, dword [ebp - 0x310]
xor ecx, ecx
mov edx, dword [eax]
mov eax, dword [ebp - 0x1c]
cmp esi, eax
mov eax, edx
sete cl
sub eax, ecx
lea ecx, [edx - 1]
mov eax, dword [ebp - 0x310]
mov dword [eax], ecx
je 0x1000fde1
xor eax, eax
inc eax
jmp 0x1000fde3
xor eax, eax
mov ecx, dword [ebp - 0x18]
xor edx, edx
sub ecx, eax
mov eax, dword [ebp - 0x40]
cmp ecx, eax
setl dl
xor eax, eax
cmp edx, 0xe7ff2b9a
setne al
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x58], 0xfff6
mov eax, dword [ebp - 0x40]
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setl cl
cmp ecx, 0xfae2
jne 0x1000fe1f
mov eax, dword [ebp - 0x18]
imul eax, dword [ebp - 0x2c], 0xb6ba
xor ecx, ecx
push 0
pop edx
add eax, dword [ebp - 0x10]
cmp eax, 7
setne cl
mov dword [ebp - 0x38], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x38]
cmp eax, 0x462e
setle cl
xor eax, eax
imul ecx, dword [ebp - 0x3c]
cmp ecx, 0x4c1b2f08
setg al
mov dword [ebp - 0x28], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x13
jge 0x1000fd47
mov esi, 0xffff
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffff5
jle 0x1000fd22
lea ecx, [ebp - 0x310]
call fcn.1000ba67
xor ebx, ebx
mov dword [ebp - 0x44], 0xec0a
mov byte [ebp - 0x31], bl
cmp byte [ebp - 0x31], bl
je 0x1000fe98
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov byte [ebp - 0x31], bl
cmp byte [ebp - 0x31], bl
je 0x1000feab
push 0x9db
call dword [sym.imp.USER32.dll_IsWindow]
mov dword [ebp - 0x14], edi
xor ecx, ecx
mov dword [ebp - 0x28], ebx
inc ecx
mov dword [ebp - 0x38], 0x4c90d297
mov dword [ebp - 0x58], 0x836b16b
mov dword [ebp - 0x54], 0xd947597a
mov dword [ebp - 0x3c], 0xfffffff8
mov dword [ebp - 0x30], 7
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x1c], ebx
jmp 0x1000fef0
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x188], 0x8ef6b8f3
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1000fedf
mov dword [ebp - 0x1c], ebx
jmp 0x1000ff0b
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x638], 0x90e86489
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1000fefa
push 4
mov dword [ebp - 0x1c], ebx
pop ecx
jmp 0x1000ff2a
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x754], 0xfff6
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1000ff19
mov eax, dword [ebp - 0x188]
mov eax, dword [ebp - 0x634]
mov eax, dword [ebp - 0x38]
push 0xfffffffffffffff6
pop ecx
sub ecx, eax
add ecx, dword [ebp - 0x30]
je 0x1000ff4e
mov eax, dword [ebp - 0x634]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x188]
mov eax, dword [ebp - 0x750]
inc dword [ebp - 0x750]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x58]
add eax, 0xca48
mov dword [ebp - 0x54], eax
mov byte [ebp - 0x31], bl
cmp byte [ebp - 0x31], bl
je 0x1000ff8f
push 0xe44
push 0x11c5
call dword [sym.imp.GDI32.dll_SetMapMode]
xor eax, eax
lea ecx, [ebp - 0x358]
inc eax
push eax
call fcn.1000b514
xor eax, eax
mov dword [ebp - 4], ebx
inc eax
mov dword [ebp - 0x18], 0x399841b3
push eax
lea ecx, [ebp - 0x7c8]
call fcn.1000b514
xor eax, eax
lea ecx, [ebp - 0x54c]
inc eax
push 2
mov byte [ebp - 4], al
call fcn.1000b514
xor edx, edx
mov byte [ebp - 4], 2
mov dword [ebp - 0x1c], ebx
inc edx
jmp 0x1000ffe9
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x7c8]
mov dword [eax + ecx*4], 0x9b69b2e4
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x1000ffd6
mov dword [ebp - 0x1c], ebx
jmp 0x10010006
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x54c]
mov dword [eax + ecx*4], 0x6f9f
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1000fff3
mov dword [ebp - 0x18], ebx
jmp 0x1001017e
mov dword [ebp - 0x28], 0x57102d14
mov dword [ebp - 0x2c], ebx
jmp 0x1001002d
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0xa10], edx
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 3
jl 0x10010020
mov dword [ebp - 0x28], ebx
jmp 0x10010172
push 3
lea ecx, [ebp - 0x650]
call fcn.1000b514
mov byte [ebp - 4], 3
push 9
mov dword [ebp - 0x10], 0x46b6eb6b
pop edx
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x2c], ebx
jmp 0x1001006d
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x650]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 3
jl 0x1001005e
mov dword [ebp - 0x10], 2
cmp dword [ebp - 0x10], ebx
jl 0x10010146
mov esi, dword [ebp - 0x54c]
mov dword [ebp - 0x44], ebx
lea ecx, [ebp - 0x760]
mov dword [ebp - 0x44], 0xfffffff7
mov dword [ebp - 0x44], 0xc865b49d
mov dword [ebp - 0x44], ebx
push 3
call fcn.1000b514
push 4
pop eax
mov byte [ebp - 4], al
lea ecx, [ebp - 0x468]
xor eax, eax
inc eax
mov dword [ebp - 0x44], eax
push 3
call fcn.1000b514
push 3
mov dword [ebp - 0x1c], ebx
pop edx
jmp 0x100100da
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x760]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x100100cb
mov dword [ebp - 0x1c], ebx
jmp 0x100100f5
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x984], 0xfffffffe
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x100100e4
mov dword [ebp - 0x1c], ebx
jmp 0x10010113
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x468]
mov dword [eax + ecx*4], 0x96c9f93b
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x10010100
mov eax, dword [ebp - 0x468]
lea ecx, [ebp - 0x468]
inc dword [esi + 4]
inc dword [eax]
call fcn.1000ba67
lea ecx, [ebp - 0x760]
mov byte [ebp - 4], 3
call fcn.1000ba67
dec dword [ebp - 0x10]
jns 0x10010089
mov byte [ebp - 0x31], bl
cmp byte [ebp - 0x31], 0
je 0x1001015d
push ebx
push ebx
push 0x3ff
push ebx
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
lea ecx, [ebp - 0x650]
mov byte [ebp - 4], 2
call fcn.1000ba67
inc dword [ebp - 0x28]
xor edx, edx
inc edx
cmp dword [ebp - 0x28], edx
je 0x1001003b
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x1c
jle 0x10010014
lea ecx, [ebp - 0x54c]
call fcn.1000ba67
lea ecx, [ebp - 0x7c8]
mov byte [ebp - 4], bl
call fcn.1000ba67
xor eax, eax
mov dword [ebp - 0x38], 0x75a8055a
inc eax
mov dword [ebp - 0x44], eax
mov byte [ebp - 0x31], bl
cmp byte [ebp - 0x31], 0
je 0x100101bf
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
mov byte [ebp - 0x31], bl
cmp byte [ebp - 0x31], 0
je 0x100101d5
push 0x17be
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov dword [ebp - 0x38], 0x4feccdf4
lea ecx, [ebp - 0x1f4]
push 3
call fcn.1000b514
mov byte [ebp - 4], 5
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x38], 7
mov dword [ebp - 0x30], 0xd8d46d8d
mov dword [ebp - 0x1c], ebx
jmp 0x10010218
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xd8], 0x6af1124f
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10010207
mov dword [ebp - 0x1c], ebx
jmp 0x10010236
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1f4]
mov dword [eax + ecx*4], 4
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x10010223
mov eax, dword [ebp - 0x1f4]
xor edx, edx
inc edx
lea edi, [eax + 4]
mov dword [edi], edx
mov eax, dword [eax]
xor ecx, ecx
mov dword [ebp - 0x28], 0x26d8d38
mov dword [ebp - 0x54], 0x85b6478c
mov dword [ebp - 0x28], eax
mov eax, dword [edi]
inc eax
cmp eax, edx
setle cl
cmp ecx, 0xffffffff
sbb eax, eax
inc eax
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x28], ebx
je 0x10010354
mov dword [ebp - 0x18], 0xfb9a31c0
mov ecx, edx
mov dword [ebp - 0x54], 0x21adf561
cmp dword [ebp - 0x18], ebx
jne 0x10010290
mov ecx, ebx
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0xd4]
sete dl
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x54], ecx
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [edi]
mov eax, dword [ebp + eax*4 - 0xd8]
mov ecx, dword [ebp - 0x1f4]
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x30], ecx
sub eax, dword [ecx + 8]
neg eax
sbb eax, eax
inc eax
cmp eax, 0xfffa
sbb eax, eax
neg eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xd4]
cmp dword [ebp - 0x38], ebx
jne 0x100102fc
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [ebp - 0x28]
cmp eax, ecx
mov eax, dword [ebp - 0x18]
mov esi, dword [edi]
setne dl
xor ebx, ebx
cmp edx, 0x7cdedfc3
mov edx, dword [ebp - 0x30]
setge bl
xor ecx, ecx
cmp ebx, eax
setg cl
xor eax, eax
cmp dword [edx + 8], ecx
setge al
xor ecx, ecx
cmp eax, esi
setl cl
xor eax, eax
inc eax
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp + esi*4 - 0xd8]
setl dl
xor ecx, ecx
cmp edx, eax
setne cl
xor ebx, ebx
mov dword [ebp - 0x30], ecx
jmp 0x10010442
movdqa xmm0, xmmword [0x10007e90]
lea ecx, [ebp - 0x820]
push ecx
lea eax, [ebp - 0x810]
mov dword [ebp - 0x30], 0xe7be98b8
push eax
push ecx
mov dword [ebp - 0x54], 0xd060950c
lea ecx, [ebp - 0x668]
movdqu xmmword [ebp - 0x820], xmm0
call fcn.1000b550
xor eax, eax
inc eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x1f4]
mov dword [ebp - 0x3c], 0xffffffff
mov eax, dword [eax]
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], ebx
je 0x100103cf
mov eax, dword [ebp - 0x54]
xor edx, edx
cmp eax, 0x950c
mov eax, dword [ebp - 0x24]
setne dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x54], ecx
cmp dword [ebp - 0x54], ebx
je 0x100103cf
xor eax, eax
lea ecx, [eax + 1]
jmp 0x100103d1
mov ecx, ebx
xor eax, eax
cmp ecx, 0x7a21e2c2
mov ecx, dword [ebp - 0x28]
setne al
xor edx, edx
sub ecx, eax
mov eax, dword [ebp - 0x668]
mov dword [eax + 0xc], ecx
mov eax, dword [ebp - 0xd8]
cmp ecx, eax
mov eax, dword [edi]
setl dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0xd8]
cmp edx, eax
mov eax, dword [ebp - 0x30]
setl cl
add eax, 0x472f
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x28]
setle dl
xor ecx, ecx
cmp edx, eax
setne cl
add ecx, dword [ebp - 0x38]
mov dword [ebp - 0x3c], ecx
je 0x10010432
cmp dword [ebp - 0x28], ebx
je 0x10010432
xor eax, eax
inc eax
jmp 0x10010434
mov eax, ebx
lea ecx, [ebp - 0x668]
mov dword [ebp - 0x3c], eax
call fcn.1000ba67
dec dword [edi]
js 0x10010454
mov eax, dword [ebp - 0x1f4]
xor edx, edx
inc edx
jmp 0x1001024a
mov dword [ebp - 0x24], ebx
jmp 0x10010473
mov byte [ebp - 0x31], bl
cmp byte [ebp - 0x31], 0
je 0x10010470
push ebx
push ebx
push ebx
push 0x1a5d
call dword [sym.imp.GDI32.dll_CreateEnhMetaFileW]
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jg 0x10010459
lea ecx, [ebp - 0x1f4]
mov byte [ebp - 4], bl
call fcn.1000ba67
mov dword [ebp - 0x6c], ebx
lea ecx, [ebp - 0x5f4]
mov dword [ebp - 0x1c], 0x603fa75c
push 3
call fcn.1000b514
mov byte [ebp - 4], 6
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x1c], ebx
jmp 0x100104bb
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xf4], 0x1c08901
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x100104aa
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], 3
jge 0x100104e2
xor edx, edx
inc edx
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x5f4]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x100104cd
mov byte [ebp - 0x31], bl
cmp byte [ebp - 0x31], 0
je 0x100104f8
push ebx
push 0x1254
push ebx
call dword [sym.imp.ADVAPI32.dll_StartServiceW]
mov dword [ebp - 0x1c], 2
cmp dword [ebp - 0x1c], ebx
jl 0x10010686
mov dword [ebp - 0x38], 0x13ce
xor ecx, ecx
mov dword [ebp - 0x2c], 0xffffffff
inc ecx
mov dword [ebp - 0x30], ebx
push 4
mov dword [ebp - 0x44], ebx
pop eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x44], 0x69faa33f
mov dword [ebp - 0x2c], ebx
jmp 0x10010542
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x6e4], 6
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ecx
jl 0x10010531
mov eax, dword [ebp - 0x1c]
cmp dword [ebp + eax*4 - 0xf4], ebx
jne 0x10010582
mov eax, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xf0]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0xf4]
mov eax, dword [ebp - 0xf0]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0xf4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xf4]
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0xf4], ebx
je 0x10010594
mov eax, ecx
cmp dword [ebp - 0x38], ebx
jne 0x10010596
mov eax, ebx
mov dword [ebp - 0x2c], eax
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + eax*4 - 0xf4]
mov eax, dword [ebp - 0x2c]
cmp eax, ecx
setge dl
mov dword [ebp - 0x30], edx
cmp dword [ebp - 0x1c], ebx
je 0x100105dc
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0xf4]
test eax, eax
sete cl
imul ecx, dword [ebp - 0x1c]
test ecx, ecx
je 0x100105dc
cmp dword [ebp - 0xec], ebx
je 0x100105dc
mov eax, dword [ebp - 0xf4]
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp eax, 0xca5eb5a4
setne cl
imul eax, ecx, 9
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x1c]
jg 0x10010657
movdqa xmm0, xmmword [0x10007e40]
lea ecx, [ebp - 0x8c0]
push ecx
lea eax, [ebp - 0x8b0]
mov dword [ebp - 0x44], 0xdb075aba
push eax
push ecx
lea ecx, [ebp - 0x918]
movdqu xmmword [ebp - 0x8c0], xmm0
call fcn.1000b550
mov dword [ebp - 0x38], 3
lea ecx, [ebp - 0x918]
mov dword [ebp - 0x44], 0x1d5e8e05
mov dword [ebp - 0x44], 0x172882c6
mov dword [ebp - 0x3c], 0xa686
dec dword [ebp - 0x38]
inc dword [ebp - 0x3c]
call fcn.1000ba67
jmp 0x1001067d
mov byte [ebp - 0x31], bl
cmp byte [ebp - 0x31], 0
je 0x10010667
push ebx
call dword [sym.imp.USER32.dll_ShowCursor]
mov byte [ebp - 0x31], bl
cmp byte [ebp - 0x31], 0
je 0x1001067d
push 0x995
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
dec dword [ebp - 0x1c]
jns 0x10010508
lea ecx, [ebp - 0x5f4]
mov byte [ebp - 4], bl
call fcn.1000ba67
xor edx, edx
mov dword [ebp - 0x2c], ebx
inc edx
jmp 0x100106af
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x358]
mov dword [eax + ecx*4], 6
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], edx
jl 0x1001069c
movdqa xmm0, xmmword [0x10007e80]
lea ecx, [ebp - 0x860]
push ecx
lea eax, [ebp - 0x850]
push eax
push ecx
lea ecx, [ebp - 0xac]
movdqu xmmword [ebp - 0x860], xmm0
call fcn.1000b550
mov byte [ebp - 4], 7
xor edx, edx
mov dword [ebp - 0x1c], 0x18885c6f
inc edx
mov dword [ebp - 0x28], 2
mov dword [ebp - 0x2c], ebx
jmp 0x10010709
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x284], 6
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], edx
jl 0x100106f8
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], 3
jg 0x10010b1c
mov dword [ebp - 0x18], 0xfffffff9
mov dword [ebp - 0x38], 0x74473ca5
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xac]
cmp dword [eax + ecx*4], ebx
je 0x100107be
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0xac]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], ebx
je 0x10010752
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov eax, dword [ebp - 0xac]
cmp dword [eax + 8], edx
sete cl
cmp ecx, 0xfffffff6
jbe 0x1001076f
mov eax, ebx
cmp dword [ebp - 0x18], ebx
je 0x10010771
mov eax, edx
mov edi, dword [ebp - 0x1c]
xor ecx, ecx
mov esi, dword [ebp - 0x1c]
mov edx, 0xcf8b
sub edx, eax
mov eax, dword [ebp - 0x1c]
shl edx, 2
cmp edx, eax
setl cl
imul eax, ecx, 0xde2a
xor ecx, ecx
sub eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0xac]
cmp ecx, eax
sbb eax, eax
neg eax
cmp eax, dword [edx]
setl cl
xor eax, eax
cmp ecx, dword [edx + esi*4]
setl al
cmp dword [edx + edi*4], eax
jge 0x100107bb
mov edi, ebx
jmp 0x100107c0
xor edx, edx
inc edx
mov edi, edx
mov edx, dword [ebp - 0x1c]
xor ecx, ecx
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
cmp edi, eax
mov eax, dword [ebp - 0xac]
setne cl
sub ecx, dword [eax + edx*4]
cmp ecx, dword [eax + esi*4]
jg 0x100107f3
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xac]
cmp dword [eax + ecx*4], ebx
je 0x100107f3
xor edx, edx
inc edx
mov ecx, edx
jmp 0x100107f8
xor edx, edx
mov ecx, ebx
inc edx
mov eax, dword [ebp - 0x18]
add eax, ecx
je 0x100108fd
mov dword [ebp - 0x18], 0xbdbb389e
lea ecx, [ebp - 0x370]
mov dword [ebp - 0x38], 0x11cd4ee3
push 2
call fcn.1000b514
mov dword [ebp - 0x2c], ebx
jmp 0x10010836
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x370]
mov dword [eax + ecx*4], 8
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 2
jl 0x10010823
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
cmp eax, 0xa341
mov eax, dword [ebp - 0xac]
setne cl
xor edx, edx
cmp dword [eax], ecx
mov ecx, dword [ebp - 0x28]
setg dl
imul ecx, edx
sub ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xac]
neg ecx
sbb ecx, ecx
inc ecx
sub ecx, dword [eax + esi*4]
mov eax, dword [ebp - 0x18]
imul eax, ecx
test eax, eax
jne 0x10010898
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xac]
cmp dword [eax + ecx*4], ebx
jne 0x10010898
xor edx, edx
mov eax, ebx
inc edx
jmp 0x1001089d
xor edx, edx
inc edx
mov eax, edx
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], ebx
jne 0x100108ac
mov ecx, ebx
cmp dword [ebp - 0x18], ebx
je 0x100108ae
mov ecx, edx
mov eax, dword [ebp - 0xac]
cmp dword [eax + 8], ecx
jle 0x100108c0
mov ecx, edx
cmp dword [ebp - 0x1c], ebx
jne 0x100108c2
mov ecx, ebx
xor eax, eax
cmp ecx, edx
sete al
xor ecx, ecx
cmp eax, 0x5806
mov eax, dword [ebp - 0x370]
setne cl
mov dword [eax], ecx
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xac]
cmp dword [eax + ecx*4], ebx
lea ecx, [ebp - 0x370]
jne 0x10010b17
call fcn.1000ba67
jmp 0x10010b06
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x30], 0x23d5
cmp dword [ebp - 0x30], 0xc54
jge 0x10010a15
mov dword [ebp - 0xb8], ebx
lea eax, [ebp - 0x16c]
mov dword [ebp - 0xcc], ebx
mov dword [ebp - 0xbc], ebx
mov ebx, 0x1065aef0
push eax
mov ecx, ebx
call fcn.1000b0f2
mov esi, dword [ebp - 0x16c]
lea eax, [ebp - 0xb8]
push eax
push ecx
lea eax, [ebp - 0xcc]
push eax
push ecx
lea eax, [ebp - 0xbc]
mov ecx, ebx
push eax
call fcn.1000b0f2
pop ecx
mov ecx, eax
call fcn.1000b0f2
pop ecx
mov ecx, eax
call fcn.1000b0f2
mov edi, dword [ebp - 0xbc]
mov ebx, dword [ebp - 0xcc]
dec esi
je 0x100109df
lea eax, [ebp - 0x260]
push eax
push ecx
lea eax, [ebp - 0x244]
push eax
push ecx
lea eax, [ebp - 0x294]
mov ecx, 0x1065aef0
push eax
call fcn.1000b0f2
pop ecx
mov ecx, eax
call fcn.1000b0f2
pop ecx
mov ecx, eax
call fcn.1000b0f2
mov eax, dword [ebp - 0xb8]
add eax, dword [ebp - 0x260]
add edi, dword [ebp - 0x294]
add ebx, dword [ebp - 0x244]
mov dword [ebp - 0xb8], eax
dec esi
jne 0x1001097f
mov dword [ebp - 0xbc], edi
mov dword [ebp - 0xcc], ebx
jmp 0x100109e5
mov eax, dword [ebp - 0xb8]
dec esi
mov dword [ebp - 0x16c], esi
test edi, edi
jne 0x100109fd
test ebx, ebx
jne 0x100109fd
mov edx, 0x10007958
test eax, eax
je 0x10010a02
mov edx, 0x1000795c
mov ecx, 0x1065ae38
call fcn.1000ebd6
push eax
call fcn.1000eba4
xor ebx, ebx
pop ecx
mov dword [ebp - 0x30], 0xfff6
mov dword [ebp - 0x38], 0xffffffff
mov byte [ebp - 0x31], bl
cmp byte [ebp - 0x31], 0
je 0x10010a3d
push ebx
push 0x1ccb
push 0x1474
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
xor edx, edx
mov dword [ebp - 0x38], 0xedf21916
mov eax, dword [ebp - 0x2c]
cmp eax, 0x55a6f0ed
mov eax, dword [ebp - 0x38]
setge dl
xor ecx, ecx
cmp eax, 0x2215aca6
setle cl
xor eax, eax
cmp ecx, edx
setne al
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xac]
mov esi, dword [ebp - 0x28]
sub esi, dword [eax + ecx*4]
mov eax, dword [ebp - 0x284]
neg esi
sbb esi, esi
xor edx, edx
inc esi
cmp esi, eax
mov eax, dword [ebp - 0x18]
setge dl
xor ecx, ecx
cmp eax, edx
setle cl
cmp ecx, dword [ebp - 0x30]
je 0x10010ab0
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xac]
cmp dword [eax + ecx*4], ebx
jne 0x10010ab0
xor edx, edx
mov eax, ebx
inc edx
jmp 0x10010ab5
xor edx, edx
inc edx
mov eax, edx
cmp eax, dword [ebp - 0x2c]
je 0x10010aca
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xac]
cmp dword [eax + ecx*4], ebx
jne 0x10010aca
mov edx, ebx
mov esi, dword [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 0xac]
cmp dword [eax + 8], edx
mov eax, dword [ebp - 0x28]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0xac]
sete dl
xor ecx, ecx
dec edx
cmp edx, dword [eax + esi*4]
setl cl
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x38], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jg 0x10010b1c
xor edx, edx
inc edx
jmp 0x1001071b
call fcn.1000ba67
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], bl
call fcn.1000ba67
cmp dword [ebp - 0x14], ebx
jne 0x10010b41
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x14]
xor ecx, ecx
inc edx
cmp eax, edx
push 0xfffffffffffffffa
setge cl
xor eax, eax
cmp ecx, 0x168aa2d
setl al
xor ecx, ecx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
cmp eax, 0x7f8b
setl cl
imul eax, ecx, 0xfecb
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x14], ebx
pop eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x18], 0x294b58fe
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x30], 0x18b1
cmp dword [ebp - 0x30], 0xea0
jge 0x10010c6e
lea eax, [ebp - 0x174]
push eax
lea eax, [ebp - 0x11c]
push eax
lea eax, [ebp - 0xc4]
push eax
push 0x10007960
call fcn.1005274a
mov eax, dword [ebp - 0xc4]
xor ecx, ecx
push 4
pop edx
mul edx
mov esi, ebx
mov dword [ebp - 0x3c], esi
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1004c0bb
mov ecx, dword [ebp - 0xc4]
add esp, 0x14
mov dword [ebp - 0x30], ebx
mov edi, eax
test ecx, ecx
jle 0x10010c10
mov ebx, edi
push ebx
push 0x1000793c
call fcn.1005274a
pop ecx
pop ecx
mov ecx, dword [ebp - 0xc4]
inc esi
push 4
pop eax
add ebx, eax
cmp esi, ecx
jl 0x10010bee
mov esi, dword [ebp - 0x3c]
xor ebx, ebx
lea edx, [edi + ecx*4]
mov ecx, edi
call fcn.1001f238
mov ecx, dword [ebp - 0x11c]
cmp ecx, dword [ebp - 0x174]
jle 0x10010c61
mov esi, dword [ebp - 0xc4]
sub ecx, dword [ebp - 0x174]
mov dword [ebp - 0x11c], ecx
lea edx, [esi - 1]
test edx, edx
js 0x10010c56
xor eax, eax
inc eax
sub eax, dword [edi + edx*4]
add ecx, eax
mov dword [ebp - 0x11c], ecx
test ecx, ecx
jle 0x10010c5a
dec edx
jns 0x10010c41
test ecx, ecx
jg 0x10010c5e
sub esi, edx
jmp 0x10010c61
or esi, 0xffffffff
push esi
push 0x1000796c
call fcn.10050d7d
pop ecx
pop ecx
xor eax, eax
lea ecx, [ebp - 0x680]
inc eax
push eax
call fcn.1000b514
mov dword [ebp - 0x44], 0x643c8f43
xor edx, edx
mov dword [ebp - 0x44], 0xcfdef05d
inc edx
mov dword [ebp - 0x44], 0xb93b3bbb
mov dword [ebp - 0x44], 0x473ecfb8
mov dword [ebp - 0x44], 0xfffffffa
mov dword [ebp - 0x44], 6
mov dword [ebp - 0x44], 0x3cc8c9f1
mov dword [ebp - 0x44], 0x98b42dcb
mov dword [ebp - 0x44], 0x2db22c08
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x44], 0x42c5acc8
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x1c], ebx
jmp 0x10010ce8
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x680]
mov dword [eax + ecx*4], 0xc444c9ca
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x10010cd5
mov dword [ebp - 0x1c], ebx
jmp 0x10010cff
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x9cc], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10010cf2
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
add eax, dword [ebp - 0x14]
push 4
pop edx
cmp eax, edx
mov eax, dword [ebp - 0x14]
setle cl
xor edx, edx
cmp ecx, eax
setg dl
sub edx, dword [ebp - 0x14]
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x14], eax
jg 0x10010d56
cmp dword [ebp - 0x14], ebx
jne 0x10010d56
mov ecx, ebx
jmp 0x10010d5b
xor eax, eax
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x18]
sub ecx, eax
mov eax, dword [ebp - 0x18]
sub ecx, 5
neg ecx
sbb ecx, ecx
neg ecx
neg ecx
cmp ecx, eax
jne 0x10010d75
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
cmp eax, 0x8ce2
setne cl
sub ecx, dword [ebp - 0x38]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0x680]
inc dword [ebp - 0x3c]
call fcn.1000ba67
mov edi, dword [sym.imp.USER32.dll_DestroyIcon]
mov dword [ebp - 0x28], ebx
cmp dword [ebp - 0x28], 0xfffffff5
jg 0x10011f44
push 2
lea ecx, [ebp - 0x1bc]
call fcn.1000b514
xor eax, eax
mov byte [ebp - 4], 8
inc eax
mov dword [ebp - 0x24], 0xfffffff8
mov dword [ebp - 0x44], 0x9f08664a
lea ecx, [ebp - 0x564]
push eax
call fcn.1000b514
xor edx, edx
mov byte [ebp - 4], 9
mov dword [ebp - 0x1c], ebx
inc edx
jmp 0x10010e08
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x17c], 0x648261f
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x10010df7
mov dword [ebp - 0x1c], ebx
jmp 0x10010e25
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1bc]
mov dword [eax + ecx*4], 0xd29be1d9
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10010e12
mov dword [ebp - 0x1c], ebx
jmp 0x10010e41
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x698], 7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x10010e30
mov dword [ebp - 0x1c], ebx
jmp 0x10010e5f
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x564]
mov dword [eax + ecx*4], 0xfbaa6dce
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x10010e4c
mov eax, dword [ebp - 0x1bc]
mov dword [eax], ebx
jmp 0x10010e71
xor edx, edx
inc edx
push edx
lea ecx, [ebp - 0x198]
call fcn.1000b514
xor eax, eax
mov byte [ebp - 4], 0xa
inc eax
mov dword [ebp - 0x18], 0xfffffffb
push eax
lea ecx, [ebp - 0x224]
call fcn.1000b514
push 3
lea ecx, [ebp - 0x328]
mov byte [ebp - 4], 0xb
call fcn.1000b514
mov byte [ebp - 4], 0xc
xor edx, edx
mov dword [ebp - 0x40], 0x3003
inc edx
mov dword [ebp - 0x5c8], ebx
mov dword [ebp - 0x5c4], ebx
mov dword [ebp - 0x5c0], ebx
mov dword [ebp - 0x5bc], ebx
mov dword [ebp - 0x14], ebx
jmp 0x10010ee6
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x198]
mov dword [eax + ecx*4], 2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x10010ed3
mov dword [ebp - 0x14], ebx
jmp 0x10010f03
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x224]
mov dword [eax + ecx*4], 0xf4c59cdc
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x10010ef0
mov dword [ebp - 0x14], ebx
jmp 0x10010f20
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x328]
mov dword [eax + ecx*4], 6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10010f0d
mov eax, dword [ebp - 0x198]
mov dword [eax], ebx
mov dword [ebp - 0x58], 0xb5d1cb6a
lea ecx, [ebp - 0x7e0]
push 3
call fcn.1000b514
mov dword [ebp - 0x2c], ebx
jmp 0x10010f5a
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x7e0]
mov dword [eax + ecx*4], 0x737e
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 3
jl 0x10010f47
mov eax, dword [ebp - 0x1bc]
mov ecx, 0xfff7
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x17c]
sub ecx, eax
jne 0x10010f89
mov eax, dword [ebp - 0x198]
cmp dword [eax], ebx
jne 0x10010f89
xor edx, edx
mov eax, ebx
inc edx
jmp 0x10010f8e
xor edx, edx
inc edx
mov eax, edx
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x224]
mov dword [eax], ecx
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], ebx
jl 0x100110a6
jmp 0x10010fad
xor edx, edx
inc edx
mov dword [ebp - 0x44], 0xf3cc
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x38], 9
mov dword [ebp - 0x30], 0xfffffffd
mov dword [ebp - 0x44], 0x497140da
mov dword [ebp - 0x10], 0xffffffff
cmp dword [ebp - 0x3c], ebx
jne 0x10010fe2
inc dword [ebp - 0x38]
mov esi, ebx
je 0x10010fe4
mov esi, edx
mov eax, dword [ebp - 0x224]
cmp dword [eax], edx
jle 0x10010ffb
mov eax, dword [ebp - 0x328]
mov ecx, ebx
cmp dword [eax + 4], ebx
je 0x10010ffd
mov ecx, edx
mov eax, dword [ebp - 0x3c]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x1bc]
setle dl
xor ecx, ecx
cmp edx, dword [eax]
mov eax, dword [ebp - 0x58]
setl cl
xor edx, edx
imul ecx, ecx, 0xffff
cmp ecx, eax
setge dl
xor eax, eax
cmp esi, edx
setne al
add eax, dword [ebp - 0x58]
je 0x10011035
cmp dword [ebp - 0x30], ebx
jne 0x10011046
mov eax, dword [ebp - 0x224]
cmp dword [eax], ebx
jne 0x10011046
xor edx, edx
mov ecx, ebx
inc edx
jmp 0x1001104b
xor edx, edx
inc edx
mov ecx, edx
mov eax, dword [ebp - 0x698]
sub ecx, eax
jne 0x1001105c
mov eax, ebx
cmp dword [ebp - 0x40], ebx
je 0x1001105e
mov eax, edx
dec dword [ebp - 0x54]
xor ecx, ecx
cmp eax, 0x385fae11
mov eax, dword [ebp - 0x198]
setge cl
sub ecx, 0xfffb
add ecx, dword [ebp - 0x54]
neg ecx
sbb ecx, ecx
add ecx, 5
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, dword [eax]
mov eax, dword [ebp - 0x328]
setle dl
xor ecx, ecx
cmp edx, dword [eax]
setne cl
mov dword [ebp - 0x10], ecx
dec dword [ebp - 0x18]
jns 0x10010faa
lea ecx, [ebp - 0x7e0]
call fcn.1000ba67
mov eax, dword [ebp - 0x198]
inc dword [eax]
cmp dword [eax], 0
jle 0x10010f2e
mov eax, dword [ebp - 0x1bc]
xor ecx, ecx
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x17c]
mov eax, dword [ebp - 0x564]
mov edx, dword [eax]
test edx, edx
mov eax, dword [ebp - 0x198]
setne cl
mov esi, dword [eax]
imul eax, ecx, 0xa
xor ecx, ecx
cmp eax, 3
setl cl
imul ecx, edx
sub ecx, dword [ebp - 0x24]
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, esi
jle 0x1001110b
test esi, esi
je 0x1001110b
xor eax, eax
inc eax
jmp 0x1001110d
mov eax, ebx
xor ecx, ecx
test eax, eax
mov eax, dword [ebp - 0x224]
setns cl
mov dword [eax], ecx
lea ecx, [ebp - 0x328]
mov eax, dword [ebp - 0x5c8]
xor eax, eax
inc eax
mov dword [ebp - 0x698], eax
call fcn.1000ba67
lea ecx, [ebp - 0x224]
call fcn.1000ba67
lea ecx, [ebp - 0x198]
mov byte [ebp - 4], 9
call fcn.1000ba67
mov eax, dword [ebp - 0x1bc]
inc dword [eax]
cmp dword [eax], 0
jle 0x10010e6e
mov byte [ebp - 0x31], bl
cmp byte [ebp - 0x31], 0
je 0x10011170
call dword [sym.imp.KERNEL32.dll_GetVersion]
lea ecx, [ebp - 0x564]
call fcn.1000ba67
lea ecx, [ebp - 0x1bc]
mov byte [ebp - 4], bl
call fcn.1000ba67
xor edx, edx
mov esi, 0xffff
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x3c], 0xbaed967a
mov dword [ebp - 0x18], 0x67e307b
mov dword [ebp - 0x54], 0x9193
mov dword [ebp - 0x2c], 0x9478c9df
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, esi
setle cl
sub eax, ecx
sub eax, 0x6d39c7c6
add eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x18]
neg eax
sbb eax, eax
inc eax
sub edx, eax
mov eax, dword [ebp - 0x18]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x18]
setne cl
add eax, 0x6ff5
add ecx, eax
xor edx, edx
mov eax, dword [ebp - 0x54]
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setge dl
cmp esi, edx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, 0xa277ebd0
setg dl
cmp eax, edx
sbb eax, eax
inc eax
mov dword [ebp - 0x2c], eax
je 0x10011245
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x2c], 0x5aee0cd9
mov byte [ebp - 0x31], bl
cmp byte [ebp - 0x31], 0
je 0x10011285
push 0x27a
push ebx
push ebx
push ebx
push 0xa25
push ebx
call dword [sym.imp.KERNEL32.dll_GetDateFormatW]
jmp 0x10011285
mov dword [ebp - 0x38], ebx
cmp dword [ebp - 0x54], ebx
jne 0x1001126a
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x18]
cmp eax, 0xfffffffd
setne cl
cmp ecx, 3
ja 0x1001126a
mov eax, ebx
jmp 0x1001126d
xor eax, eax
inc eax
mov dword [ebp - 0x2c], eax
mov byte [ebp - 0x31], bl
cmp byte [ebp - 0x31], 0
je 0x10011285
push 0x2605
push ebx
call dword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
xor eax, eax
mov dword [ebp - 0x2c], 0x9f2b7826
inc eax
mov dword [ebp - 0x5c], 9
mov dword [ebp - 0x24], 0x399841b3
lea ecx, [ebp - 0x7f8]
push eax
call fcn.1000b514
push 2
lea ecx, [ebp - 0x5ac]
mov byte [ebp - 4], 0xd
call fcn.1000b514
xor edx, edx
mov byte [ebp - 4], 0xe
mov dword [ebp - 0x14], ebx
inc edx
jmp 0x100112d9
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x7f8]
mov dword [eax + ecx*4], 0x9b69b2e4
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x100112c6
mov dword [ebp - 0x14], ebx
jmp 0x100112f6
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x5ac]
mov dword [eax + ecx*4], 0x6f9f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x100112e3
mov dword [ebp - 0x24], ebx
jmp 0x1001146c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x358]
call fcn.1000ba67
push 2
lea ecx, [ebp - 0x2bc]
call fcn.1000b514
mov dword [ebp - 0x24], 0x5c8094a
mov dword [ebp - 0x10], ebx
jmp 0x10011f7f
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x2bc]
mov dword [eax + ecx*4], 0x9f9b
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10011f6c
xor edx, edx
mov dword [ebp - 0x24], ebx
inc edx
jmp 0x10011fda
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x18], ebx
jl 0x10011fd7
mov dword [ebp - 0x28], 0xfffffffb
mov dword [ebp - 0x28], ebx
jmp 0x10011fbf
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
xor edx, edx
mov eax, dword [ebp - 0x18]
inc dword [ebp - 0x28]
inc edx
cmp dword [ebp - 0x28], edx
jle 0x10011fa4
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2bc]
cmp dword [eax + ecx*4], ebx
jne 0x10011fd7
dec dword [ebp - 0x18]
jns 0x10011f98
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edx
jle 0x10011f8d
lea ecx, [ebp - 0x2bc]
call fcn.1000ba67
mov dword [ebp - 0x44], 3
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], 2
jge 0x10012010
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x3e8], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10011ffd
mov eax, dword [ebp - 0x3e8]
sub eax, dword [ebp - 0x3e8]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x44], eax
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x1001203a
push ebx
push 0x1254
push ebx
call dword [sym.imp.ADVAPI32.dll_StartServiceW]
push 2
lea ecx, [ebp - 0x2c8]
call fcn.1000b514
push 2
mov dword [ebp - 4], 0x14
pop ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x10], ebx
jmp 0x1001206a
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xe0], 0x7d8a8701
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10012059
xor edx, edx
inc edx
cmp dword [ebp - 0x1c], ebx
mov dword [ebp - 0x1c], ebx
je 0x10012101
jmp 0x100120b0
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xe0], ebx
mov dword [ebp - 0x10], ebx
jmp 0x100120a7
mov dword [ebp - 0x44], ebx
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x1c]
neg ecx
mov dword [ebp + eax*4 - 0xe0], ecx
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffff0
jl 0x10012092
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jle 0x10012080
jmp 0x10012106
mov eax, dword [ebp - 0x1c]
cmp dword [ebp + eax*4 - 0xe0], ebx
jne 0x10012106
mov eax, dword [ebp - 0x1c]
cmp dword [ebp + eax*4 - 0xe0], ebx
je 0x100120d9
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0xe0]
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0xe0]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0xe0]
cmp eax, edx
mov eax, dword [ebp - 0x1c]
setge cl
mov dword [ebp + eax*4 - 0xe0], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jle 0x100120b7
mov dword [ebp - 0x14], 0x5c8094a
mov dword [ebp - 0x28], 0x5d811f07
mov dword [ebp - 0x30], 0xfff7
mov dword [ebp - 0x24], ebx
jmp 0x10012131
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xa1c], 0xffffffff
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jl 0x10012120
push 4
mov dword [ebp - 0x24], ebx
pop ecx
jmp 0x10012150
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x2b0], 0xffffffff
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ecx
jl 0x1001213f
mov dword [ebp - 0x2ac], 2
cmp dword [ebp - 0x2ac], ebx
jl 0x100121c2
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x44], 0x2a2b3b7b
mov dword [ebp - 0x10], ebx
jmp 0x10012183
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x184], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x10012176
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x1001219c
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
xor edx, edx
inc edx
mov dword [ebp - 0x40], 2
cmp dword [ebp - 0x40], ebx
jl 0x100121ba
mov dword [ebp - 0x44], 0xbfc3
inc dword [ebp - 0x184]
dec dword [ebp - 0x40]
jns 0x100121a8
dec dword [ebp - 0x2ac]
jns 0x10012167
mov dword [ebp - 0x28], ebx
jmp 0x100121e8
mov dword [ebp - 0x44], 0x6e229edc
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp + eax*4 - 0x2b0]
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x2b0], ecx
inc dword [ebp - 0x30]
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 3
jle 0x100121c7
push edx
lea ecx, [ebp - 0x528]
call fcn.1000b514
xor edx, edx
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x10], ebx
inc edx
jmp 0x1001221c
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x528]
mov dword [eax + ecx*4], 0xcf5720e8
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x10012209
mov dword [ebp - 0x28], ebx
jmp 0x10012237
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x528]
cmp dword [eax + ecx*4], ebx
jne 0x1001223c
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ebx
jle 0x10012226
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x10012248
push ebx
call edi
lea ecx, [ebp - 0x528]
call fcn.1000ba67
mov dword [ebp - 0x10], ebx
jmp 0x1001226b
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x2c8]
mov dword [eax + ecx*4], 0x9f9b
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10012258
xor ecx, ecx
mov dword [ebp - 0x14], ebx
inc ecx
jmp 0x1001279e
push 4
mov dword [ebp - 0x18], ecx
lea ecx, [ebp - 0x1b0]
pop eax
push eax
call fcn.1000b514
mov byte [ebp - 4], 0x15
push 4
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x10], ebx
pop edx
jmp 0x100122b4
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1b0]
mov dword [eax + ecx*4], 0xfffffff8
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x100122a1
push 3
pop eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ebx
jl 0x1001244c
cmp dword [ebp - 0x14], ecx
jle 0x1001227c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c8]
call fcn.1000ba67
push 2
lea ecx, [ebp - 0x2ec]
call fcn.1000b514
mov dword [ebp - 0x24], 0x5c8094a
mov dword [ebp - 0x10], ebx
jmp 0x100127e2
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x2ec]
mov dword [eax + ecx*4], 0x9f9b
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x100127cf
xor edx, edx
mov dword [ebp - 0x24], ebx
inc edx
jmp 0x1001283d