Function at 0x1001a504
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10088f71
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x270
push ebx
push esi
push edi
mov dword [esp + 0x44], ecx
lea ecx, [esp + 0x130]
push 3
mov dword [esp + 0xe0], edx
call fcn.100185e1
mov dword [esp + 0xc], 0xa136951a
xor ebx, ebx
push 3
mov dword [esp + 0x2c], 0xcd53
mov dword [esp + 0x10], ebx
pop edx
jmp 0x1001a572
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x130]
mov dword [eax + ecx*4], 0xae9714a
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edx
jl 0x1001a55c
mov dword [esp + 0xc], ebx
jmp 0x1001a594
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x130]
mov dword [eax + ecx*4], 0xfffffffc
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edx
jl 0x1001a57e
lea ecx, [esp + 0x130]
call fcn.10018e75
push 3
lea ecx, [esp + 0x170]
call fcn.100185e1
mov dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0xc], 0x2eda
push 3
mov dword [esp + 0x28], 0xfc167656
mov dword [esp + 0x18], ebx
pop edx
jmp 0x1001a5e8
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x80], 0xfffffff8
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edx
jl 0x1001a5d5
mov dword [esp + 0x14], ebx
jmp 0x1001a60a
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x16c]
mov dword [eax + ecx*4], 0xfffffffd
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edx
jl 0x1001a5f4
mov dword [esp + 0x14], ebx
jmp 0x1001a626
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x4c], 0x5ebd
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jl 0x1001a616
mov eax, dword [esp + 0x4c]
xor edx, edx
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x80]
cmp ecx, eax
setne dl
mov dword [esp + 0x2c], edx
xor edx, edx
inc dword [esp + 0xc]
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x4c]
cmp ecx, eax
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0xc]
setle dl
add eax, dword [esp + 0x2c]
imul ecx, edx
cmp eax, ecx
je 0x1001a67a
cmp dword [esp + 0xc], ebx
jne 0x1001a67a
mov esi, ebx
jmp 0x1001a67d
xor esi, esi
inc esi
mov edx, dword [esp + 0x80]
xor ecx, ecx
mov eax, dword [esp + 0x16c]
mov dword [eax], edx
mov eax, dword [esp + 0x80]
cmp esi, eax
mov eax, dword [esp + 0x80]
setne cl
add eax, edx
xor edx, edx
cmp eax, ecx
mov eax, dword [esp + 0x80]
setg dl
xor ecx, ecx
sub edx, eax
mov eax, dword [esp + 0x4c]
cmp edx, 0x5189d9e6
setg cl
add eax, ecx
xor ecx, ecx
cmp eax, 0x70004ddc
mov eax, dword [esp + 0x4c]
setle cl
sub ecx, eax
cmp ecx, dword [esp + 0x4c]
jge 0x1001a6e6
cmp dword [esp + 0xc], ebx
je 0x1001a6e6
xor eax, eax
inc eax
jmp 0x1001a6e8
mov eax, ebx
neg eax
lea ecx, [esp + 0x16c]
mov dword [esp + 0x24], eax
call fcn.10018e75
push 4
lea ecx, [esp + 0xc8]
call fcn.100185e1
mov dword [esp + 0x284], ebx
lea ecx, [esp + 0x1ec]
mov dword [esp + 0x1c], 0x6fe7d8a8
mov dword [esp + 0x3c], 2
push 1
call fcn.100185e1
push 1
lea ecx, [esp + 0x198]
mov byte [esp + 0x288], 1
call fcn.100185e1
mov byte [esp + 0x284], 2
xor edx, edx
mov dword [esp + 0x24], 0xe07b88c8
inc edx
mov dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x30], edx
mov dword [esp + 0x14], ebx
jmp 0x1001a77a
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xc4]
mov dword [eax + ecx*4], ebx
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 4
jl 0x1001a768
mov dword [esp + 0x14], ebx
jmp 0x1001a79d
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1ec]
mov dword [eax + ecx*4], 0x2314af12
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edx
jl 0x1001a787
mov dword [esp + 0x14], ebx
jmp 0x1001a7bf
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x194]
mov dword [eax + ecx*4], 0x90cb933d
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edx
jl 0x1001a7a9
mov dword [esp + 0x14], ebx
jmp 0x1001a7da
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x250], ebx
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jl 0x1001a7cb
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov dword [esp + 0x1c], ebx
cmp dword [esp + 0x1c], 3
jg 0x1001aa04
jmp 0x1001a7fb
xor edx, edx
inc edx
mov dword [esp + 0x14], 9
lea ecx, [esp + 0x124]
push edx
call fcn.100185e1
mov byte [esp + 0x284], 3
mov dword [esp + 0xc], ebx
mov dword [esp + 0x30], 0x3de7
mov dword [esp + 0x10], ebx
jmp 0x1001a840
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x124]
mov dword [eax + ecx*4], 2
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 1
jl 0x1001a82a
mov dword [esp + 0x14], ebx
jmp 0x1001a8c5
mov dword [esp + 0x2c], 7
xor ecx, ecx
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
test eax, eax
push 0
setns cl
imul ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x128]
mov edx, dword [esp + 0x18]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc8]
mov eax, dword [esp + 0x18]
cmp dword [ecx + edx*4], eax
mov eax, dword [esp + 0xc8]
pop edx
setle dl
xor ecx, ecx
cmp dword [eax + esi*4], edx
sete cl
mov dword [esp + 0x2c], ecx
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], 0
je 0x1001a8c1
push ebx
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetCurrentPositionEx]
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jle 0x1001a84d
dec dword [esp + 0xc]
mov dword [esp + 0xc], ebx
jmp 0x1001a9d6
push dword [esp + 0x44]
movdqa xmm0, xmmword [0x10007be0]
lea eax, [esp + 0x23c]
push eax
lea eax, [esp + 0x230]
mov dword [esp + 0x28], ebx
push eax
mov dword [esp + 0x38], 8
lea ecx, [esp + 0x10c]
mov dword [esp + 0x38], 1
push ebx
movdqu xmmword [esp + 0x238], xmm0
mov dword [esp + 0x110], ebx
mov dword [esp + 0x114], ebx
mov dword [esp + 0x118], ebx
call fcn.10019c7b
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x14], 3
cmp dword [esp + 0x14], ebx
jl 0x1001a9c2
mov dword [esp + 0x10], 0x72305aba
inc dword [esp + 0x10]
mov eax, dword [esp + 0x14]
cmp dword [esp + 0x30], ebx
jne 0x1001a976
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x20], ebx
jne 0x1001a976
mov eax, ebx
jmp 0x1001a979
xor eax, eax
inc eax
mov dword [esp + 0x2c], eax
cmp dword [esp + 0x2c], ebx
jne 0x1001a997
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xc4]
cmp dword [eax + ecx*4], ebx
jne 0x1001a997
mov eax, ebx
jmp 0x1001a99a
xor eax, eax
inc eax
mov ecx, dword [esp + 0x10]
imul ecx, eax
mov eax, dword [esp + 0x124]
mov edx, dword [eax]
mov eax, dword [esp + 0x3c]
sub edx, ecx
xor ecx, ecx
cmp edx, eax
setge cl
inc ecx
mov dword [esp + 0x2c], ecx
dec dword [esp + 0x14]
jns 0x1001a946
inc dword [esp + 0x24]
lea ecx, [esp + 0x100]
call fcn.10018e75
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jle 0x1001a8d9
lea ecx, [esp + 0x124]
mov byte [esp + 0x284], 2
call fcn.10018e75
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 3
jle 0x1001a7f8
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x194]
mov dword [esp + 0x30], eax
call fcn.10018e75
lea ecx, [esp + 0x1ec]
call fcn.10018e75
or dword [esp + 0x284], 0xffffffff
lea ecx, [esp + 0xc4]
call fcn.10018e75
mov dword [esp + 0x10], 0xc03342eb
mov dword [esp + 0x20], 0xa01c77dc
mov dword [esp + 0xc], 1
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], 0
je 0x1001aa62
push ebx
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
push 0xfffffffffffffff6
mov dword [esp + 0x14], ebx
pop esi
jmp 0x1001ad8f
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], 0xe1dc630d
mov dword [esp + 0x14], 0x15
jmp 0x1001acd3
mov dword [esp + 0x24], 0xf27a4129
mov dword [esp + 0x20], ebx
jmp 0x1001aaa8
mov eax, dword [esp + 0x20]
mov dword [esp + eax*4 + 0x98], 2
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 3
jl 0x1001aa95
mov dword [esp + 0x20], ebx
jmp 0x1001aac5
mov eax, dword [esp + 0x20]
mov dword [esp + eax*4 + 0x40], 0xfffffff7
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 1
jl 0x1001aab5
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
cmp dword [esp + 0x24], ebx
jne 0x1001aaec
cmp dword [esp + 0x10], ebx
jne 0x1001aaec
mov edx, ebx
jmp 0x1001aaef
xor edx, edx
inc edx
mov eax, dword [esp + 0x14]
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
cmp ecx, 7
setne al
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x98]
mov eax, dword [esp + 0x20]
add eax, ecx
mov ecx, dword [esp + 0x10]
add ecx, eax
je 0x1001ab29
cmp dword [esp + 0x98], ebx
je 0x1001ab29
xor ecx, ecx
inc ecx
jmp 0x1001ab2b
mov ecx, ebx
push 0xfffffffffffffff9
pop eax
sub eax, ecx
je 0x1001ac25
mov dword [esp + 0x28], 0x1ec1
mov dword [esp + 0x24], 0xfffffff7
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], 0
je 0x1001ab61
push 0x1a67
push ebx
push ebx
call edi
push eax
call dword [sym.imp.USER32.dll_RedrawWindow]
mov dword [esp + 0x20], ebx
jmp 0x1001ac15
mov dword [esp + 0x24], 0x20104353
cmp dword [esp + 0x28], ebx
jne 0x1001accf
cmp dword [esp + 0xa0], ebx
jne 0x1001ab8f
cmp dword [esp + 0x14], ebx
jne 0x1001ab8f
mov edx, ebx
jmp 0x1001ab92
xor edx, edx
inc edx
mov eax, dword [esp + 0x9c]
xor ecx, ecx
cmp eax, 0x53a81f6e
mov dword [esp + 0x40], eax
setle cl
xor eax, eax
cmp ecx, 0x895c
setl al
sub eax, dword [esp + 0x20]
sub eax, dword [esp + 0x20]
je 0x1001abc7
cmp dword [esp + 0x20], ebx
je 0x1001abc7
xor ecx, ecx
inc ecx
jmp 0x1001abc9
mov ecx, ebx
mov eax, dword [esp + 0x24]
sub eax, 5
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
imul eax, edx
xor edx, edx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cmp eax, ecx
mov eax, dword [esp + 0x14]
setne dl
xor ecx, ecx
cmp edx, eax
setg cl
xor edx, edx
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
cmp ecx, eax
setl dl
mov dword [esp + 0x24], edx
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 1
jne 0x1001ab6a
jmp 0x1001accf
mov dword [esp + 0x28], 0xfffffffc
mov dword [esp + 0x3c], 0x9aa6b35e
mov dword [esp + 0x30], 1
mov dword [esp + 0x2c], 0xffffffff
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], 0
je 0x1001ac59
call edi
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
cmp dword [esp + 0x14], ebx
je 0x1001ac8d
mov dword [esp + 0xc], 1
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x98]
mov eax, dword [esp + 0x9c]
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
xor ecx, ecx
mov eax, dword [esp + 0x40]
add eax, dword [esp + 0x24]
cmp eax, 0x1ca2
setl cl
xor edx, edx
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x20]
cmp eax, ecx
setge dl
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0x2c]
imul eax, dword [esp + 0x1c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x40], eax
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 0x16
jg 0x1001aa87
mov eax, dword [esp + 0x20]
xor edx, edx
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xc]
cmp ecx, eax
mov eax, dword [esp + 0x20]
setne dl
xor ecx, ecx
dec edx
cmp edx, eax
setg cl
test ecx, ecx
jg 0x1001ad0c
cmp dword [esp + 0xc], ebx
je 0x1001ad0c
xor eax, eax
inc eax
jmp 0x1001ad0e
mov eax, ebx
mov edx, dword [esp + 0x14]
xor ecx, ecx
sub edx, eax
add edx, dword [esp + 0x14]
imul edx, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp edx, eax
setle cl
xor eax, eax
cmp ecx, 0xfffffffa
setne al
xor ecx, ecx
cmp eax, 0x679d
setle cl
xor edx, edx
add ecx, dword [esp + 0xc]
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
cmp ecx, eax
setge dl
cmp edx, dword [esp + 0x14]
jl 0x1001ad79
cmp dword [esp + 0x20], ebx
jne 0x1001ad79
mov edx, ebx
jmp 0x1001ad7c
xor edx, edx
inc edx
mov eax, dword [esp + 0x14]
xor ecx, ecx
cmp edx, eax
sete cl
mov dword [esp + 0x14], ecx
dec dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jle 0x1001aa6e
push 3
xor ecx, ecx
pop edx
mov dword [esp + 0x10], edx
inc ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x24], 0x4af7bdd4
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], 0x14f16367
mov dword [esp + 0xc], ebx
jmp 0x1001add4
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x148], ecx
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edx
jl 0x1001adc5
mov ecx, dword [esp + 0x150]
xor edx, edx
mov eax, dword [esp + 0x10]
cmp eax, ecx
setle dl
xor ecx, ecx
inc ecx
mov eax, ecx
sub eax, edx
cmp eax, 0xffffffff
jl 0x1001ae1e
mov dword [esp + 0x24], 0x81d21f1e
mov dword [esp + 0x10], 5
jmp 0x1001ae12
inc dword [esp + 0x24]
dec dword [esp + 0x10]
cmp dword [esp + 0x10], 0xfffffff4
jle 0x1001ae0a
jmp 0x1001aef5
mov dword [esp + 0xc], 0x333c7d24
mov dword [esp + 0x10], 0xf
jmp 0x1001aeea
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x184], ecx
mov dword [esp + 0x188], ecx
mov dword [esp + 0x18c], ecx
mov dword [esp + 0x190], ecx
xor ecx, ecx
mov eax, dword [esp + 0x1c]
cmp eax, 0xffffffff
setl cl
xor edx, edx
imul ecx, dword [esp + 0xc]
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14c]
mov eax, dword [esp + 0xc]
cmp ecx, eax
setg dl
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x150]
sub edx, dword [esp + 0x24]
mov eax, dword [esp + 0xc]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, 0x881
setge cl
xor eax, eax
cmp edx, ecx
setge al
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x24]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
imul ecx, dword [esp + 0xc]
sub ecx, dword [esp + 0x1c]
add ecx, dword [esp + 0x2c]
je 0x1001aeda
cmp dword [esp + 0xc], ebx
je 0x1001aeda
xor ecx, ecx
inc ecx
mov eax, ecx
jmp 0x1001aedf
xor ecx, ecx
mov eax, ebx
inc ecx
mov dword [esp + 0x188], eax
dec dword [esp + 0x10]
cmp dword [esp + 0x10], 0xfffffff7
jl 0x1001ae33
push 2
lea ecx, [esp + 0x64]
call fcn.100185e1
mov dword [esp + 0x284], 4
lea ecx, [esp + 0x160]
mov dword [esp + 0xc], 0xa9a97186
push 2
call fcn.100185e1
mov byte [esp + 0x284], 5
lea ecx, [esp + 0x178]
mov dword [esp + 0x24], 3
push 2
call fcn.100185e1
mov dword [esp + 0x24], 0xffffffff
mov dword [esp + 0x20], ebx
jmp 0x1001af60
mov eax, dword [esp + 0x20]
mov dword [esp + eax*4 + 0xf0], 0x7d214c40
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 4
jl 0x1001af4d
push 2
mov dword [esp + 0x24], ebx
pop edx
jmp 0x1001af86
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x160]
mov dword [eax + ecx*4], 0x1d102278
inc dword [esp + 0x20]
cmp dword [esp + 0x20], edx
jl 0x1001af70
mov dword [esp + 0x20], ebx
jmp 0x1001afa8
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x178]
mov dword [eax + ecx*4], 5
inc dword [esp + 0x20]
cmp dword [esp + 0x20], edx
jl 0x1001af92
cmp dword [esp + 0xf4], ebx
je 0x1001afdd
mov edx, dword [esp + 0xf0]
sub edx, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setge cl
cmp ecx, dword [esp + 0xc]
jg 0x1001afdd
xor eax, eax
inc eax
jmp 0x1001afdf
mov eax, ebx
mov edi, dword [esp + 0x160]
xor edx, edx
mov esi, dword [esp + 0x178]
mov dword [edi + 4], eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
cmp eax, dword [esi + 4]
mov eax, dword [esp + 0xf4]
setne dl
xor ecx, ecx
cmp eax, edx
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0xf4]
setg cl
sub edx, ecx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
sub eax, edx
cmp eax, 0x3d47941c
mov eax, dword [esp + 0xc]
setle cl
xor edx, edx
cmp ecx, dword [esi + 4]
setl dl
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [esp + 0x24], ecx
cmp dword [esp + 0xf4], ebx
jne 0x1001b056
cmp dword [esp + 0x24], ebx
jne 0x1001b056
mov edx, ebx
jmp 0x1001b059
xor edx, edx
inc edx
xor eax, eax
cmp dword [esi + 4], eax
setne al
xor ecx, ecx
cmp eax, dword [esi + 4]
setne cl
add ecx, edx
sub ecx, dword [esp + 0xf4]
jne 0x1001b07e
cmp dword [esp + 0xc], ebx
jne 0x1001b07e
mov eax, ebx
jmp 0x1001b081
xor eax, eax
inc eax
lea ecx, [esp + 0x178]
mov dword [edi + 4], eax
call fcn.10018e75
lea ecx, [esp + 0x160]
mov byte [esp + 0x284], 4
call fcn.10018e75
mov dword [esp + 0x28], 0xe2db58e4
lea ecx, [esp + 0x13c]
push 2
call fcn.100185e1
mov dword [esp + 0xc], ebx
jmp 0x1001b0d6
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x13c]
mov dword [eax + ecx*4], 0x29bf39
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x1001b0c0
cmp dword [esp + 0x28], ebx
mov byte [esp + 0x1b], bl
je 0x1001b0fc
cmp byte [esp + 0x1b], 0
je 0x1001b10a
push 0x382
push ebx
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
jmp 0x1001b10a
cmp byte [esp + 0x1b], 0
je 0x1001b10a
push ebx
call dword [sym.imp.GDI32.dll_CreateBrushIndirect]
mov eax, dword [esp + 0x13c]
lea ecx, [esp + 0x13c]
inc dword [eax + 4]
call fcn.10018e75
movdqa xmm0, xmmword [0x10007ce0]
lea eax, [esp + 0x218]
push 0xfffffffffffffffd
pop esi
push dword [esp + 0x44]
mov dword [esp + 0x14], 0x831713b9
lea ecx, [esp + 0xd4]
mov dword [esp + 0x2c], esi
push eax
mov dword [esp + 0x30], 0x62751c76
lea eax, [esp + 0x210]
mov dword [esp + 0x30], 0xffffffff
push eax
mov dword [esp + 0x34], 0xb5934215
mov dword [esp + 0x34], 1
mov dword [esp + 0x28], 0x69be541
push ebx
movdqu xmmword [esp + 0x218], xmm0
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe8], ebx
call fcn.10019c7b
mov byte [esp + 0x284], 6
mov dword [esp + 0x10], ebx
jmp 0x1001b1bc
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x48], 0x34678dc2
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 1
jl 0x1001b1ac
mov dword [esp + 0x10], ebx
jmp 0x1001b1dc
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x248], 0x1a93826a
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x1001b1c9
mov dword [esp + 0x10], 0xfffffffe
jmp 0x1001b286
mov dword [esp + 0x28], 0xfffffff6
lea ecx, [esp + 0x1d4]
mov dword [esp + 0x28], 0x74c38b6b
mov dword [esp + 0xc], 0x552bf338
push 1
call fcn.100185e1
mov dword [esp + 0xc], ebx
jmp 0x1001b232
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x1d4]
mov dword [eax + ecx*4], 0xccde6bc0
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 1
jl 0x1001b21c
mov eax, dword [esp + 0xd0]
inc dword [eax]
mov dword [esp + 0x1c], ebx
jmp 0x1001b270
mov dword [esp + 0xc], ebx
jmp 0x1001b265
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], 0
je 0x1001b261
push ebx
push ebx
call dword [sym.imp.USER32.dll_LoadCursorA]
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jle 0x1001b24e
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], ebx
jle 0x1001b248
lea ecx, [esp + 0x1d4]
call fcn.10018e75
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 0xc
jl 0x1001b1f0
lea ecx, [esp + 0xd0]
mov byte [esp + 0x284], 4
call fcn.10018e75
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x1c], 0x16
jmp 0x1001b2c9
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], 0
je 0x1001b2c5
push ebx
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0x1c
jg 0x1001b2b3
mov dword [esp + 0x1c], ebx
jmp 0x1001b30d
mov dword [esp + 0xc], 1
mov dword [esp + 0xc], ebx
jmp 0x1001b302
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], 0
je 0x1001b2fe
push ebx
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 0xd
jge 0x1001b2e4
dec dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0xffffffef
jle 0x1001b2d6
mov dword [esp + 0xc], 0xc74a
mov dword [esp + 0x24], 0x54bcd76c
mov dword [esp + 0x10], ebx
mov dword [esp + 0x2c], 0xece3051e
mov dword [esp + 0x20], 0xd4431fad
mov dword [esp + 0x14], 0xf2d6273d
mov dword [esp + 0x28], 0x3ed13222
mov dword [esp + 0x1c], ebx
jmp 0x1001b35a
mov eax, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0x6c], esi
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 1
jl 0x1001b34e
cmp dword [esp + 0xc], ebx
jne 0x1001b399
mov eax, dword [esp + 0x20]
dec dword [esp + 0x20]
test eax, eax
jne 0x1001b378
xor ecx, ecx
inc ecx
jmp 0x1001b37a
mov ecx, ebx
mov eax, dword [esp + 0xc]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
sub eax, ecx
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
neg eax
push 0xfffffffffffffff8
sbb eax, eax
xor edx, edx
neg eax
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
cmp ecx, eax
setl dl
mov dword [esp + 0x70], edx
xor edx, edx
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp ecx, eax
mov eax, 0xf260c96e
setl dl
xor ecx, ecx
sub eax, edx
mov dword [esp + 0x70], edx
pop edx
cmp eax, edx
mov eax, dword [esp + 0x2c]
push 3
setne cl
add eax, 0x66197039
add eax, ecx
sub eax, dword [esp + 0x2c]
neg eax
pop ecx
sbb eax, eax
inc eax
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0xc45cdbe8
mov dword [esp + 0xc], ebx
jmp 0x1001b42a
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x1e0], 1
inc dword [esp + 0xc]
cmp dword [esp + 0xc], ecx
jl 0x1001b417
mov dword [esp + 0xc], ebx
jmp 0x1001b445
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x1e0], esi
inc dword [esp + 0xc]
cmp dword [esp + 0xc], ecx
jl 0x1001b436
mov eax, dword [esp + 0x1e4]
xor ecx, ecx
cmp eax, 0x999f
setg cl
mov dword [esp + 0xc], ecx
mov dword [esp + 0xc], ebx
jmp 0x1001b479
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x60]
mov dword [eax + ecx*4], 0xd4e06482
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x1001b466
mov eax, 0xce125d16
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0x28], 0x2d34caa8
mov dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x28], edx
mov dword [esp + 0x28], 0x91b86007
mov dword [esp + 0x24], 0xeccdf493
mov dword [esp + 0x28], ebx
mov dword [esp + 0x10], ebx
jmp 0x1001b4e7
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x70], 8
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 1
jl 0x1001b4d7
mov dword [esp + 0x10], ebx
jmp 0x1001b507
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x258], 0xfffffff7
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 4
jl 0x1001b4f4
mov dword [esp + 0xbc], ebx
cmp dword [esp + 0xbc], ebx
jl 0x1001b5bb
push 1
lea ecx, [esp + 0xe4]
call fcn.100185e1
xor edx, edx
mov dword [esp + 0xc], ebx
inc edx
jmp 0x1001b54b
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0xe0]
mov dword [eax + ecx*4], edx
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edx
jl 0x1001b539
mov eax, dword [esp + 0xe0]
mov dword [eax], ebx
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + eax*4 + 0x70]
mov eax, dword [esp + 0xe0]
mov eax, dword [eax]
mov dword [esp + eax*4 + 0x70], ecx
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], 0
je 0x1001b594
inc dword [esp + 0x24]
mov eax, dword [esp + 0x60]
mov dword [eax], ebx
mov eax, dword [esp + 0x60]
cmp dword [eax], 0xffffffe6
jle 0x1001bc78
mov edi, 0x961c0f80
push dword [esp + 0x48]
movdqa xmm0, xmmword [0x10007bf0]
lea eax, [esp + 0x22c]
push eax
lea eax, [esp + 0x220]
mov dword [esp + 0x94], ebx
push eax
push ebx
lea ecx, [esp + 0x9c]
mov dword [esp + 0xa0], ebx
movdqu xmmword [esp + 0x228], xmm0
mov dword [esp + 0xa4], ebx
call fcn.10019c7b
push 2
lea ecx, [esp + 0x1cc]
mov byte [esp + 0x288], 7
call fcn.100185e1
push 1
lea ecx, [esp + 0x11c]
mov byte [esp + 0x288], 8
call fcn.100185e1
mov dword [esp + 0x10], ebx
jmp 0x1001b666
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c8]
mov dword [eax + ecx*4], 0x862fd41e
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x1001b650
xor edx, edx
mov dword [esp + 0x10], ebx
inc edx
jmp 0x1001b68c
mov dword [esp + 0x20], 0x6feb9e9d
xor edx, edx
mov dword [esp + 0xc], 0xa2b8ea2c
mov dword [esp + 0x24], ebx
mov dword [esp + 0x1c], 0x56fd8c65
mov dword [esp + 0x28], 0x707e294
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
cmp ecx, eax
setg dl
sub edx, dword [esp + 0x20]
neg edx
sbb edx, edx
inc edx
imul edx, dword [esp + 0x20]
cmp edx, 0x23f
jne 0x1001bcde
cmp dword [esp + 0x20], ebx
jne 0x1001bcde
xor esi, esi
mov eax, ebx
inc esi
jmp 0x1001bce3
xor esi, esi
inc esi
mov eax, esi
cmp eax, dword [esp + 0x20]
jge 0x1001bcef
cmp dword [esp + 0x20], ebx
je 0x1001bcf7
mov eax, esi
cmp dword [esp + 0x20], ebx
jne 0x1001bcf9