Function at 0x1001645b
Capabilities:
Delete file
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10074a87
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x180
mov dword [esp + 0x14], 0xfffd
mov dword [esp], 0xffffffff
push ebx
mov dword [esp + 0x10], 0xfffffff8
mov eax, dword [esp + 4]
push esi
push edi
mov dword [esp + 0x94], edx
mov dword [esp + 0x38], ecx
cmp eax, dword [esp + 0xc]
jne 0x100164af
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
xor edi, edi
inc edi
mov eax, edi
push 0
pop ebx
sub eax, ecx
je 0x100164cd
mov dword [esp + 0xc], 0x678e045d
mov dword [esp + 0xc], ecx
jmp 0x1001650b
mov dword [esp + 0x10], 0x7e280bfe
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jne 0x100164e3
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
sub eax, dword [esp + 0x10]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], 0xaaa4f69a
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
mov dword [esp + 0x1c], ebx
jmp 0x100165a4
mov dword [esp + 0xc], 0x8169b41d
mov dword [esp + 0xc], ebx
jmp 0x10016547
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x34], 0x6d4f
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edi
jl 0x10016537
mov dword [esp + 0x10], ebx
jmp 0x1001659a
mov dword [esp + 0xc], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 0xc], ebx
mov eax, dword [esp + 0x10]
mov eax, dword [esp + eax*4 + 0x34]
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + eax*4 + 0x34]
cmp dword [esp + 0x34], ebx
jne 0x10016581
mov edx, ebx
cmp dword [esp + 0x1c], ebx
je 0x10016583
mov edx, edi
mov eax, dword [esp + 0x1c]
xor ecx, ecx
cmp edx, eax
sete cl
mov dword [esp + 0xc], ecx
mov dword [esp + 0xc], ebx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jle 0x10016553
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0x16
jle 0x10016529
mov dword [esp + 0x10], 0x690f1d89
xor edx, edx
push 2
pop esi
mov dword [esp + 0x18], esi
mov dword [esp + 0x24], 0xc36b
mov dword [esp + 0xc], 0x7220
mov dword [esp + 0x1c], 0xb7212908
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
add eax, 4
cmp eax, 0xd926
mov eax, dword [esp + 0x10]
setg dl
xor ecx, ecx
cmp eax, edx
setg cl
xor edx, edx
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
cmp ecx, eax
mov eax, dword [esp + 0x10]
setne dl
xor ecx, ecx
cmp edx, eax
setge cl
sub ecx, 0xea4d
je 0x100166aa
mov dword [esp + 0x20], 0x17245c2f
mov dword [esp + 0x18], 0xa2c9dbe4
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x20]
neg esi
sbb esi, esi
sub edx, dword [esp + 0x20]
neg esi
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
add edx, dword [esp + 0xc]
mov eax, dword [esp + 0x20]
cmp edx, eax
setl cl
imul ecx, dword [esp + 0x10]
test ecx, ecx
jne 0x1001666f
mov ecx, ebx
cmp dword [esp + 0x20], ebx
je 0x10016671
mov ecx, edi
mov eax, dword [esp + 0x20]
add ecx, esi
mov dword [esp + 0x24], eax
xor edx, edx
imul ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push 2
pop esi
cmp eax, ecx
mov eax, dword [esp + 0xc]
setl dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x18], eax
jmp 0x10016789
push dword [esp + 0x38]
lea eax, [esp + 0x16c]
mov dword [esp + 0x14], 0xda30
push eax
lea eax, [esp + 0x160]
mov dword [esp + 0x14], 0xc4186397
push eax
xorps xmm0, xmm0
mov dword [esp + 0x18], edi
push ebx
lea ecx, [esp + 0x94]
mov dword [esp + 0x94], ebx
movdqu xmmword [esp + 0x168], xmm0
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], ebx
call fcn.10015b4b
mov dword [esp + 0x20], 7
mov dword [esp + 0xc], ebx
jmp 0x1001671e
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x54], 9
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edi
jl 0x1001670e
mov eax, dword [esp + 0x10]
xor edx, edx
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
cmp ecx, eax
setg dl
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0xc]
neg eax
sbb eax, eax
inc eax
imul ecx, eax, 5
mov eax, dword [esp + 0x84]
mov dword [eax + 0xc], ecx
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x54]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x54]
cmp dword [esp + 0x20], eax
jle 0x10016777
mov eax, edi
cmp dword [esp + 0x24], ebx
jne 0x10016779
mov eax, ebx
lea ecx, [esp + 0x84]
mov dword [esp + 0xc], eax
call fcn.10014d9a
mov dword [esp + 0x24], edi
or eax, 0xffffffff
mov dword [esp + 0xc], 0xfffffffc
mov dword [esp + 0x1c], 0x83d1f0df
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], 0x717824ff
mov dword [esp + 0xc], ebx
jmp 0x100167d2
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x28], 0x8876
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edi
jl 0x100167c2
cmp dword [esp + 0x28], ebx
jne 0x100167e2
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x28]
xor edx, edx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x28]
imul ecx, eax, 0x123d
mov eax, dword [esp + 0x28]
cmp ecx, eax
setl dl
cmp edx, dword [esp + 0x28]
jg 0x10016811
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x28]
xor ecx, ecx
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x28]
cmp eax, edi
setl cl
xor eax, eax
cmp ecx, 0xfffffff9
mov dword [esp + 0x44], ecx
setl al
cmp eax, dword [esp + 0x28]
jne 0x10016842
mov edx, edi
cmp dword [esp + 0x28], ebx
jne 0x10016844
mov edx, ebx
mov eax, dword [esp + 0x28]
xor ecx, ecx
cmp edx, eax
setg cl
cmp ecx, edi
sbb eax, eax
inc eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x28]
cmp dword [esp + 0x18], eax
jge 0x10016866
mov eax, dword [esp + 0x28]
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 0x1c], ebx
jmp 0x100168e0
mov dword [esp + 0x24], 0xb303a67d
cmp dword [esp + 0xc], ebx
jne 0x10016896
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + eax*4 + 0x44]
mov eax, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0x44], ecx
xor ecx, ecx
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x44]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + eax*4 + 0x44]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
cmp eax, 0x6770d28c
setg cl
xor eax, eax
cmp ecx, 8
setle al
mov dword [esp + 0x24], eax
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 3
jle 0x10016874
mov eax, dword [esp + 0x20]
imul eax, dword [esp + 0x1c], 0x6032
push esi
sub eax, dword [esp + 0x2c]
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0x1c]
sub edx, 0x7ce1
add edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setge cl
xor edx, edx
sub ecx, dword [esp + 0x24]
sub ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x4c]
cmp ecx, 0xffffd9b7
setne dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [esp + 0x48]
setle cl
imul eax, ecx
lea ecx, [esp + 0x70]
mov dword [esp + 0x54], eax
mov dword [esp + 0x28], 0xfffffffe
mov dword [esp + 0x14], 0xd8b9dbea
call fcn.10014568
mov dword [esp + 0x18], 0xd329
mov dword [esp + 0xc], 8
mov dword [esp + 0xc], 0x8700d35d
mov dword [esp + 0x20], ebx
mov dword [esp + 0xc], ebx
jmp 0x10016996
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x6c]
mov dword [eax + ecx*4], 0xe3b372ba
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x10016983
cmp dword [esp + 0x10], ebx
jne 0x100169b9
imul eax, dword [esp + 0x10], 7
test eax, eax
je 0x100169b9
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x6c]
mov dword [eax], ecx
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov dword [esp + 0xc], edi
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x6c]
cmp dword [eax], ebx
mov eax, dword [esp + 0x10]
setle cl
sub ecx, eax
sub ecx, 0xb7a1
imul eax, ecx, 0x8722
xor ecx, ecx
cmp eax, 0xc895
setg cl
xor eax, eax
cmp ecx, 5
setg al
xor edx, edx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
cmp ecx, eax
mov eax, dword [esp + 0x6c]
lea ecx, [esp + 0x6c]
setge dl
mov dword [eax], edx
call fcn.10014d9a
mov dword [esp + 0xc], ebx
jmp 0x10016a3b
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x118], 0x5e17
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x10016a28
mov dword [esp + 0xc], esi
mov dword [esp + 0xc], 9
mov dword [esp + 0x1c], ebx
jmp 0x10016a63
mov eax, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0x178], edi
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 4
jl 0x10016a54
mov dword [esp + 0x1c], ebx
jmp 0x10016a80
mov eax, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0x60], 8
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 3
jl 0x10016a70
mov dword [esp + 0x60], 3
cmp dword [esp + 0x60], ebx
jl 0x10016acb
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10016aba
push ebx
push 0x66
push ebx
push 0xe69
push 0x1ee6
push ebx
push 0xb3d
call dword [sym.imp.KERNEL32.dll_FormatMessageW]
mov eax, dword [esp + 0x60]
mov eax, dword [esp + eax*4 + 0x178]
dec dword [esp + 0x60]
jns 0x10016a95
mov dword [esp + 0xc], ebx
jmp 0x10016b1e
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10016af0
push ebx
push ebx
push 0x2055
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10016b1a
push ebx
push 0x26e
push 0x1bab
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetDIBColorTable]
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jle 0x10016ad1
mov dword [esp + 0xc], esi
cmp dword [esp + 0xc], ebx
jl 0x10017145
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], 0xfffffffc
mov dword [esp + 0x24], ebx
jmp 0x10016bf6
mov dword [esp + 0x1c], edi
mov dword [esp + 0x18], ebx
jmp 0x10016b65
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x90], 0x13244d51
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edi
jl 0x10016b52
cmp dword [esp + 0x1c], ebx
je 0x10016b93
mov dword [esp + 0x18], 0x568d
mov dword [esp + 0x20], 0x8588d0d3
mov dword [esp + 0x1c], 0xfffffff7
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], eax
jmp 0x10016bea
mov dword [esp + 0x1c], 9
jmp 0x10016bc0
mov dword [esp + 0x20], ebx
mov dword [esp + 0x20], ebx
jmp 0x10016bb6
mov eax, dword [esp + 0x20]
mov dword [esp + eax*4 + 0x90], edi
inc dword [esp + 0x20]
cmp dword [esp + 0x20], edi
jl 0x10016ba7
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0xe
jl 0x10016b9d
mov dword [esp + 0x1c], 0xffffffe4
jmp 0x10016be3
mov dword [esp + 0x18], 0x1c17c774
cmp dword [esp + 0x18], ebx
jne 0x10016bea
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 8
je 0x10016bd1
mov dword [esp + 0x1c], 0x61b583dc
dec dword [esp + 0x24]
cmp dword [esp + 0x24], 0xffffffe5
jne 0x10016b48
mov dword [esp + 0x20], esi
cmp dword [esp + 0x20], ebx
jl 0x1001713b
mov dword [esp + 0x10], 4
lea ecx, [esp + 0xd4]
mov dword [esp + 0x18], 0xfffffffc
push 3
call fcn.10014568
mov dword [esp + 0x18], 0xa5efa20b
mov dword [esp + 0x18], 0x35e4b783
mov dword [esp + 0x24], ebx
mov dword [esp + 0x18], ebx
jmp 0x10016c5a
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0xd4]
or dword [eax + ecx*4], 0xffffffff
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 3
jl 0x10016c47
mov edx, dword [esp + 0xd4]
xor ecx, ecx
mov eax, dword [esp + 0x10]
inc dword [edx + 4]
cmp eax, dword [edx + 4]
setge cl
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0xd4]
inc dword [esp + 0x24]
call fcn.10014d9a
mov dword [esp + 0x18], 0xfffffff8
lea ecx, [esp + 0x98]
mov dword [esp + 0x24], 0x3cf68729
push edi
call fcn.10014568
mov dword [esp + 0x194], ebx
lea eax, [esp + 0x178]
push dword [esp + 0x38]
movdqa xmm0, xmmword [0x10007b80]
lea ecx, [esp + 0x7c]
push eax
lea eax, [esp + 0x170]
mov dword [esp + 0x2c], 0x4f204795
push eax
push ebx
movdqu xmmword [esp + 0x178], xmm0
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], ebx
call fcn.10015b4b
mov byte [esp + 0x194], 1
mov dword [esp + 0x1c], 0xfffffffe
mov dword [esp + 0x18], ebx
mov dword [esp + 0x10], ebx
jmp 0x10016d27
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x98]
mov dword [eax + ecx*4], esi
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 1
jl 0x10016d15
mov dword [esp + 0x10], ebx
jmp 0x10016d44
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x2c], 0x184c506d
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 1
jl 0x10016d34
mov dword [esp + 0x2c], ebx
cmp dword [esp + 0x2c], ebx
jg 0x10016e62
push 0xfffffffffffffffc
pop edi
mov dword [esp + 0x18], 0x12af0488
lea ecx, [esp + 0x14c]
mov dword [esp + 0x18], 1
mov dword [esp + 0x18], esi
mov dword [esp + 0x10], edi
push 3
call fcn.10014568
mov dword [esp + 0x18], ebx
jmp 0x10016d9e
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14c]
mov dword [eax + ecx*4], 0xfffffff9
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 3
jl 0x10016d88
mov eax, dword [esp + 0x1c]
inc dword [esp + 0x1c]
test eax, eax
jne 0x10016e0e
mov ecx, dword [esp + 0x10]
dec ecx
neg ecx
sbb ecx, ecx
neg ecx
cmp ecx, edi
setg al
xor edx, edx
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
cmp eax, ecx
setg dl
xor eax, eax
cmp edx, 7
setle al
xor ecx, ecx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x24]
cmp dword [esp + 0x18], eax
setle cl
mov dword [esp + 0x18], ecx
cmp dword [esp + 0x18], ebx
jne 0x10016e01
cmp dword [esp + 0x2c], ebx
jne 0x10016e01
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x78]
cmp dword [eax + 0xc], ebx
je 0x10016e0e
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x98]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x2c]
cmp dword [esp + 0x10], ebx
je 0x10016e42
mov eax, dword [esp + 0x98]
cmp dword [eax], ebx
je 0x10016e42
xor eax, eax
inc eax
jmp 0x10016e44
mov eax, ebx
mov dword [esp + 0x18], eax
lea ecx, [esp + 0x14c]
call fcn.10014d9a
inc dword [esp + 0x2c]
cmp dword [esp + 0x2c], ebx
jle 0x10016d5c
mov dword [esp + 0x24], 3
cmp dword [esp + 0x24], ebx
jl 0x10016eb7
mov dword [esp + 0x1c], ebx
jmp 0x10016e86
mov eax, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0x2c], 0x46bac60
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 1
jl 0x10016e76
mov dword [esp + 0x1c], ebx
jmp 0x10016eab
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10016ea7
push ebx
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegLoadKeyW]
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], ebx
jle 0x10016e93
dec dword [esp + 0x24]
jns 0x10016e70
lea ecx, [esp + 0x78]
call fcn.10014d9a
or dword [esp + 0x194], 0xffffffff
lea ecx, [esp + 0x98]
call fcn.10014d9a
xor edi, edi
mov dword [esp + 0x18], esi
inc edi
cmp dword [esp + 0x18], ebx
jl 0x10017131
push 3
pop ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x24], 9
mov dword [esp + 0x10], ebx
mov dword [esp + 0x1c], 0x480
mov dword [esp + 0x24], 0x2d1a4e66
mov dword [esp + 0x10], 0xaba4a2c6
mov dword [esp + 0x10], 0x7f9f41ad
mov dword [esp + 0x10], ebx
jmp 0x10016f31
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0xe0], 7
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ecx
jl 0x10016f1e
mov dword [esp + 0x10], ebx
jmp 0x10016f49
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x58], ebx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x10016f3d
inc dword [esp + 0x24]
xor edx, edx
mov ecx, dword [esp + 0xe4]
mov eax, dword [esp + 0x24]
add ecx, eax
mov eax, dword [esp + 0x24]
cmp eax, ecx
setg dl
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x58]
mov eax, dword [esp + 0x58]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0xe0]
mov eax, dword [esp + 0x5c]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xe4], eax
mov ecx, dword [esp + 0x5c]
add ecx, eax
xor eax, eax
cmp ecx, 0x8c38ec32
setne al
mov dword [esp + 0x10], eax
mov dword [esp + 0x10], ebx
jmp 0x10017026
mov dword [esp + 0x24], 0xfffffffb
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x20], ebx
jne 0x10016fca
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x20], 0xfff9
mov edx, dword [esp + 0xc]
sbb eax, eax
neg eax
sub edx, eax
mov eax, dword [esp + 0x18]
neg edx
sbb edx, edx
xor ecx, ecx
mov eax, dword [esp + eax*4 + 0x118]
inc edx
cmp eax, edx
setg cl
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x120]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x24], edi
cmp dword [esp + 0x18], ebx
jne 0x1001701c
mov eax, ebx
cmp dword [esp + 0x20], ebx
je 0x1001701e
mov eax, edi
mov dword [esp + 0x24], eax
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jle 0x10016fb4
push edi
lea ecx, [esp + 0xc0]
call fcn.10014568
mov dword [esp + 0x194], esi
lea ecx, [esp + 0xc8]
mov dword [esp + 0x24], 5
push esi
call fcn.10014568
mov dword [esp + 0x1c], ebx
jmp 0x1001706b
mov eax, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0x3c], 0xfffc
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], esi
jl 0x1001705b
mov dword [esp + 0x1c], ebx
jmp 0x1001708d
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0xbc]
mov dword [eax + ecx*4], 0x9cdf9c77
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], edi
jl 0x10017077
mov dword [esp + 0x1c], ebx
jmp 0x100170af
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0xc8]
mov dword [eax + ecx*4], 0x1eb64d0
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], esi
jl 0x10017099
dec dword [esp + 0x3c]
cmp dword [esp + 0x40], 0x95ae649f
jae 0x100170de
mov eax, dword [esp + 0xbc]
mov dword [eax], edi
mov eax, dword [esp + 0x3c]
dec eax
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x3c]
xor edx, edx
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x24]
cmp eax, ecx
mov eax, dword [esp + 0xc8]
lea ecx, [esp + 0xc8]
setge dl
mov dword [eax + 4], edx
call fcn.10014d9a
or dword [esp + 0x194], 0xffffffff
lea ecx, [esp + 0xbc]
call fcn.10014d9a
imul eax, dword [esp + 0x10], 0x3e32
mov dword [esp + 0x10], eax
dec dword [esp + 0x18]
jns 0x10016ee5
dec dword [esp + 0x20]
jns 0x10016c0f
dec dword [esp + 0xc]
jns 0x10016b33
mov dword [esp + 0xc], ebx
jmp 0x1001715e
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x124], 0xfffffffb
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edi
jl 0x1001714b
push esi
lea ecx, [esp + 0xb4]
call fcn.10014568
mov dword [esp + 0x10], 0x2ee76f50
mov dword [esp + 0xc], ebx
jmp 0x10017192
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0xb0]
or dword [eax + ecx*4], 0xffffffff
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x1001717f
mov dword [esp + 0x10], edi
cmp dword [esp + 0x10], ebx
jl 0x10017213
mov dword [esp + 0x20], 0xc3ad3b31
mov dword [esp + 0x20], edi
cmp dword [esp + 0x20], ebx
jl 0x100171d0
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x100171c6
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov eax, dword [esp + 0x20]
dec dword [esp + 0x20]
jns 0x100171b4
mov eax, dword [esp + 0x10]
xor edx, edx
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 0x78acc4b7
setge dl
sub edx, dword [esp + 0x10]
mov eax, dword [esp + 0xb0]
sub edx, 2
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp dword [eax + esi*4], edx
setl cl
mov dword [esp + 0x20], ecx
dec dword [esp + 0x10]
jns 0x100171a2
lea ecx, [esp + 0xb0]
call fcn.10014d9a
mov dword [esp + 0x10], 0xa276
mov dword [esp + 0xc], 0xfffffff8
mov dword [esp + 0xc], 0xedad
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cmp eax, dword [esp + 0x10]
jge 0x1001728b
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10017293
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDlgCtrlID]
jmp 0x10017293
mov dword [esp + 0xc], 8
mov esi, dword [sym.imp.USER32.dll_WaitMessage]
mov edi, dword [sym.imp.OLEAUT32.dll_VariantClear]
mov dword [esp + 0x24], ebx
jmp 0x100175fb
push 3
lea ecx, [esp + 0x12c]
call fcn.10014568
mov dword [esp + 0xc], 0xaeef20fe
mov dword [esp + 0xc], ebx
jmp 0x100172da
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x128]
mov dword [eax + ecx*4], 0x7571177e
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x100172c4
mov dword [esp + 0xc], ebx
jmp 0x10017307
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10017303
push ebx
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
push ebx
push ebx
call dword [sym.imp.USER32.dll_DialogBoxParamA]
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jle 0x100172e7
lea ecx, [esp + 0x128]
call fcn.10014d9a
xor edx, edx
or ecx, 0xffffffff
inc edx
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], 0xf6efba1a
mov dword [esp + 0x18], 9
mov dword [esp + 0xc], ecx
mov dword [esp + 0xc], 0xab81d4b4
mov dword [esp + 0xc], 0xfffffffb
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
imul eax, dword [esp + 0xc], 0xffff
sub eax, dword [esp + 0x10]
mov dword [esp + 0xc], eax
je 0x1001742e
mov dword [esp + 0x20], 0xb1857497
mov dword [esp + 0xc], 0xb51404fc
mov dword [esp + 0xc], 0xbcfb656d
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x100], ecx
mov dword [esp + 0x104], ecx
mov dword [esp + 0x108], ecx
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x20]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp ecx, edx
setl al
xor ecx, ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cmp eax, 0xa60d
mov eax, 0xfff7
setg cl
sub ecx, 0x24a1
neg ecx
sbb ecx, ecx
inc ecx
cmp eax, ecx
sbb eax, eax
inc eax
mov dword [esp + 0x108], eax
jmp 0x100174e1
mov dword [esp + 0x18], 0xfffffff9
lea ecx, [esp + 0x10c]
push 2
call fcn.10014568
mov dword [esp + 0xc], ebx
jmp 0x10017460
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10c]
mov dword [eax + ecx*4], 0x84f7a324
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x1001744a
mov dword [esp + 0xc], 0xf
jmp 0x100174b0
mov dword [esp + 0x18], 1
inc dword [esp + 0x18]
mov dword [esp + 0x18], 1
cmp dword [esp + 0x18], ebx
jl 0x100174ac
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10017498
call esi
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x100174a6
push ebx
call edi
dec dword [esp + 0x18]
jns 0x1001748b
dec dword [esp + 0xc]
cmp dword [esp + 0xc], 0xfffffff1
jg 0x10017471
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x100174d5
push 0x199d
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetClassNameW]
lea ecx, [esp + 0x10c]
call fcn.10014d9a
mov byte [esp + 0x33], bl
mov dword [esp + 0x20], 0xfffffffa
mov dword [esp + 0xc], 0xfffffff7
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 0x20], ebx
jmp 0x100175d9
mov dword [esp + 0x18], 0xe2167fa5
lea ecx, [esp + 0xa4]
push 3
call fcn.10014568
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 0xc], ebx
jmp 0x10017540
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0xa4]
mov dword [eax + ecx*4], 0xc3a60813
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x1001752a
mov eax, dword [esp + 0x18]
xor ecx, ecx
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
cmp eax, 0x7963ba20
setle cl
xor eax, eax
cmp ecx, 1
mov ecx, dword [esp + 0xa4]
setge al
xor edx, edx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cmp eax, dword [ecx + 4]
setg dl
sub edx, 0xa756a336
neg edx
sbb edx, edx
inc edx
mov dword [esp + 0xc], edx
xor edx, edx
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0xc]
cmp ecx, eax
setle dl
mov dword [esp + 0xc], edx
mov dword [esp + 0xc], ebx
jmp 0x100175c2
mov dword [esp + 0x18], 0xfffffffc
cmp dword [esp + 0x18], ebx
jne 0x100175c9
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 0x14
jle 0x100175b0
lea ecx, [esp + 0xa4]
call fcn.10014d9a
dec dword [esp + 0x20]
cmp dword [esp + 0x20], 0xfffffff5
jl 0x10017506
push 0x6037
lea eax, [esp + 0x37]
push eax
push ebx
call fcn.1001a520
add esp, 0xc
inc dword [esp + 0x24]
cmp dword [esp + 0x24], ebx
jle 0x100172a8
xor eax, eax
lea ecx, [esp + 0x140]
inc eax
mov dword [esp + 0xc], eax
mov dword [esp + 0xc], 0xdada439b
mov dword [esp + 0xc], 0xdc4b4e12
mov dword [esp + 0xc], 0x90a624cd
mov dword [esp + 0xc], 0xeb9ae77a
mov dword [esp + 0xc], eax
mov dword [esp + 0xc], 0x707dfe4
mov dword [esp + 0xc], eax
push 2
call fcn.10014568
mov dword [esp + 0xc], 0xfffffff8
mov dword [esp + 0x18], ebx
mov dword [esp + 0xc], ebx
jmp 0x1001766e
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x140]
mov dword [eax + ecx*4], ebx
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x1001765c
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10017686
call dword [sym.imp.USER32.dll_CreatePopupMenu]
inc dword [esp + 0x18]
lea ecx, [esp + 0x140]
call fcn.10014d9a
xor edx, edx
or ecx, 0xffffffff
inc edx
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], 0xf6efba1a
mov dword [esp + 0x18], 9
mov dword [esp + 0xc], ecx
mov dword [esp + 0xc], 0xab81d4b4
mov dword [esp + 0xc], 0xfffffffb
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
imul eax, dword [esp + 0xc], 0xffff
sub eax, dword [esp + 0x10]
mov dword [esp + 0xc], eax
je 0x100177aa
mov dword [esp + 0x20], 0xb1857497
mov dword [esp + 0xc], 0xb51404fc
mov dword [esp + 0xc], 0xbcfb656d
mov dword [esp + 0xec], ecx
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], ecx
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x20]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp ecx, edx
setl al
xor ecx, ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cmp eax, 0xa60d
mov eax, 0xfff7
setg cl
sub ecx, 0x24a1
neg ecx
sbb ecx, ecx
inc ecx
cmp eax, ecx
sbb eax, eax
inc eax
mov dword [esp + 0xf8], eax
jmp 0x1001785d
mov dword [esp + 0x18], 0xfffffff9
lea ecx, [esp + 0x134]
push 2
call fcn.10014568
mov dword [esp + 0xc], ebx
jmp 0x100177dc
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x134]
mov dword [eax + ecx*4], 0x84f7a324
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x100177c6
mov dword [esp + 0xc], 0xf
jmp 0x1001782c
mov dword [esp + 0x18], 1
inc dword [esp + 0x18]
mov dword [esp + 0x18], 1
cmp dword [esp + 0x18], ebx
jl 0x10017828
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10017814
call esi
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10017822
push ebx
call edi
dec dword [esp + 0x18]
jns 0x10017807
dec dword [esp + 0xc]
cmp dword [esp + 0xc], 0xfffffff1
jg 0x100177ed
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10017851
push 0x199d
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetClassNameW]
lea ecx, [esp + 0x134]
call fcn.10014d9a
mov eax, dword [esp + 0x94]
mov ecx, 0x3e8
cdq
idiv ecx
mov ecx, dword [esp + 0x38]
mov edi, edx
mov esi, eax
call fcn.100163e9
mov ecx, dword [esp + 0x18c]
add eax, esi
add eax, edi
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret