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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1008c82c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1b8
push ebx
push esi
xor esi, esi
mov dword [esp + 0x64], ecx
push edi
inc esi
mov dword [esp + 0x98], edx
push esi
lea ecx, [esp + 0xe8]
call fcn.10018a69
xor ebx, ebx
lea ecx, [esp + 0x114]
mov dword [esp + 0x1cc], ebx
mov dword [esp + 0x28], esi
push 4
call fcn.10018a69
mov dword [esp + 0x24], 0x1fbc9fa8
push 0xfffffffffffffff6
pop edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x20], 0xd700698
mov dword [esp + 0x20], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x170], edi
mov dword [esp + 0x174], edi
mov dword [esp + 0x178], edi
mov dword [esp + 0x17c], edi
mov dword [esp + 0x20], ebx
mov dword [esp + 0x20], 8
mov dword [esp + 0x2c], 0xacdd711a
mov dword [esp + 0x14], ebx
jmp 0x1001a972
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xe4]
mov dword [eax + ecx*4], esi
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x1001a960
mov dword [esp + 0x14], ebx
jmp 0x1001a991
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x114]
or dword [eax + ecx*4], 0xffffffff
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 4
jl 0x1001a97e
mov eax, dword [esp + 0xe4]
mov eax, dword [eax]
inc eax
jne 0x1001a9a8
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x28]
xor ecx, ecx
mov eax, dword [esp + 0xe4]
mov edx, dword [esp + 0x114]
mov eax, dword [eax]
add eax, eax
sub eax, dword [edx]
cmp eax, 0x631615e8
setge cl
xor eax, eax
cmp ecx, dword [edx + 4]
lea ecx, [esp + 0x114]
setl al
mov dword [esp + 0x24], eax
inc dword [esp + 0x2c]
call fcn.10018aee
or dword [esp + 0x1cc], 0xffffffff
lea ecx, [esp + 0xe4]
call fcn.10018aee
mov dword [esp + 0x2c], 0xc692
lea ecx, [esp + 0xa0]
mov dword [esp + 0x34], 0xc6338430
push 3
mov dword [esp + 0x20], esi
pop eax
mov dword [esp + 0x40], 0x16efa42b
mov dword [esp + 0x30], 0x9253a34c
mov dword [esp + 0x20], eax
push eax
call fcn.10018a69
mov dword [esp + 0x1cc], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x60], 0xec00
mov dword [esp + 0x54], edi
mov dword [esp + 0x64], 0xca1d25f
push 3
mov dword [esp + 0x48], 0x79c0213a
mov dword [esp + 0x14], ebx
pop edx
jmp 0x1001aa78
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xa0]
mov dword [eax + ecx*4], 0xfffffffe
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x1001aa62
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
cmp dword [esp + 0x2c], ebx
je 0x1001ac42
mov ecx, 0xb674
mov dword [esp + 0x64], ecx
mov dword [esp + 0x44], 0x82abbf9a
mov dword [esp + 0x14], esi
mov dword [esp + 0x28], 0xd81479b6
mov dword [esp + 0x10], 0xc1747346
mov dword [esp + 0x10], ebx
mov dword [esp + 0x10], ebx
jmp 0x1001aacc
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x84], ebx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x1001aabd
mov eax, dword [esp + 0x64]
mov edx, esi
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x84]
mov eax, dword [esp + 0x60]
dec dword [esp + 0x60]
cmp eax, 0x4b72
mov eax, dword [esp + 0x34]
cmovg edx, ebx
xor ecx, ecx
cmp eax, edx
setge cl
xor edx, edx
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x88]
mov eax, dword [esp + 0x44]
mov eax, dword [esp + 0x8c]
cmp eax, 0xfffffffa
mov eax, dword [esp + 0x40]
setge dl
xor ecx, ecx
cmp edx, eax
setle cl
sub ecx, dword [esp + 0x30]
je 0x1001ab4c
mov eax, esi
cmp dword [esp + 0x88], ebx
jne 0x1001ab4e
mov eax, ebx
cmp dword [esp + 0x14], eax
jg 0x1001ab5c
mov edx, ebx
cmp dword [esp + 0x28], ebx
je 0x1001ab5e
mov edx, esi
mov eax, dword [esp + 0x1c]
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x88]
setg cl
xor edx, edx
imul ecx, ecx, 0x5217
cmp eax, ecx
mov eax, dword [esp + 0x2c]
setl dl
xor ecx, ecx
add eax, edx
cmp eax, 0x230a264
setle cl
imul eax, ecx, 0x9ea4
sub eax, 0x35f93cc
cmp eax, dword [esp + 0x28]
jge 0x1001abe8
mov dword [esp + 0x10], 0xffff
xor ecx, ecx
mov eax, dword [esp + 0x44]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 0xfffffff8
setge cl
sub ecx, dword [esp + 0x54]
neg ecx
sbb ecx, ecx
inc ecx
sub ecx, dword [esp + 0x28]
neg ecx
sbb ecx, ecx
inc ecx
imul ecx, dword [esp + 0x20]
mov eax, dword [esp + 0xa0]
mov dword [eax + 4], ecx
jmp 0x1001acf9
mov dword [esp + 0x14], 2
cmp dword [esp + 0x14], ebx
jl 0x1001acf9
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], 0
je 0x1001ac26
push 0x1932
push ebx
push 0xefd
push 0x683
push ebx
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetCharacterPlacementW]
mov eax, dword [esp + 0x14]
cmp dword [esp + eax*4 + 0x84], ebx
jne 0x1001acf9
dec dword [esp + 0x14]
jns 0x1001abfa
jmp 0x1001acf9
push edx
lea ecx, [esp + 0x10c]
call fcn.10018a69
mov dword [esp + 0x44], 0xcc384641
mov dword [esp + 0x10], ebx
jmp 0x1001ac73
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x108]
mov dword [eax + ecx*4], 5
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x1001ac5d
mov ecx, dword [esp + 0x64]
xor edx, edx
mov eax, dword [esp + 0x24]
cmp eax, ecx
mov esi, dword [esp + 0x108]
setg dl
xor eax, eax
cmp dword [esi + 8], edx
setge al
xor edx, edx
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x1c]
add ecx, dword [esi + 8]
mov eax, dword [esp + 0xa0]
mov dword [eax + 4], ecx
mov dword [esp + 0x44], 0x3fa0
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
cmp ecx, eax
setl dl
imul eax, dword [esp + 0x30], 0x6add
xor ecx, ecx
cmp eax, edx
setle cl
test ecx, ecx
jne 0x1001ace4
cmp dword [esp + 0x34], ebx
je 0x1001ace4
xor esi, esi
inc esi
mov eax, esi
jmp 0x1001ace9
xor esi, esi
mov eax, ebx
inc esi
lea ecx, [esp + 0x108]
mov dword [esp + 0x44], eax
call fcn.10018aee
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0xa0]
mov dword [eax + 8], ecx
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0xa0]
or dword [esp + 0x1cc], 0xffffffff
call fcn.10018aee
mov dword [esp + 0x14], 0x68206240
mov dword [esp + 0x14], 0xffffffeb
jmp 0x1001ad7b
mov dword [esp + 0x10], ebx
mov dword [esp + 0x10], 0x19
jmp 0x1001ad70
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], 0
je 0x1001ad6c
push 0x431
push ebx
push ebx
push 0x126e
push 0x2244
push ebx
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetDIBits]
dec dword [esp + 0x10]
cmp dword [esp + 0x10], 0xfffffff7
jle 0x1001ad3f
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 0xd
jg 0x1001ad31
mov eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
mov dword [esp + 0x3c], 0x3ed15de0
mov dword [esp + 0x14], 0xffffffff
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], ebx
jmp 0x1001aea5
mov dword [esp + 0x24], 0xc86695cd
mov dword [esp + 0x24], 0x1f06e85f
mov dword [esp + 0x24], 0xaba9a984
mov dword [esp + 0x20], ebx
mov dword [esp + 0x10], ebx
jmp 0x1001add9
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x58], 0x4b25b3b
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x1001adc9
mov eax, dword [esp + 0x5c]
xor edx, edx
imul eax, dword [esp + 0x5c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x58]
mov eax, dword [esp + 0x14]
cmp eax, 0x39d2
mov eax, dword [esp + 0x14]
setg dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x24]
mov dword [esp + 0x24], eax
cmp dword [esp + 0x24], 0xfffffffa
mov eax, dword [esp + 0x14]
sbb edx, edx
xor ecx, ecx
add edx, 2
cmp edx, eax
setge cl
xor eax, eax
cmp ecx, 0xffffffff
setle al
xor ecx, ecx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x5c]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x5c]
cmp eax, esi
mov eax, dword [esp + 0x58]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x1c]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x5c]
setge cl
xor edx, edx
cmp ecx, eax
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x5c]
setl dl
sub ecx, eax
mov eax, dword [esp + 0x1c]
add eax, ecx
cmp eax, edx
jl 0x1001ae93
mov eax, ebx
cmp dword [esp + 0x20], ebx
je 0x1001ae95
mov eax, esi
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x5c], eax
dec dword [esp + 0x14]
cmp dword [esp + 0x14], 0xfffffff2
jg 0x1001ada7
push 3
lea ecx, [esp + 0xc4]
call fcn.10018a69
push 2
pop ecx
mov dword [esp + 0x1cc], ecx
mov dword [esp + 0x14], 0xfffffffa
mov dword [esp + 0x20], 0xd8530de9
mov dword [esp + 0x24], esi
mov dword [esp + 0x14], 0xfffffff6
jmp 0x1001af17
mov dword [esp + 0x10], 0x59e57ad9
mov dword [esp + 0x10], ebx
jmp 0x1001af0c
mov dword [esp + 0x28], 0xc3a0b8ee
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x28], eax
dec dword [esp + 0x10]
cmp dword [esp + 0x10], 0xffffffe4
jne 0x1001aef4
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 0x1c
je 0x1001aee6
dec dword [esp + 0x24]
mov dword [esp + 0x38], 0x720348f4
mov dword [esp + 0x14], 0xc45cdbe8
mov dword [esp + 0x20], 0x7c04
mov dword [esp + 0x20], 0xfffffffb
mov dword [esp + 0x10], ebx
jmp 0x1001af57
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x1a8], ebx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ecx
jl 0x1001af48
mov dword [esp + 0x14], esi
cmp dword [esp + 0x14], ebx
jl 0x1001afaf
mov dword [esp + 0x20], 0xb99
cmp dword [esp + 0x20], ebx
jne 0x1001afaf
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], 0
je 0x1001afa9
push 0x1bb8
push 0x694
push 0x1908
push 0x8f6
push 0x45a
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_PatBlt]
dec dword [esp + 0x14]
jns 0x1001af67
mov dword [esp + 0x14], esi
cmp dword [esp + 0x14], ebx
jl 0x1001b04d
mov dword [esp + 0x20], 0xcc5d9b4e
lea ecx, [esp + 0x12c]
mov dword [esp + 0x20], 0xf545ee28
mov dword [esp + 0x20], 0x3cfce294
mov dword [esp + 0x20], 0x23e93d0b
mov dword [esp + 0x20], esi
push 3
call fcn.10018a69
mov dword [esp + 0x24], 0x756fd8c6
mov dword [esp + 0x10], ebx
jmp 0x1001b00f
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x12c]
mov dword [eax + ecx*4], ebx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x1001affd
inc dword [esp + 0x24]
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], 0
je 0x1001b037
push ebx
push 0x953
push 0x1c45
push ebx
call dword [sym.imp.GDI32.dll_SetPaletteEntries]
lea ecx, [esp + 0x12c]
call fcn.10018aee
dec dword [esp + 0x14]
jns 0x1001afbd
mov dword [esp + 0x10], ebx
jmp 0x1001b069
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
mov dword [eax + ecx*4], 0xbacc5d9b
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x1001b053
mov dword [esp + 0x10], esi
mov dword [esp + 0x20], 0x65ab3e90
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], 0
je 0x1001b093
call edi
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_SetParent]
mov dword [esp + 0x10], ebx
jmp 0x1001b0b1
mov dword [esp + 0x20], 0xfffa
mov eax, dword [esp + 0x20]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x10]
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 0x16
je 0x1001b099
cmp dword [esp + 0x3c], ebx
je 0x1001b0de
inc dword [esp + 0x38]
mov edx, esi
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
sub ecx, 0x307a
neg ecx
sbb ecx, ecx
inc ecx
imul eax, ecx
test eax, eax
jne 0x1001b0e0
mov edx, ebx
mov ecx, dword [esp + 0xc0]
xor eax, eax
cmp edx, dword [ecx + 8]
setne al
neg eax
je 0x1001b0f9
mov eax, esi
cmp dword [ecx], ebx
jne 0x1001b0fb
mov eax, ebx
mov dword [ecx + 4], eax
mov dword [esp + 0x3c], ebx
jmp 0x1001bf3b
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x20], 0x112def90
mov dword [esp + 0x10], ebx
jmp 0x1001b12d
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x4c], 0x4a6847df
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x1001b11d
mov dword [esp + 0x1c], ebx
cmp dword [esp + 0x1c], ebx
jl 0x1001b1a5
mov eax, dword [esp + 0x1c]
xor ecx, ecx
push 0xfffffffffffffffc
mov eax, dword [esp + eax*4 + 0x50]
cmp eax, 0xfffff4a8
mov eax, dword [esp + 0x20]
setge cl
xor edx, edx
mov eax, dword [esp + eax*4 + 0x50]
cmp ecx, eax
mov eax, dword [esp + 0x20]
setle dl
xor ecx, ecx
mov eax, dword [esp + eax*4 + 0x50]
cmp edx, eax
pop eax
setne cl
sub eax, ecx
xor ecx, ecx
cmp eax, 0x2703d9b9
mov eax, dword [esp + 0x1c]
setge cl
imul ecx, dword [esp + eax*4 + 0x4c]
mov eax, dword [esp + 0x1c]
cmp dword [esp + eax*4 + 0x4c], ecx
jne 0x1001b197
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + eax*4 + 0x4c]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x20], ebx
dec dword [esp + 0x1c]
jns 0x1001b13d
mov dword [esp + 0x1c], ebx
jmp 0x1001b1c1
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], 0
je 0x1001b1bd
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
dec dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0xfffffff2
jg 0x1001b1ab
mov dword [esp + 0x50], esi
mov dword [esp + 0x10], 0xcea5d6c0
mov dword [esp + 0x20], 0x38991f32
mov dword [esp + 0x20], 0x61fa46b4
mov dword [esp + 0x20], 0x6e1851aa
mov dword [esp + 0x10], ebx
jmp 0x1001b2c9
push esi
lea ecx, [esp + 0x124]
call fcn.10018a69
push esi
lea ecx, [esp + 0x184]
mov byte [esp + 0x1d0], 3
call fcn.10018a69
push 2
lea ecx, [esp + 0x15c]
mov byte [esp + 0x1d0], 4
call fcn.10018a69
mov dword [esp + 0x1c], ebx
jmp 0x1001b249
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x120]
mov dword [eax + ecx*4], 0xeede0b40
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], esi
jl 0x1001b233
mov dword [esp + 0x1c], ebx
jmp 0x1001b26b
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x180]
mov dword [eax + ecx*4], 0x307d
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], esi
jl 0x1001b255
mov dword [esp + 0x1c], ebx
jmp 0x1001b289
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x158]
mov dword [eax + ecx*4], esi
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 2
jl 0x1001b277
mov eax, dword [esp + 0x120]
lea ecx, [esp + 0x158]
mov dword [eax], ebx
call fcn.10018aee
lea ecx, [esp + 0x180]
call fcn.10018aee
lea ecx, [esp + 0x120]
mov byte [esp + 0x1cc], 2
call fcn.10018aee
dec dword [esp + 0x10]
cmp dword [esp + 0x10], 0xffffffe9
jg 0x1001b1f5
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], 0
je 0x1001b2ef
push 0x238a
push ebx
push ebx
call edi
push eax
call dword [sym.imp.USER32.dll_RedrawWindow]
mov dword [esp + 0x48], 0x90707e29
lea ecx, [esp + 0xb0]
mov dword [esp + 0xbc], 0xffffffff
mov dword [esp + 0x14], 0xfffffff7
mov dword [esp + 0x24], 0xd91509cf
push esi
call fcn.10018a69
mov dword [esp + 0x24], 0x4255ebda
mov dword [esp + 0x20], 0x58a6
mov dword [esp + 0x54], 0x7f59ec13
mov dword [esp + 0x10], ebx
jmp 0x1001b350
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xb0]
or dword [eax + ecx*4], 0xffffffff
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x1001b33d
mov edx, dword [esp + 0x14]
xor ecx, ecx
sub edx, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
cmp edx, eax
setne cl
mov dword [esp + 0x24], ecx
xor ecx, ecx
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
test eax, eax
mov eax, dword [esp + 0xb0]
sets cl
mov dword [eax], ecx
xor ecx, ecx
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0xb0]
cmp dword [eax], 0x1a82e77e
setge cl
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0xb0]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0xb0]
mov eax, dword [eax]
mov dword [esp + 0x54], eax
call fcn.10018aee
push dword [esp + 0x68]
movdqa xmm0, xmmword [0x100083d0]
lea eax, [esp + 0x1a0]
push eax
mov dword [esp + 0xa4], ebx
lea eax, [esp + 0x194]
mov dword [esp + 0x30], 0xfffffff7
lea ecx, [esp + 0x80]
push eax
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x1c], 0xbd2ab60e
mov dword [esp + 0x28], ebx
push ebx
movdqu xmmword [esp + 0x19c], xmm0
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], ebx
call fcn.10019f66
mov dword [esp + 0x20], esi
xor edx, edx
mov eax, dword [esp + 0x14]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
cmp eax, ecx
setne dl
xor ecx, ecx
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
sub edx, 0x2057
cmp eax, edx
setge cl
cmp ecx, 0xb79d
jg 0x1001b49a
mov eax, ebx
cmp dword [esp + 0x1c], ebx
je 0x1001b49c
mov eax, esi
cmp eax, dword [esp + 0x14]
jne 0x1001b4aa
mov edx, ebx
cmp dword [esp + 0x1c], ebx
je 0x1001b4ac
mov edx, esi
mov eax, dword [esp + 0x14]
xor ecx, ecx
cmp edx, eax
setle cl
sub ecx, dword [esp + 0x10]
jne 0x1001b4c5
mov edx, ebx
cmp dword [esp + 0x1c], ebx
je 0x1001b4c7
mov edx, esi
mov eax, dword [esp + 0x78]
xor ecx, ecx
cmp edx, dword [eax + 0xc]
setle cl
add ecx, dword [eax + 0xc]
cmp ecx, 0x84365721
jne 0x1001b4e6
mov edx, esi
cmp dword [esp + 0x10], ebx
jne 0x1001b4e8
mov edx, ebx
inc dword [esp + 0x28]
xor ecx, ecx
mov eax, dword [esp + 0x78]
cmp edx, dword [eax + 8]
setge cl
xor edx, edx
cmp ecx, dword [eax + 4]
mov eax, dword [esp + 0x14]
setge dl
imul eax, dword [esp + 0x28]
imul eax, edx
mov dword [esp + 0x20], eax
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], 0
je 0x1001b52f
push 0x16b1
push ebx
push 0x1e43
call edi
push eax
call dword [sym.imp.USER32.dll_GetDlgItemTextW]
lea ecx, [esp + 0x78]
call fcn.10018aee
mov dword [esp + 0x38], ebx
cmp dword [esp + 0x38], 2
jg 0x1001bf37
mov dword [esp + 0x10], 0xd4e06482
mov dword [esp + 0x10], 0xfffffffb
jmp 0x1001b57c
cmp byte [esp + 0x1b], 0
je 0x1001b578
push ebx
push 0x58f
push 0x11
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetSystemPaletteEntries]
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 0xfffffffd
mov byte [esp + 0x1b], bl
jge 0x1001b559
cmp byte [esp + 0x1b], 0
je 0x1001b59a
push 0x380
push ebx
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov dword [esp + 0x24], 0xc558
lea ecx, [esp + 0xcc]
mov dword [esp + 0x10], 0xffffffff
mov dword [esp + 0x28], 0x5b40194d
mov dword [esp + 0x40], 0x7822e6e7
mov dword [esp + 0x34], 0x9a971867
mov dword [esp + 0x2c], 0x4990069f
mov dword [esp + 0x34], 2
mov dword [esp + 0x30], 0xffffffff
push esi
call fcn.10018a69
mov dword [esp + 0x14], ebx
jmp 0x1001b603
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xcc]
mov dword [eax + ecx*4], 0xcb5af9f7
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x1001b5ed
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x34]
dec dword [esp + 0x30]
mov edx, dword [esp + 0x30]
imul edx, dword [esp + 0x24]
mov eax, dword [esp + 0xcc]
cmp dword [eax], esi
mov eax, dword [esp + 0x2c]
setne cl
add edx, ecx
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [esp + 0x34], ecx
cmp dword [esp + 0x10], ebx
jne 0x1001b657
cmp dword [esp + 0x30], 0x86bd
mov ecx, ebx
jg 0x1001b659
mov ecx, esi
xor eax, eax
cmp ecx, 0x405dbd55
sete al
xor edx, edx
mov dword [esp + 0x28], eax
imul eax, dword [esp + 0x28], 0x9ab8
mov ecx, dword [esp + 0x10]
sub ecx, eax
mov eax, dword [esp + 0x10]
cmp ecx, eax
mov eax, dword [esp + 0xcc]
setne dl
xor ecx, ecx
cmp edx, dword [eax]
setl cl
mov dword [esp + 0x10], ecx
xor ecx, ecx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x40]
imul edx, dword [esp + 0x40]
mov eax, dword [esp + 0x2c]
cmp eax, edx
setg cl
mov dword [esp + 0x2c], ecx
lea ecx, [esp + 0xcc]
call fcn.10018aee
push 0x170e
push 0x7cfe
lea eax, [esp + 0xc8]
push eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x50]
push eax
push ebx
call fcn.1001ef9f
add esp, 0x1c
lea ecx, [esp + 0xf0]
push 2
call fcn.10018a69
mov dword [esp + 0x10], 0x47909b79
mov dword [esp + 0x20], 0x985ba561
mov dword [esp + 0x10], ebx
jmp 0x1001b724
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xf0]
or dword [eax + ecx*4], 0xffffffff
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x1001b711
mov esi, dword [esp + 0xf0]
mov dword [esi + 4], 0x15
mov dword [esp + 0x28], 0xe923
mov dword [esp + 0x24], 0x8373b2c5
mov dword [esp + 0x2c], 1
mov dword [esp + 0x10], ebx
jmp 0x1001b763
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x6c], ebx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 1
jl 0x1001b757
cmp dword [esi + 4], ebx
jne 0x1001b779
cmp dword [esp + 0x28], ebx
je 0x1001b779
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x28]
xor edx, edx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xf0]
cmp dword [eax], ecx
setle dl
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x2c]
dec dword [esp + 0x2c]
cmp eax, 0x90635300
jae 0x1001b7b2
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
cmp dword [esi + 4], ebx
je 0x1001b7c6
cmp dword [esp + 0x10], ebx
je 0x1001b7c6
xor eax, eax
inc eax
jmp 0x1001b7c8
mov eax, ebx
xor ecx, ecx
cmp dword [esi + 4], eax
mov eax, dword [esp + 0x10]
setne cl
add ecx, 0xffff
imul eax, ecx
test eax, eax
jne 0x1001b7eb
cmp dword [esp + 0x6c], ebx
jne 0x1001b7eb
mov eax, ebx
jmp 0x1001b7ee
xor eax, eax
inc eax
dec dword [esi + 4]
cmp dword [esi + 4], 0xffffffe4
mov dword [esp + 0x10], eax
jg 0x1001b739
lea ecx, [esp + 0xf0]
call fcn.10018aee
mov dword [esp + 0x48], ebx
cmp dword [esp + 0x48], 2
jg 0x1001bf25
mov esi, dword [sym.imp.USER32.dll_GetDC]
mov dword [esp + 0x14], 0xdf60
mov dword [esp + 0x1c], 0x969a22db
mov dword [esp + 0x28], 0xfffffffc
mov dword [esp + 0x10], ebx
jmp 0x1001b851
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0xd8], 0x67684593
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x1001b83e
mov eax, dword [esp + 0x14]
xor ecx, ecx
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 0x1c]
imul edx, dword [esp + 0x14]
push 3
add edx, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp edx, eax
setge cl
xor edx, edx
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x2c]
imul ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp ecx, eax
mov eax, dword [esp + 0x18]
pop ecx
setne dl
sub eax, edx
cmp eax, ecx
jb 0x1001b910
mov dword [esp + 0x10], ebx
jmp 0x1001b8ca
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x19c], 0x6fc2
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ecx
jl 0x1001b8b7
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], 0
je 0x1001b8e7
call edi
push eax
call esi
push eax
call dword [sym.imp.GDI32.dll_RealizePalette]
mov dword [esp + 0x1c], ebx
jmp 0x1001b904
mov dword [esp + 0x20], 0xcded
mov eax, dword [esp + 0x20]
mov dword [esp + 0x1a0], eax
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0x15
jg 0x1001b8ed
jmp 0x1001bab0
mov dword [esp + 0x34], 0x92e6
mov dword [esp + 0x40], ebx
mov dword [esp + 0x20], ebx
cmp dword [esp + 0x34], ebx
je 0x1001ba3b
push ecx
mov dword [esp + 0x24], 0xfffffff9
lea ecx, [esp + 0x100]
call fcn.10018a69
mov dword [esp + 0x54], 5
mov dword [esp + 0x10], ebx
jmp 0x1001b963
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xfc]
mov dword [eax + ecx*4], 0xfffffffa
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x1001b94d
mov dword [esp + 0x1c], ebx
jmp 0x1001ba22
mov dword [esp + 0x10], ebx
jmp 0x1001b98c
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x150], 0x8629342b
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x1001b979
mov eax, dword [esp + 0x1c]
xor edx, edx
mov eax, dword [esp + eax*4 + 0xd8]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + eax*4 + 0xd8]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + eax*4 + 0xd8]
cmp ecx, 0x8a996121
mov eax, dword [esp + 0x1c]
sete dl
mov dword [esp + eax*4 + 0xd8], ecx
xor eax, eax
cmp edx, 0xffffffff
mov dword [esp + 0x154], edx
setle al
cmp eax, dword [esp + 0x20]
jg 0x1001b9ed
cmp dword [esp + 0x1c], ebx
jne 0x1001b9ed
mov edx, ebx
jmp 0x1001b9f0
xor edx, edx
inc edx
mov eax, dword [esp + 0xfc]
xor ecx, ecx
cmp edx, dword [eax]
sete cl
mov dword [esp + 0x54], ecx
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], 0
je 0x1001ba1e
push 0x707
push 0xcb2
push ebx
call dword [sym.imp.USER32.dll_EnableMenuItem]
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 2
jle 0x1001b973
lea ecx, [esp + 0xfc]
call fcn.10018aee
jmp 0x1001baa8
mov dword [esp + 0x2c], 0x49124c6e
xor edx, edx
mov dword [esp + 0x24], 0x75aba8b
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x40]
sub ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
cmp ecx, eax
mov eax, dword [esp + 0x2c]
setle dl
neg eax
sbb eax, eax
inc eax
sub eax, edx
jne 0x1001ba8d
cmp dword [esp + 0x1c], ebx
jne 0x1001ba8d
mov edx, ebx
jmp 0x1001ba90
xor edx, edx
inc edx
mov eax, dword [esp + 0x14]
xor ecx, ecx
cmp edx, eax
setl cl
sub ecx, dword [esp + 0x2c]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], 0xffffffff
push 0xfffffffffffffff6
pop eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x14], 0x185299da
mov dword [esp + 0x10], ebx
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x2c], 0xf520a048
mov dword [esp + 0x30], 0x4b54c5f6
mov dword [esp + 0x24], 0xfffffff9
mov dword [esp + 0x28], 0xffffffff
cmp dword [esp + 0x14], ebx
je 0x1001bb35
mov dword [esp + 0x24], 1
mov dword [esp + 0x24], 0xffffffff
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x1c], ebx
jmp 0x1001bbff
mov dword [esp + 0x34], 1
mov dword [esp + 0x14], ebx
jmp 0x1001bb53
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x70], 0xa32f3f60
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jl 0x1001bb43
mov dword [esp + 0x14], ebx
jmp 0x1001bbf4
mov dword [esp + 0x24], 0xffffffff
mov eax, dword [esp + 0x1c]
neg eax
jne 0x1001bb7d
cmp dword [esp + 0x1c], ebx
jne 0x1001bb7d
mov ecx, ebx
jmp 0x1001bb80
xor ecx, ecx
inc ecx
mov eax, dword [esp + 0x70]
mov dword [esp + 0x34], eax
xor eax, eax
cmp ecx, 0x9031
setg al
xor edx, edx
sub eax, dword [esp + 0x14]
add eax, dword [esp + 0x70]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
cmp eax, 0xffffffff
mov eax, dword [esp + 0x10]
setge dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [esp + 0x14]
setne cl
xor edx, edx
cmp ecx, 0x2f23
mov eax, dword [esp + eax*4 + 0x70]
setg dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [esp + 0x34]
setle cl
xor edx, edx
cmp eax, ecx
mov eax, dword [esp + 0x14]
setle dl
xor ecx, ecx
mov eax, dword [esp + eax*4 + 0x70]
neg eax
cmp eax, edx
setl cl
mov dword [esp + 0x70], ecx
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 1
jle 0x1001bb63
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
sub eax, dword [esp + 0x10]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x1c], eax
mov dword [esp + 0xac], 0x513e67dc
mov dword [esp + 0x10], 0xd4e06482
mov dword [esp + 0x10], 0xfffffffb
jmp 0x1001bc97
cmp byte [esp + 0x1b], 0
je 0x1001bc93
push ebx
push 0x58f
push 0x11
call edi
push eax
call esi
push eax
call dword [sym.imp.GDI32.dll_GetSystemPaletteEntries]
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 0xfffffffd
mov byte [esp + 0x1b], bl
jge 0x1001bc78
cmp byte [esp + 0x1b], 0
je 0x1001bcb5
push 0x380
push ebx
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov dword [esp + 0x50], ebx
jmp 0x1001bf0b
push 4
lea ecx, [esp + 0x148]
call fcn.10018a69
mov dword [esp + 0x10], 0xffffffff
mov dword [esp + 0x10], ebx
jmp 0x1001bcf0
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x144]
mov dword [eax + ecx*4], 0xb9b5
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 4
jl 0x1001bcda
mov dword [esp + 0x10], ebx
jmp 0x1001bd30
mov dword [esp + 0x30], 0xf2000252
mov dword [esp + 0x30], 3
cmp dword [esp + 0x30], ebx
jl 0x1001bd2c
cmp dword [esp + 0x10], 3
jle 0x1001bcfd
lea ecx, [esp + 0x144]
call fcn.10018aee
mov dword [esp + 0x94], 0xded1456b
lea ecx, [esp + 0x164]
mov dword [esp + 0x10], 0xfffffffd
mov dword [esp + 0x20], 0xd058a835
mov dword [esp + 0x20], 0xfffffff6
mov dword [esp + 0x20], 0xbacde9e8
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x20], 0xfadf6285
mov dword [esp + 0x20], 0x8b78acc4
mov dword [esp + 0x20], 0xb15e314a
mov dword [esp + 0x20], 0xc6d21cd4
mov dword [esp + 0x20], 2
push 1
call fcn.10018a69
mov byte [esp + 0x1cc], 8
mov dword [esp + 0x20], 0x5a2e712c
mov dword [esp + 0x14], ebx
jmp 0x1001bdd5
cmp dword [esp + 0x50], 2
jle 0x1001bcbe
inc dword [esp + 0x48]
cmp dword [esp + 0x48], 2
jle 0x1001b820
inc dword [esp + 0x38]
cmp dword [esp + 0x38], 2
push 1
pop esi
jle 0x1001b547
inc dword [esp + 0x3c]
cmp dword [esp + 0x3c], 2
jle 0x1001b107
or dword [esp + 0x1cc], 0xffffffff
lea ecx, [esp + 0xc0]
call fcn.10018aee
mov eax, dword [esp + 0x98]
mov ecx, 0x3e8
cdq
idiv ecx
mov ecx, dword [esp + 0x68]
mov esi, edx
mov edi, eax
call fcn.1001a837
mov ecx, dword [esp + 0x1c4]
add eax, esi
add eax, edi
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret