Function at 0x1001a295
Capabilities:
Delete file
Enumerate gui resources
Get disk information
Get file system object information

Disassembly:
mov eax, 0x100847fd
call fcn.10084380
sub esp, 0x33c
push ebx
push esi
push edi
mov dword [ebp - 0x74], ecx
lea ecx, [ebp - 0x220]
push 2
mov dword [ebp - 0xb4], edx
call fcn.1001854e
or edi, 0xffffffff
mov dword [ebp - 0x28], 0x98311173
xor ebx, ebx
mov dword [ebp - 0x24], edi
push 1
mov dword [ebp - 0x18], ebx
pop edx
jmp 0x1001a2e4
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x220]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1001a2d5
mov ecx, dword [ebp - 0x220]
mov dword [ebp - 0x28], edx
mov eax, dword [ecx]
imul eax, eax
test eax, eax
jne 0x1001a303
cmp dword [ecx + 4], ebx
jne 0x1001a303
mov edx, ebx
mov eax, dword [ecx + 4]
imul eax, dword [ecx]
sub eax, edx
je 0x1001a319
cmp dword [ecx + 4], ebx
je 0x1001a319
xor esi, esi
lea edx, [esi + 1]
jmp 0x1001a31b
mov edx, ebx
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp eax, edx
setl cl
cmp ecx, dword [ebp - 0x24]
jne 0x1001a33f
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x1001a34d
push 0x7f0
call dword [sym.imp.USER32.dll_GetKeyboardType]
jmp 0x1001a34d
mov dword [ebp - 0x24], 0x76a
mov dword [ebp - 0x24], 0x661fbc9f
lea ecx, [ebp - 0x220]
call fcn.100185d0
mov dword [ebp - 0x10], 0xf2ee
mov dword [ebp - 0x18], 0xf89b546
mov dword [ebp - 0x278], edi
mov dword [ebp - 0x274], edi
mov dword [ebp - 0x270], edi
mov dword [ebp - 0x26c], edi
mov eax, dword [ebp - 0x10]
push 3
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x18], ebx
pop esi
jmp 0x1001a3d8
mov dword [ebp - 0x1c], 0xc6d21cd4
mov dword [ebp - 0x10], esi
cmp dword [ebp - 0x10], ebx
jl 0x1001a3d0
mov dword [ebp - 0x20], 0x35a23e86
mov dword [ebp - 0x20], esi
cmp dword [ebp - 0x20], ebx
jl 0x1001a3cb
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x278]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], ebx
dec dword [ebp - 0x20]
jns 0x1001a3aa
dec dword [ebp - 0x10]
jns 0x1001a39b
cmp dword [ebp - 0x1c], ebx
jne 0x1001a3dd
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jle 0x1001a38c
push 2
lea ecx, [ebp - 0x1d8]
call fcn.1001854e
mov dword [ebp - 4], ebx
xor ecx, ecx
mov dword [ebp - 0x18], ebx
inc ecx
mov dword [ebp - 0x20], 0xb64b5c6f
mov dword [ebp - 0x28], 0x2ba75a59
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x34], 0x50678e0
mov dword [ebp - 0x38], 0xfffffffe
mov dword [ebp - 0x10], ebx
jmp 0x1001a427
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x100], edi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1001a41a
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], 0xfffffffd
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
cmp eax, 0xfffffff8
setne cl
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x100]
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x18]
imul edx, dword [ebp - 0x18]
imul ecx, eax
mov eax, dword [ebp - 0x24]
imul edx, ecx
xor ecx, ecx
cmp edx, eax
setg cl
sub ecx, dword [ebp - 0x18]
mov dword [ebp - 0x34], ecx
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], al
je 0x1001a48e
push ebx
push 0x2b1
push ebx
call dword [sym.imp.ADVAPI32.dll_ControlService]
mov dword [ebp - 0x34], 0x98311173
mov dword [ebp - 0x28], 0x51d69f42
mov dword [ebp - 0x20], 0x85613717
mov dword [ebp - 0x24], 0x9d010789
mov dword [ebp - 0x2c], 0xfff8
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1001a4cb
push 0x1893
push 0xdcd
push ebx
call dword [sym.imp.USER32.dll_OffsetRect]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x28], 0x8900fdb6
mov eax, dword [ebp - 0x2c]
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setle cl
mov dword [ebp - 0x20], ecx
xor ecx, ecx
mov dword [ebp - 0x30], edi
inc ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x28], 0x1eb32a83
mov dword [ebp - 0x24], ecx
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1001a51b
push 0xd74
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_OpenServiceW]
xor ecx, ecx
inc ecx
mov dword [ebp - 0x18], ebx
jmp 0x1001a576
mov dword [ebp - 0x20], 0x8b10
cmp dword [ebp - 0x20], ebx
jne 0x1001a57c
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x28], 0xb132
cmp dword [ebp - 0x28], ebx
jne 0x1001a547
cmp dword [ebp - 0x18], ebx
jne 0x1001a547
mov edx, ebx
cmp dword [ebp - 0x20], ebx
je 0x1001a549
mov edx, ecx
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x18]
push 1
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setl dl
xor ecx, ecx
add edx, 0x54db
cmp edx, eax
setne cl
mov dword [ebp - 0x24], ecx
dec dword [ebp - 0x18]
pop ecx
cmp dword [ebp - 0x18], 0xfffffff2
jg 0x1001a520
xor edx, edx
mov dword [ebp - 0x18], ebx
inc edx
cmp dword [ebp - 0x18], 2
jge 0x1001a599
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1d8]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x18]
jmp 0x1001a582
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x1c], 0x89b1ab44
mov dword [ebp - 0x28], 0x637c5b15
mov dword [ebp - 0x70], 0xe905687c
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x64], 0xfffffff7
mov dword [ebp - 0x40], edi
cmp dword [ebp - 0x10], ebx
je 0x1001a5e2
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [ebp - 0x10]
cmp ecx, eax
setge dl
add edx, 0x44b55263
je 0x1001a5df
xor edx, edx
inc edx
mov eax, edx
jmp 0x1001a5e4
xor edx, edx
inc edx
mov eax, ebx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
je 0x1001a5f8
cmp dword [ebp - 0x10], ebx
je 0x1001a5f8
mov eax, edx
cmp dword [ebp - 0x1c], ebx
jne 0x1001a5fa
mov eax, ebx
mov ecx, dword [ebp - 0x10]
imul ecx, eax
mov eax, dword [ebp - 0x10]
sub eax, ecx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
neg eax
sbb eax, eax
inc eax
test eax, eax
jle 0x1001a71b
mov dword [ebp - 0x20], 0xfffffff6
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x34], 0xd3c095b6
mov dword [ebp - 0x18], 0x6df3e2e1
mov dword [ebp - 0x2c], 0x4a788afb
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x18], ebx
jmp 0x1001a656
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x2d8], 8
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1001a645
mov esi, edx
cmp dword [ebp - 0x20], ebx
jne 0x1001a664
mov esi, ebx
mov ecx, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x24]
mov ecx, edi
setl dl
sub edx, 0xca0c
neg edx
sbb edx, edx
inc edx
sub eax, edx
neg eax
sbb eax, eax
inc eax
sub ecx, eax
xor eax, eax
add ecx, dword [ebp - 0x20]
imul ecx, dword [ebp - 0x34]
cmp esi, ecx
setl al
xor edx, edx
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x70]
cmp ecx, eax
mov eax, dword [ebp - 0x2d4]
setle dl
xor ecx, ecx
sub edx, eax
mov eax, dword [ebp - 0x3c]
cmp edx, eax
setle cl
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x18]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x64]
neg ecx
sbb ecx, ecx
neg ecx
imul eax, ecx
neg eax
cmp eax, 7
je 0x1001a6ed
cmp dword [ebp - 0x3c], ebx
je 0x1001a6ed
xor edx, edx
inc edx
mov eax, edx
jmp 0x1001a6f2
xor edx, edx
mov eax, ebx
inc edx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x2d0]
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x28], 0xd6b8
jne 0x1001a70e
mov ecx, ebx
cmp dword [ebp - 0x40], ebx
je 0x1001a710
mov ecx, edx
mov eax, dword [ebp - 0x34]
imul eax, ecx
mov dword [ebp - 0x2c], eax
jmp 0x1001a73e
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1001a73e
push ebx
push 0x1733
push ebx
push 0x1157
push 0x1ae7
call dword [sym.imp.GDI32.dll_ExtCreatePen]
xor edx, edx
inc edx
push dword [ebp - 0x74]
movdqa xmm0, xmmword [0x1000a6d0]
lea eax, [ebp - 0x310]
push eax
lea eax, [ebp - 0x320]
mov dword [ebp - 0x34], edx
push eax
push ebx
lea ecx, [ebp - 0xd8]
mov dword [ebp - 0xd8], ebx
movdqu xmmword [ebp - 0x320], xmm0
mov dword [ebp - 0xd4], ebx
mov dword [ebp - 0xd0], ebx
call fcn.10019a22
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x38], 0x15b01d9
mov dword [ebp - 0x38], 0xfffffff8
mov dword [ebp - 0x18], ebx
jmp 0x1001a7a7
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x2e0], 0xcbadbefc
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1001a796
mov eax, dword [ebp - 0xd8]
xor ecx, ecx
xor esi, esi
inc esi
cmp dword [eax + 4], esi
setge cl
mov dword [ebp - 0x2dc], ecx
lea ecx, [ebp - 0xd8]
mov dword [ebp - 0x40], 0xc5265879
call fcn.100185d0
mov ecx, dword [ebp - 0x1d8]
mov eax, dword [ecx]
imul eax, eax
test eax, eax
jne 0x1001a7ec
mov edx, ebx
cmp dword [ecx + 4], ebx
je 0x1001a7ee
mov edx, esi
mov eax, dword [ecx + 4]
imul eax, dword [ecx]
sub eax, edx
je 0x1001a800
cmp dword [ecx + 4], 0
mov edx, esi
jne 0x1001a802
mov edx, ebx
mov eax, dword [ebp - 0x34]
xor ecx, ecx
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
cmp eax, edx
push 4
setl cl
pop esi
cmp ecx, dword [ebp - 0x30]
jne 0x1001abbd
push 2
pop esi
push esi
lea ecx, [ebp - 0x120]
call fcn.1001854e
mov dword [ebp - 0x18], 0x9d010789
xor edx, edx
mov dword [ebp - 0x1c], 0x5732aa61
inc edx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x40], 0xe5f88592
mov dword [ebp - 0x10], ebx
jmp 0x1001a85b
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x60], 0x4a8c6a53
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x1001a84d
mov dword [ebp - 0x10], ebx
jmp 0x1001a878
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x120]
mov dword [eax + ecx*4], 0x16df251d
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1001a865
mov eax, dword [ebp - 0x120]
mov dword [eax], ebx
mov dword [ebp - 0x10], 0xccb03629
mov dword [ebp - 0x30], 0x2b000cd9
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], ebx
jl 0x1001a94b
mov dword [ebp - 0x28], 0xc1da7bc9
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x20], 0x818264d9
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x10]
push 1
mov ecx, dword [ebp + eax*4 - 0x60]
cmp dword [ebp - 0x34], edx
sbb eax, eax
neg eax
imul ecx, eax
mov eax, dword [ebp - 0x60]
neg ecx
sbb ecx, ecx
add ecx, 0xb
neg ecx
sbb ecx, ecx
inc ecx
sub eax, ecx
xor ecx, ecx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cmp eax, 0x323f
mov eax, dword [ebp - 0x10]
setle cl
cmp ecx, 0xa44198d7
mov eax, dword [ebp + eax*4 - 0x60]
sbb ecx, ecx
inc ecx
xor edx, edx
neg ecx
cmp eax, ecx
mov eax, dword [ebp - 0x120]
setge dl
xor ecx, ecx
cmp edx, dword [eax]
setge cl
xor edx, edx
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
dec dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
setl dl
mov dword [ebp - 0x40], edx
dec dword [ebp - 0x10]
pop edx
jns 0x1001a89f
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1001a962
push 0x1ed1
call edi
push eax
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov eax, dword [ebp - 0x120]
push 1
pop edx
dec dword [eax]
jns 0x1001a885
mov dword [ebp - 0x18], 0xffffffea
jmp 0x1001a99f
mov dword [ebp - 0x30], 0xf5ab
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x30], eax
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1001a99c
push ebx
call edi
push eax
call dword [sym.imp.USER32.dll_SetMenu]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffff9
jle 0x1001a97c
lea ecx, [ebp - 0x120]
call fcn.100185d0
mov dword [ebp - 0x10], 0xf2ee
or eax, 0xffffffff
mov dword [ebp - 0x18], 0xf89b546
mov dword [ebp - 0x258], eax
mov dword [ebp - 0x254], eax
mov dword [ebp - 0x250], eax
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x18], eax
push 3
mov dword [ebp - 0x18], ebx
pop eax
jmp 0x1001aa36
mov dword [ebp - 0x1c], 0xc6d21cd4
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jl 0x1001aa2e
mov dword [ebp - 0x20], 0x35a23e86
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ebx
jl 0x1001aa29
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x258]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], ebx
dec dword [ebp - 0x20]
jns 0x1001aa05
push 3
pop eax
dec dword [ebp - 0x10]
jns 0x1001a9f6
cmp dword [ebp - 0x1c], ebx
jne 0x1001aa3b
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], eax
jle 0x1001a9e7
mov byte [ebp - 0x11], bl
lea ecx, [ebp - 0x148]
push esi
call fcn.1001854e
xor eax, eax
lea ecx, [ebp - 0x130]
inc eax
mov byte [ebp - 4], al
mov dword [ebp - 0x18], 0x622ba394
mov dword [ebp - 0x34], 0xfffffffd
push esi
call fcn.1001854e
mov dword [ebp - 0x28], 0x9733
push 2
mov dword [ebp - 0x2c], 0x67656540
mov dword [ebp - 0x10], ebx
pop edx
jmp 0x1001aa93
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x148]
mov dword [eax + ecx*4], 0xfffffffe
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x1001aa80
mov dword [ebp - 0x10], ebx
jmp 0x1001aab0
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x130]
mov dword [eax + ecx*4], 0x8fb0b44c
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x1001aa9d
xor ecx, ecx
inc ecx
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], ebx
jl 0x1001ab8d
mov esi, dword [ebp - 0x130]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x34], 0xfffffffb
mov dword [ebp - 0x30], 0x55ebda18
mov dword [ebp - 0x10], ebx
jmp 0x1001aaee
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x6c], 0xc3fbb4eb
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1001aae0
mov dword [ebp - 0x10], ebx
jmp 0x1001ab09
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x2cc], 0x9cf13e1
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x1001aaf8
dec dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2cc], eax
cmp dword [ebp - 0x6c], eax
jne 0x1001ab47
dec dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x148]
mov ecx, dword [eax + 4]
mov dword [eax + edx*4], ecx
mov dword [ebp - 0x34], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x34]
sub eax, 9
inc ecx
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x148]
cmp dword [eax], 0xffffffff
jle 0x1001ab5f
mov eax, ecx
cmp dword [ebp - 0x2cc], ebx
jne 0x1001ab61
mov eax, ebx
sub eax, dword [esi + 4]
xor edx, edx
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x34]
cmp ecx, eax
mov eax, dword [ebp - 0x130]
setg dl
mov dword [eax], edx
cmp dword [ebp - 0x6c], ebx
jne 0x1001ab8d
dec dword [ebp - 0x18]
push 1
pop ecx
jns 0x1001aaca
lea ecx, [ebp - 0x130]
call fcn.100185d0
lea ecx, [ebp - 0x148]
call fcn.100185d0
cmp byte [ebp - 0x11], 0
je 0x1001ae92
push 0x7f0
call dword [sym.imp.USER32.dll_GetKeyboardType]
jmp 0x1001ae92
mov dword [ebp - 0x10], ebx
lea ecx, [ebp - 0x178]
xor eax, eax
mov dword [ebp - 0x20], 0xa394643c
inc eax
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x30], 0xed40a165
mov dword [ebp - 0x34], 0x8628405c
push eax
call fcn.1001854e
mov dword [ebp - 0x1c], 0xfffffff7
xor edx, edx
mov dword [ebp - 0x2c], 0x4d
inc edx
mov dword [ebp - 0x28], 0xfff8
mov dword [ebp - 0x3c], 0xa332a5b4
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x18], ebx
jmp 0x1001ac21
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x178]
mov dword [eax + ecx*4], 0xbde64f6c
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1001ac0e
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x28]
inc dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
inc dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x178]
cmp dword [eax], 0xb4ff
setne cl
xor edx, edx
add ecx, dword [eax]
mov eax, dword [ebp - 0x30]
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setg dl
xor ecx, ecx
cmp edx, eax
setge cl
xor edx, edx
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x24]
xor eax, eax
inc eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
setl dl
add edx, 0x5794198e
mov dword [ebp - 0x24], edx
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x178]
mov dword [eax], ecx
lea ecx, [ebp - 0x178]
call fcn.100185d0
mov dword [ebp - 0x30], 0x76a
lea ecx, [ebp - 0x1b4]
push esi
call fcn.1001854e
xor eax, eax
mov byte [ebp - 4], 2
inc eax
mov dword [ebp - 0x30], 0x80ebbd48
push eax
lea ecx, [ebp - 0x160]
call fcn.1001854e
mov dword [ebp - 0x10], ebx
jmp 0x1001acfa
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1b4]
mov dword [eax + ecx*4], 2
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1001ace7
mov dword [ebp - 0x10], ebx
jmp 0x1001ad12
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x4c], 6
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1001ad04
xor edx, edx
mov dword [ebp - 0x10], ebx
inc edx
jmp 0x1001ad30
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x160]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x1001ad20
mov dword [ebp - 0x10], ebx
jmp 0x1001ad4b
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x338], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1001ad3a
mov esi, dword [ebp - 0x1b4]
mov dword [esi + 8], 9
mov dword [ebp - 0x10], 0x9ef72d4e
mov dword [ebp - 0x10], ebx
jmp 0x1001ae45
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x4c], ebx
jne 0x1001ad81
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x4c], ebx
jne 0x1001ad81
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x48]
sete dl
neg eax
sbb eax, eax
inc eax
cmp eax, edx
je 0x1001ada3
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x4c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x4c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x160]
or dword [eax], 0xffffffff
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x4c], ebx
jne 0x1001ae14
cmp dword [ebp - 0x10], ebx
jne 0x1001addb
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x4c], ebx
jne 0x1001addb
mov edx, ebx
jmp 0x1001ade0
xor eax, eax
lea edx, [eax + 1]
mov eax, dword [ebp - 0x160]
mov dword [eax], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + eax*4 - 0x4c]
lea eax, [edx - 1]
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x10]
setl dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x4c]
cmp edx, eax
mov eax, dword [ebp - 0x10]
setg cl
add ecx, dword [ebp + eax*4 - 0x4c]
jne 0x1001ae14
mov edx, ebx
jmp 0x1001ae19
xor eax, eax
lea edx, [eax + 1]
mov eax, dword [ebp - 0x10]
xor ecx, ecx
cmp eax, 0x8407
mov eax, dword [ebp - 0x10]
setl cl
sub ecx, edx
neg ecx
sbb ecx, ecx
inc ecx
sub ecx, dword [ebp + eax*4 - 0x4c]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
mov dword [ebp - 0x334], ecx
inc dword [ebp - 0x10]
inc edx
cmp dword [ebp - 0x10], edx
jle 0x1001ad6c
dec dword [esi + 8]
cmp dword [esi + 8], 7
jg 0x1001ad5d
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1001ae75
push 0x1bd4
push 0x2c0
push ebx
call dword [sym.imp.USER32.dll_EnableMenuItem]
lea ecx, [ebp - 0x160]
call fcn.100185d0
lea ecx, [ebp - 0x1b4]
call fcn.100185d0
mov dword [ebp - 0x30], 0x661fbc9f
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1d8]
call fcn.100185d0
mov dword [ebp - 0x10], ebx
jmp 0x1001aeb7
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xf0], 4
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x1001aea6
xor ecx, ecx
mov dword [ebp - 0x10], ebx
inc ecx
jmp 0x1001aed3
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x50], 0xc23afc37
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1001aec5
mov dword [ebp - 0xe8], 0xffffffe2
jmp 0x1001af12
mov dword [ebp - 0x18], 0x3d9532bb
mov dword [ebp - 0x18], 0xfffffffb
jmp 0x1001af06
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1001af03
call dword [sym.imp.GDI32.dll_GdiFlush]
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffff0
jg 0x1001aef4
inc dword [ebp - 0xe8]
cmp dword [ebp - 0xe8], 0xd
jle 0x1001aee4
mov esi, dword [sym.imp.USER32.dll_GetDC]
mov dword [ebp - 0x50], 0xfffffff4
jmp 0x1001af73
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1001af70
push 0x183e
push 0x6e
push 0x1c9
push ebx
push 0x26cb
push 0x1aa
call edi
push eax
call esi
push eax
push 0x1b3c
push 0x430
push 0x604
push 0x14a6
call edi
push eax
call esi
push eax
call dword [sym.imp.GDI32.dll_MaskBlt]
inc dword [ebp - 0x50]
cmp dword [ebp - 0x50], 0xf
je 0x1001af2a
mov dword [ebp - 0x10], 5
mov dword [ebp - 0x24], 6
mov dword [ebp - 0x30], 0x5761ac7e
mov dword [ebp - 0x18], ebx
jmp 0x1001afa4
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x90], 0xe0cf
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x1001af93
push 3
mov dword [ebp - 0x10], ebx
pop edi
jmp 0x1001b0db
mov dword [ebp - 0x24], 0xffffffff
lea ecx, [ebp - 0x1fc]
call fcn.1001854e
mov dword [ebp - 0x18], ebx
jmp 0x1001afdf
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1fc]
mov dword [eax + ecx*4], 6
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1001afcc
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x90]
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x90], ebx
jne 0x1001b036
mov eax, dword [ebp - 0x10]
xor edx, edx
mov ecx, dword [ebp + eax*4 - 0x90]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x90]
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x88]
setge cl
sub ecx, eax
mov eax, dword [ebp - 0x10]
imul eax, ecx
test eax, eax
jne 0x1001b036
mov edx, ebx
jmp 0x1001b03b
xor eax, eax
lea edx, [eax + 1]
mov eax, dword [ebp - 0x8c]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x10]
setl cl
mov esi, dword [ebp + eax*4 - 0x90]
mov eax, dword [ebp - 0x10]
lea edx, [ecx + 0xfffd]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x10]
setl cl
xor edx, edx
cmp ecx, esi
mov eax, dword [ebp + eax*4 - 0x90]
setle dl
xor ecx, ecx
cmp edx, eax
setge cl
xor eax, eax
cmp ecx, 0x8722
setge al
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1fc]
mov dword [eax], ecx
mov dword [ebp - 0x24], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x24]
shl eax, 3
cmp eax, 0xfffffff8
setne cl
sub ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setle dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x90]
cmp edx, eax
setle cl
sub ecx, dword [ebp - 0x10]
mov dword [ebp - 0x30], ecx
lea ecx, [ebp - 0x1fc]
call fcn.100185d0
inc dword [ebp - 0x10]
push 2
cmp dword [ebp - 0x10], edi
jle 0x1001afb5
lea ecx, [ebp - 0x110]
call fcn.1001854e
mov dword [ebp - 4], edi
lea ecx, [ebp - 0x1e4]
xor eax, eax
mov dword [ebp - 0x20], 0xfffffff6
inc eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], 0xd0811fc8
push 4
call fcn.1001854e
push 4
pop edx
mov byte [ebp - 4], dl
mov dword [ebp - 0x28], 0xfffffffe
mov dword [ebp - 0x10], ebx
jmp 0x1001b13a
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x110]
mov dword [eax + ecx*4], 0xdb58e469
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1001b127
mov dword [ebp - 0x10], ebx
jmp 0x1001b156
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x300], 0x985a9576
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x1001b145
mov dword [ebp - 0x10], ebx
jmp 0x1001b173
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1e4]
mov dword [eax + ecx*4], 0x31e7
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x1001b160
inc dword [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 0x2f4]
mov eax, dword [ebp - 0x110]
mov edx, dword [ebp - 0x1e4]
mov edi, dword [sym.imp.GDI32.dll_SelectObject]
mov esi, dword [eax]
mov eax, dword [ebp - 0x2c]
cmp dword [edx + 0xc], eax
setg cl
xor edx, edx
cmp ecx, esi
setle dl
xor eax, eax
cmp esi, edx
setle al
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x110]
sub ecx, 0x2157
cmp dword [eax], ecx
jle 0x1001b20c
push 3
lea ecx, [ebp - 0x1cc]
call fcn.1001854e
mov dword [ebp - 0x18], ebx
jmp 0x1001b1ef
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1cc]
mov dword [eax + ecx*4], 0xc6dcff2f
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1001b1dc
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1cc]
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x1cc]
jmp 0x1001b2e3
mov dword [ebp - 0x18], 0x1839
xor esi, esi
mov dword [ebp - 0x30], 0x82eddaad
inc esi
mov dword [ebp - 0x10], 0x66fc9e27
inc dword [ebp - 0x18]
je 0x1001b234
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x110]
mov dword [eax], esi
mov eax, dword [ebp - 0x18]
cmp esi, eax
sbb eax, eax
neg eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
imul eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x1c]
jle 0x1001b2ea
push 4
lea ecx, [ebp - 0x22c]
call fcn.1001854e
mov dword [ebp - 0x40], 0x1cb69acb
mov dword [ebp - 0x1c], ebx
jmp 0x1001b288
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x22c]
mov dword [eax + ecx*4], 2
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x1001b275
mov eax, dword [ebp - 0x2f4]
xor edx, edx
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x22c]
mov eax, dword [ebp - 0x10]
cmp dword [ecx + 0xc], eax
mov eax, dword [ebp - 0x2f4]
setg dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x10], 0xfffffffc
jmp 0x1001b2d7
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1001b2d4
push ebx
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x15
jne 0x1001b2c4
lea ecx, [ebp - 0x22c]
call fcn.100185d0
jmp 0x1001b304
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1001b304
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call edi
lea ecx, [ebp - 0x1e4]
call fcn.100185d0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x110]
call fcn.100185d0
mov dword [ebp - 0x18], 0x38a1f949
mov dword [ebp - 0x2c], 0x6310fe
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x20], 0x13ec752f
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x34], 0x18bd8502
mov dword [ebp - 0x24], 0xfffffffc
mov dword [ebp - 0x20], 0x3a38d067
mov dword [ebp - 0x28], 0x523e24b1
push 4
pop eax
mov dword [ebp - 0x268], eax
mov dword [ebp - 0x264], eax
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x25c], eax
mov dword [ebp - 0x1c], ebx
jmp 0x1001b387
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x80], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1001b37d
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x20], ebx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x18]
cmp eax, 0x5466
mov eax, dword [ebp - 0x18]
setle cl
xor edx, edx
cmp ecx, eax
setge dl
sub edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x20]
neg edx
mov eax, dword [ebp - 0x2c]
sbb edx, edx
inc edx
cmp edx, 0xab6dad81
sbb esi, esi
xor edx, edx
inc esi
cmp eax, ecx
setne dl
xor eax, eax
cmp edx, esi
setle al
xor ecx, ecx
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x30]
setle cl
xor edx, edx
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x10]
cmp eax, ecx
mov eax, dword [ebp - 0x24]
setge dl
xor ecx, ecx
cmp edx, eax
setle cl
xor eax, eax
cmp ecx, 0xfffffffd
setge al
imul eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x10], 2
cmp dword [ebp - 0x10], ebx
jl 0x1001b502
xor eax, eax
lea ecx, [ebp - 0x214]
inc eax
push eax
call fcn.1001854e
xor edx, edx
mov dword [ebp - 0x1c], ebx
inc edx
jmp 0x1001b446
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x214]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x1001b436
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x80]
mov eax, dword [ebp - 0x28]
inc dword [ebp - 0x28]
test eax, eax
je 0x1001b49f
mov ecx, dword [ebp - 0x2c]
xor edx, edx
mov eax, dword [ebp - 0x18]
cmp eax, ecx
mov eax, dword [ebp - 0x10]
setle dl
mov eax, dword [ebp + eax*4 - 0x80]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], edx
jg 0x1001b47f
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x80]
xor eax, eax
inc eax
cmp dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x24]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
setl dl
cmp edx, dword [ebp - 0x34]
jne 0x1001b49f
xor eax, eax
lea edx, [eax + 1]
jmp 0x1001b4a1
mov edx, ebx
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x80]
cmp eax, edx
setne cl
sub ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
neg ecx
sbb ecx, ecx
inc ecx
imul ecx, dword [ebp + eax*4 - 0x80]
sub ecx, dword [ebp - 0x18]
dec ecx
neg ecx
sbb ecx, ecx
neg ecx
mov dword [ebp - 0x25c], ecx
lea ecx, [ebp - 0x214]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x80]
xor eax, eax
inc eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x80]
mov eax, dword [ebp - 0x214]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
call fcn.100185d0
dec dword [ebp - 0x10]
jns 0x1001b41f
push 2
lea ecx, [ebp - 0x19c]
call fcn.1001854e
mov dword [ebp - 4], 5
or esi, 0xffffffff
mov dword [ebp - 0x3c], 0x98311173
mov dword [ebp - 0x10], 0xf2ee
mov dword [ebp - 0x18], 0xf89b546
mov dword [ebp - 0x288], esi
mov dword [ebp - 0x284], esi
mov dword [ebp - 0x280], esi
mov dword [ebp - 0x27c], esi
mov eax, dword [ebp - 0x10]
push 3
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x18], ebx
pop ecx
jmp 0x1001b5a0
mov dword [ebp - 0x1c], 0xc6d21cd4
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], ebx
jl 0x1001b598
mov dword [ebp - 0x20], 0x35a23e86
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], ebx
jl 0x1001b593
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x288]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], ebx
dec dword [ebp - 0x20]
jns 0x1001b572
dec dword [ebp - 0x10]
jns 0x1001b563
cmp dword [ebp - 0x1c], ebx
jne 0x1001b5a5
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jle 0x1001b554
mov eax, 0x61928c17
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], eax
xor eax, eax
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x24], 0xd193e05
push ecx
mov dword [ebp - 0x34], 0x2baef6e2
lea ecx, [ebp - 0x1a8]
mov dword [ebp - 0x24], 0x15466bc6
call fcn.1001854e
mov dword [ebp - 0x30], 0xfffffff9
mov dword [ebp - 0x1c], ebx
jmp 0x1001b608
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1a8]
mov dword [eax + ecx*4], 0xf9b6917a
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1001b5f5
mov dword [ebp - 0x18], ebx
jmp 0x1001b636
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1001b633
push 0x550
push 0xb02
push ebx
push 0x18f9
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jle 0x1001b613
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0xa4]
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x24]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
setl cl
sub ecx, dword [ebp - 0xa4]
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0xac]
neg eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1a8]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0xac]
cmp ecx, eax
mov eax, dword [ebp - 0x34]
setge dl
xor ecx, ecx
imul eax, edx
cmp eax, 0x5de1fc65
setne cl
mov dword [ebp - 0x30], ecx
lea ecx, [ebp - 0x1a8]
call fcn.100185d0
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x1c], ebx
jmp 0x1001b6ca
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x328], 0xf0ea
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1001b6b9
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1001b6e0
push ebx
call dword [sym.imp.KERNEL32.dll_EncodePointer]
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1001b6f2
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_EnumResourceTypesW]
mov dword [ebp - 0x18], ebx
xor ecx, ecx
mov dword [ebp - 0x28], 0xb64b5c6f
inc ecx
mov dword [ebp - 0x24], 0x2ba75a59
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x40], 0x50678e0
mov dword [ebp - 0x40], 0xfffffffe
mov dword [ebp - 0x1c], ebx
jmp 0x1001b72c
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x124], esi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1001b71f
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x28], 0xfffffffd
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
cmp eax, 0xfffffff8
setne cl
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x124]
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x18]
imul edx, dword [ebp - 0x18]
imul ecx, eax
mov eax, dword [ebp - 0x30]
imul edx, ecx
xor ecx, ecx
cmp edx, eax
setg cl
sub ecx, dword [ebp - 0x18]
mov dword [ebp - 0x40], ecx
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], al
je 0x1001b793
push ebx
push 0x2b1
push ebx
call dword [sym.imp.ADVAPI32.dll_ControlService]
mov dword [ebp - 0x18], 0xfffffff8
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1001b7aa
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov dword [ebp - 0x18], ebx
jmp 0x1001b7d8
mov dword [ebp - 0x1c], 0x53aa9ac7
mov dword [ebp - 0x1c], ebx
jmp 0x1001b7cf
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1001b7cc
push ebx
push ebx
call dword [sym.imp.USER32.dll_LoadCursorA]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jne 0x1001b7bb
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
je 0x1001b7af
mov dword [ebp - 0x24], 0x51d69f42
mov dword [ebp - 0x3c], 0x85613717
mov dword [ebp - 0x30], 0x9d010789
mov dword [ebp - 0x34], 0xfff8
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1001b814
push 0x1893
push 0xdcd
push ebx
call dword [sym.imp.USER32.dll_OffsetRect]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x34]
cmp dword [ebp - 0x24], 0x8900fdb6
mov eax, dword [ebp - 0x34]
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setle cl
xor eax, eax
mov dword [ebp - 0x3c], ecx
inc eax
mov dword [ebp - 0x30], 0xd06ce125
lea ecx, [ebp - 0x2c0]
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x30], 0x88a137b1
push eax
call fcn.1001854e
mov dword [ebp - 0x30], 0x9cb61d22
xor edx, edx
mov dword [ebp - 0x30], 0xc2da8afc
inc edx
mov dword [ebp - 0x10], ebx
jmp 0x1001b881
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x2c0]
mov dword [eax + ecx*4], 0x2a1836cc
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x1001b86e
mov dword [ebp - 0x10], ebx
jmp 0x1001b898