Function at 0x10019bf4
Capabilities:
Compare security identifiers
Get file size
Identify system language via api
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x100815b1
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x230
push ebx
push esi
push edi
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
push 1
mov dword [esp + 0x1c], 0xc75b57fd
mov dword [esp + 0x10], 8
pop esi
mov dword [esp + 0x30], 0xffffffff
push 0
mov dword [esp + 0x34], 0xfffa
mov dword [esp + 0xf0], edx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x1c], 2
pop ebx
jmp 0x10019e57
mov dword [esp + 0x10], 0xbd7b1c2a
mov dword [esp + 0x24], 0x9df9481f
mov dword [esp + 0x10], 0xffffffea
jmp 0x10019e45
mov dword [esp + 0x20], ebx
jmp 0x10019c92
mov eax, dword [esp + 0x20]
mov dword [esp + eax*4 + 0x50], 4
inc dword [esp + 0x20]
cmp dword [esp + 0x20], esi
jl 0x10019c82
mov eax, dword [esp + 0x10]
xor edx, edx
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x10]
cmp ecx, eax
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x50]
setl dl
add esi, edx
xor ecx, ecx
imul esi, eax
mov eax, dword [esp + 0x50]
cmp eax, esi
mov eax, dword [esp + 0x10]
setg cl
xor esi, esi
add eax, ecx
inc esi
mov dword [esp + 0xc], eax
mov dword [esp + 0xc], ebx
cmp dword [esp + 0xc], ebx
jl 0x10019e41
mov dword [esp + 0x2c], esi
mov dword [esp + 0x20], ebx
jmp 0x10019d07
mov eax, dword [esp + 0x20]
mov dword [esp + eax*4 + 0x1c8], 0xf0d602ff
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 3
jl 0x10019cf4
mov dword [esp + 0x24], ebx
jmp 0x10019e2d
mov dword [esp + 0x20], ebx
jmp 0x10019d2c
mov eax, dword [esp + 0x20]
mov dword [esp + eax*4 + 0x88], ebx
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 2
jl 0x10019d1d
mov dword [esp + 0x88], ebx
cmp dword [esp + 0x88], ebx
jl 0x10019e29
mov dword [esp + 0x20], 0xe65c3421
mov byte [esp + 0x2b], bl
cmp byte [esp + 0x2b], 0
je 0x10019d6f
push ebx
push ebx
push 0x1ee7
push 0x574
call edi
push eax
call dword [sym.imp.USER32.dll_ScrollWindow]
mov dword [esp + 0x20], ebx
cmp dword [esp + 0x20], ebx
jl 0x10019e1c
mov eax, dword [esp + 0xc]
mov eax, dword [esp + eax*4 + 0x50]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + eax*4 + 0x50]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x88]
cmp dword [esp + 0x88], ebx
je 0x10019dad
mov ecx, esi
cmp dword [esp + 0x24], ebx
jne 0x10019daf
mov ecx, ebx
mov eax, dword [esp + 0x50]
xor edx, edx
add ecx, eax
mov eax, dword [esp + 0x50]
cmp eax, ecx
mov eax, dword [esp + 0x50]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x1c8]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0xc]
setne dl
mov ecx, dword [esp + eax*4 + 0x50]
mov eax, dword [esp + 0x18]
add eax, edx
xor edx, edx
cmp eax, ecx
setg dl
xor eax, eax
add edx, dword [esp + 0x1c8]
cmp edx, 0xffffffff
setne al
xor ecx, ecx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x20]
cmp dword [esp + 0x30], eax
setle cl
mov dword [esp + 0x30], ecx
dec dword [esp + 0x20]
jns 0x10019d7d
dec dword [esp + 0x88]
jns 0x10019d47
inc dword [esp + 0x24]
cmp dword [esp + 0x24], ebx
jle 0x10019d17
dec dword [esp + 0xc]
jns 0x10019cea
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
je 0x10019c7c
mov eax, dword [esp + 0xc]
dec dword [esp + 0x18]
cmp dword [esp + 0x18], 0xfffffff0
jg 0x10019c5f
mov dword [esp + 0x24], 0xffffffff
mov dword [esp + 0x10], ebx
jmp 0x10019e83
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x190], 0x74006310
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x10019e70
mov dword [esp + 0x10], ebx
jmp 0x10019e9c
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x60], esi
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x10019e90
mov eax, dword [esp + 0x24]
cmp dword [esp + 0x24], 0xfff7
mov eax, dword [esp + 0x24]
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
setl cl
cmp ecx, dword [esp + 0x24]
jne 0x10019eca
mov eax, esi
cmp dword [esp + 0x24], ebx
jne 0x10019ecc
mov eax, ebx
mov dword [esp + 0x190], eax
mov dword [esp + 0x24], 0xffffffee
jmp 0x10019fd5
mov dword [esp + 0x30], 0x1fc65786
lea ecx, [esp + 0x1a8]
mov dword [esp + 0x38], 0xfffffff9
mov dword [esp + 0x38], 0xffffffff
mov dword [esp + 0x38], 0xd96711db
mov dword [esp + 0x2c], 4
push 2
call fcn.10017c5d
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], 0x87c2657a
mov dword [esp + 0x10], ebx
jmp 0x10019f3b
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x22c], 0xfffffffc
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x10019f28
mov dword [esp + 0x10], ebx
jmp 0x10019f5e
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x1a8]
mov dword [eax + ecx*4], 4
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x10019f48
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x24]
inc dword [esp + 0x60]
cmp ecx, eax
mov eax, dword [esp + 0x30]
mov ecx, esi
cmovg ecx, ebx
add eax, ecx
xor ecx, ecx
cmp eax, 0x6f9b6917
setge cl
imul ecx, dword [esp + 0x24]
test ecx, ecx
je 0x10019f99
mov eax, esi
cmp dword [esp + 0x60], ebx
jne 0x10019f9b
mov eax, ebx
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x2c]
neg ecx
sub ecx, 0x1c1d99ea
neg ecx
sbb ecx, ecx
xor eax, eax
add ecx, 2
cmp ecx, 0xfffffffa
lea ecx, [esp + 0x1a8]
setge al
mov dword [esp + 0x190], eax
inc dword [esp + 0x3c]
call fcn.10017cdf
inc dword [esp + 0x24]
cmp dword [esp + 0x24], 0x17
jne 0x10019ee0
mov dword [esp + 0x14], 0x462d5e48
mov dword [esp + 0x2c], 0x1d102278
mov dword [esp + 0x14], ebx
jmp 0x1001a1cc
push esi
lea ecx, [esp + 0xa8]
call fcn.10017c5d
mov dword [esp + 0x24], ebx
jmp 0x1001a022
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0xa4]
mov dword [eax + ecx*4], 0x5683
inc dword [esp + 0x24]
cmp dword [esp + 0x24], esi
jl 0x1001a00c
mov dword [esp + 0x24], ebx
jmp 0x1001a03e
mov eax, dword [esp + 0x24]
mov dword [esp + eax*4 + 0x54], 0xffffffff
inc dword [esp + 0x24]
cmp dword [esp + 0x24], esi
jl 0x1001a02e
mov dword [esp + 0x54], ebx
jmp 0x1001a1b2
mov dword [esp + 0x24], 0xfffffffd
mov dword [esp + 0x38], 0x9405dbd5
mov dword [esp + 0x10], ebx
mov dword [esp + 0x24], ebx
cmp dword [esp + 0x24], ebx
jl 0x1001a18e
mov dword [esp + 0xc], 0xb8f5f499
mov dword [esp + 0x30], 0xfc72fa5d
mov dword [esp + 0xc], ebx
jmp 0x1001a16a
mov dword [esp + 0x20], 0x5fac1226
mov dword [esp + 0x20], ebx
cmp dword [esp + 0x20], ebx
jl 0x1001a166
mov dword [esp + 0x18], esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x18], ebx
cmp dword [esp + 0x18], ebx
jl 0x1001a15c
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0xa4]
mov edx, dword [esp + 0xa4]
mov eax, dword [eax + ecx*4]
xor ecx, ecx
cmp eax, 0xfffffff7
mov dword [edx + esi*4], eax
sete cl
xor edx, edx
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0xa4]
cmp dword [eax + ecx*4], ebx
mov eax, dword [esp + 0x2c]
setg dl
sub eax, edx
neg eax
sbb eax, eax
add eax, 0x9ef54382
neg eax
sbb eax, eax
xor edx, edx
inc eax
cmp eax, 0xa98ceef
setle dl
xor ecx, ecx
sub edx, dword [esp + 0x30]
mov eax, dword [esp + 0x18]
cmp edx, eax
setge cl
cmp ecx, dword [esp + 0x38]
jl 0x1001a12f
cmp dword [esp + 0x54], ebx
je 0x1001a12f
xor esi, esi
inc esi
mov edx, esi
jmp 0x1001a134
xor esi, esi
mov edx, ebx
inc esi
mov ecx, dword [esp + 0x20]
sub ecx, 0x2f3d4794
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, edx
setge al
mov dword [esp + 0x40], eax
mov dword [esp + 0x10], ebx
dec dword [esp + 0x18]
jns 0x1001a0b4
dec dword [esp + 0x20]
jns 0x1001a09e
inc dword [esp + 0xc]
cmp dword [esp + 0xc], ebx
jle 0x1001a088
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0xa4]
cmp dword [eax + ecx*4], ebx
jne 0x1001a18e
dec dword [esp + 0x24]
jns 0x1001a06f
mov dword [esp + 0x10], ebx
cmp dword [esp + 0x10], ebx
jl 0x1001a1ae
mov dword [esp + 0x30], 0x94a737b7
mov dword [esp + 0x30], 0x23988f15
dec dword [esp + 0x10]
jns 0x1001a198
inc dword [esp + 0x54]
cmp dword [esp + 0x54], ebx
jle 0x1001a04d
lea ecx, [esp + 0xa4]
call fcn.10017cdf
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 0xd
jg 0x10019ff9
mov byte [esp + 0x2b], bl
cmp byte [esp + 0x2b], 0
je 0x1001a1ea
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_EqualSid]
mov dword [esp + 0x24], ebx
lea ecx, [esp + 0x150]
mov dword [esp + 0x30], ebx
mov dword [esp + 0x38], 0x23b1a956
mov dword [esp + 0x38], 2
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x20], 8
push esi
call fcn.10017c5d
mov dword [esp + 0x244], ebx
lea eax, [esp + 0x200]
push dword [esp + 0x7c]
mov dword [esp + 0x44], 0xffffffff
lea ecx, [esp + 0xd8]
push eax
lea eax, [esp + 0x1f8]
mov dword [esp + 0x48], 0x7c7ab89b
push eax
xorps xmm0, xmm0
mov dword [esp + 0x48], 3
mov dword [esp + 0x4c], esi
push ebx
movdqu xmmword [esp + 0x200], xmm0
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xec], ebx
call fcn.10019319
mov dword [esp + 0x14], ebx
jmp 0x1001a29c
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x150]
mov dword [eax + ecx*4], 0xfffffff8
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x1001a286
inc dword [esp + 0x3c]
mov dword [esp + 0x2c], 0x27a4
mov eax, dword [esp + 0x3c]
cmp eax, dword [esp + 0x2c]
jg 0x1001a2c0
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x38]
cmp dword [esp + 0x20], ebx
je 0x1001a2d3
mov eax, dword [esp + 0x150]
cmp dword [eax], ebx
mov eax, esi
jne 0x1001a2d5
mov eax, ebx
mov dword [esp + 0x20], eax
mov dword [esp + 0x20], ebx
cmp dword [esp + 0x20], ebx
jl 0x1001a32a
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x30], 0xfffffff7
mov dword [esp + 0x30], 0x8af95342
mov dword [esp + 0x30], 0x477ae271
inc dword [eax]
mov dword [esp + 0x30], 0x2f4e55b6
mov dword [esp + 0x30], 0xffffffff
mov dword [esp + 0x30], ebx
mov dword [esp + 0x30], 7
mov dword [esp + 0x30], esi
dec dword [esp + 0x20]
jns 0x1001a2e3
lea ecx, [esp + 0xd4]
call fcn.10017cdf
or dword [esp + 0x244], 0xffffffff
lea ecx, [esp + 0x150]
call fcn.10017cdf
mov dword [esp + 0x6c], ebx
lea ecx, [esp + 0x1bc]
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x30], 0xe48d327c
mov dword [esp + 0x30], 0xfffffffd
push 3
call fcn.10017c5d
mov dword [esp + 0x30], 0x6e7f737a
mov dword [esp + 0x2c], 7
mov dword [esp + 0x14], ebx
jmp 0x1001a3a0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1bc]
mov dword [eax + ecx*4], esi
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x1001a38e
dec dword [esp + 0x2c]
mov byte [esp + 0x2b], bl
cmp byte [esp + 0x2b], 0
je 0x1001a3c5
push ebx
push 0x1755
call edi
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
lea ecx, [esp + 0x1bc]
call fcn.10017cdf
push 3
mov dword [esp + 0x6c], 0x9310c13f
lea ecx, [esp + 0x16c]
pop edi
mov dword [esp + 0x18], 0x49c9fb37
mov dword [esp + 0x14], 5
mov dword [esp + 0x20], 0x1aedf47f
push edi
call fcn.10017c5d
mov dword [esp + 0x30], ebx
mov dword [esp + 0x10], ebx
jmp 0x1001a41a
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x90], esi
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x1001a40b
mov dword [esp + 0x10], ebx
jmp 0x1001a43c
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x168]
mov dword [eax + ecx*4], 0xd571e957
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x1001a426
cmp dword [esp + 0x18], esi
jl 0x1001a466
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
dec eax
neg eax
sbb eax, eax
neg eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x90]
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x90], 0x12e36
jge 0x1001a47b
mov eax, ebx
cmp dword [esp + 0x18], ebx
je 0x1001a47d
mov eax, esi
mov dword [esp + 0x90], eax
cmp dword [esp + 0x90], ebx
je 0x1001a533
mov dword [esp + 0x2c], 0xfffffffa
mov dword [esp + 0x174], ebx
mov dword [esp + 0x178], ebx
mov dword [esp + 0x17c], ebx
mov dword [esp + 0x180], ebx
mov eax, dword [esp + 0x20]
mov dword [esp + 0x90], eax
test eax, eax
je 0x1001a507
cmp dword [esp + 0x90], ebx
jne 0x1001a4dc
cmp dword [esp + 0x90], 0xa5fc
mov edx, ebx
jg 0x1001a4de
mov edx, esi
mov eax, dword [esp + 0x20]
xor ecx, ecx
cmp edx, eax
push 0xfffffffffffffffd
setl cl
pop eax
cmp eax, ecx
sbb ecx, ecx
inc ecx
mov dword [esp + 0x90], ecx
mov eax, dword [esp + 0x18]
add eax, ecx
imul eax, dword [esp + 0x20]
test eax, eax
jne 0x1001a50b
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x2c]
xor ecx, ecx
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
test eax, eax
setns cl
mov dword [esp + 0x174], ecx
jmp 0x1001a58c
mov dword [esp + 0x30], esi
mov dword [esp + 0x30], 0x7311ebc8
mov dword [esp + 0x3c], 0xfffffff7
mov dword [esp + 0x14], ebx
jmp 0x1001a560
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x220], 0xba8b036c
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edi
jl 0x1001a54d
dec dword [esp + 0x3c]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x220]
mov edx, dword [esp + 0x3c]
sub ecx, eax
mov eax, dword [esp + 0x168]
sub edx, ecx
neg edx
sbb edx, edx
inc edx
mov dword [eax + 4], edx
lea ecx, [esp + 0x168]
call fcn.10017cdf
mov dword [esp + 0x64], esi
lea ecx, [esp + 0x144]
push 2
call fcn.10017c5d
mov dword [esp + 0x20], 0xfffffff8
mov dword [esp + 0x30], 0xbb4aad9d
mov dword [esp + 0x38], 0xc3837ace
push 2
mov dword [esp + 0x40], 0x365d
mov dword [esp + 0x14], ebx
pop edx
jmp 0x1001a5e9
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x144]
mov dword [eax + ecx*4], 0x98a8
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x1001a5d3
mov dword [esp + 0x10], ebx
jmp 0x1001a608
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x1b4], 0xfffffff7
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x1001a5f5
mov dword [esp + 0x20], esi
cmp dword [esp + 0x20], ebx
jl 0x1001a68c
mov dword [esp + 0x40], 0xfc4b03e3
xor edx, edx
mov dword [esp + 0x38], 0x3dda37bb
mov dword [esp + 0x38], 0xe82ca968
mov dword [esp + 0x38], 7
mov dword [esp + 0x2c], 0xfffffffb
mov dword [esp + 0x2c], ebx
mov eax, dword [esp + 0x3c]
inc dword [esp + 0x3c]
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x38]
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x144]
mov eax, dword [esp + 0x40]
cmp dword [ecx + esi*4], eax
mov eax, 0x693e
sete dl
sub eax, edx
neg eax
sbb eax, eax
neg eax
mov dword [esp + 0x1b4], eax
dec dword [esp + 0x20]
jns 0x1001a618
xor esi, esi
inc esi
lea ecx, [esp + 0x144]
call fcn.10017cdf
mov dword [esp + 0x30], 0x7d757520
mov dword [esp + 0x20], 0xe17c927d
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x24]
dec eax
neg eax
sbb eax, eax
xor edx, edx
inc eax
cmp eax, esi
mov dword [esp + 0x78], eax
setg dl
sub edx, dword [esp + 0x24]
mov eax, dword [esp + 0x24]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setg cl
cmp ecx, 0xe46c2e7c
sbb eax, eax
neg eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x24], ebx
cmp dword [esp + 0x24], edi
mov edi, dword [sym.imp.USER32.dll_UnregisterClassA]
jg 0x1001b55f
mov dword [esp + 0xc], 0x2c03342e
mov dword [esp + 0xc], ebx
jmp 0x1001a73e
mov dword [esp + 0x14], 0x38ecf54c
mov dword [esp + 0x38], 8
mov dword [esp + 0x38], ebx
mov dword [esp + 0x14], 0x16
jmp 0x1001a733
mov dword [esp + 0x2c], 0x8cccddd
dec dword [esp + 0x2c]
dec dword [esp + 0x14]
cmp dword [esp + 0x14], 0xffffffec
jne 0x1001a723
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 0x13
jl 0x1001a705
mov dword [esp + 0xc], ebx
jmp 0x1001a76f
mov byte [esp + 0x2b], bl
cmp byte [esp + 0x2b], 0
je 0x1001a76b
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetWindowOrgEx]
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 0xf
jne 0x1001a74b
mov dword [esp + 0x3c], 6
xor ecx, ecx
mov dword [esp + 0x2c], 0xafd77ccc
mov eax, dword [esp + 0x24]
mov eax, dword [esp + eax*4 + 0x6c]
test eax, eax
mov eax, dword [esp + 0x24]
setne cl
mov edx, dword [esp + eax*4 + 0x6c]
mov eax, dword [esp + 0x68]
add eax, ecx
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [esp + 0x3c], ecx
xor ecx, ecx
mov eax, dword [esp + 0x24]
mov eax, dword [esp + eax*4 + 0x6c]
cmp eax, 0x66e9
mov eax, dword [esp + 0x3c]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x78]
setne dl
sub edx, eax
mov eax, dword [esp + 0x2c]
sub edx, eax
cmp edx, 2
jne 0x1001aa9e
mov dword [esp + 0x10], 0xb674
mov dword [esp + 0xc], 0xd10caad9
mov dword [esp + 0xc], ebx
jmp 0x1001a806
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x44], 0x1a652065
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x1001a7f6
push 0xfffffffffffffffb
mov dword [esp + 0x10], ebx
pop edx
cmp dword [esp + 0xc], esi
jge 0x1001a82a
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0xa0], edx
inc dword [esp + 0xc]
jmp 0x1001a813
cmp dword [esp + 0x10], 0x46b6eb6b
jne 0x1001a85b
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x44]
mov eax, dword [esp + 0x44]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
push 7
pop ecx
sub ecx, eax
jne 0x1001a857
mov eax, dword [esp + 0x44]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov dword [esp + 0xa0], edx
mov dword [esp + 0xc], edx
mov dword [esp + 0xc], 0xffffffe8
jmp 0x1001a970
mov dword [esp + 0x2c], 5
mov dword [esp + 0x34], esi
mov dword [esp + 0x10], ebx
jmp 0x1001a962
mov dword [esp + 0x18], 0xb65cab43
xor edx, edx
mov dword [esp + 0x34], 0x72c2e8b5
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + eax*4 + 0x44]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + eax*4 + 0x44]
cmp ecx, eax
mov eax, dword [esp + 0x10]
sete dl
mov dword [esp + eax*4 + 0x44], edx
mov dword [esp + 0x18], ebx
cmp dword [esp + 0x18], ebx
jl 0x1001a95e
mov byte [esp + 0x2b], bl
cmp byte [esp + 0x2b], 0
je 0x1001a8e2
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_TranslateMDISysAccel]
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0xa0]
cmp dword [esp + 0x2c], 0xf1111919
sbb eax, eax
inc eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + eax*4 + 0x44]
cmp dword [esp + 0x10], ebx
jne 0x1001a916
mov eax, dword [esp + 0x18]
mov eax, dword [esp + eax*4 + 0x44]
mov eax, dword [esp + 0x10]
xor edx, edx
mov eax, dword [esp + eax*4 + 0x44]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + eax*4 + 0x44]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + eax*4 + 0x44]
test eax, eax
mov eax, dword [esp + 0x18]
setns dl
xor ecx, ecx
mov eax, dword [esp + eax*4 + 0x44]
cmp eax, edx
mov eax, dword [esp + 0x10]
setne cl
mov dword [esp + eax*4 + 0x44], ecx
dec dword [esp + 0x18]
jns 0x1001a8c9
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jle 0x1001a88c
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 0xffffffe8
jg 0x1001a877
mov dword [esp + 0x18], esi
mov dword [esp + 0x34], 0xffffffff
mov dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x2c], 0xc0198ab7
mov dword [esp + 0x38], esi
mov dword [esp + 0x14], ebx
jmp 0x1001a9b4
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x200], 0xfffffffc
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 4
jl 0x1001a9a1
mov byte [esp + 0x2b], bl
cmp byte [esp + 0x2b], 0
je 0x1001a9ce
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov eax, dword [esp + 0x18]
imul eax, dword [esp + 0x18]
test eax, eax
jne 0x1001a9e3
mov eax, ebx
cmp dword [esp + 0x34], ebx
je 0x1001a9e5
mov eax, esi
mov dword [esp + 0x2c], eax
xor edx, edx
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x18]
cmp eax, ecx
setl dl
cmp edx, esi
sbb eax, eax
inc eax
mov dword [esp + 0x200], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
sub ecx, eax
jne 0x1001aa1f
mov eax, ebx
cmp dword [esp + 0x200], ebx
je 0x1001aa21
mov eax, esi
mov dword [esp + 0x2c], eax
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x34]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setg cl
mov dword [esp + 0x38], ecx
mov byte [esp + 0x1f], bl
mov dword [esp + 0x14], 0x91a049fe
mov dword [esp + 0x38], eax
mov byte [esp + 0x2b], bl
cmp byte [esp + 0x2b], 0
je 0x1001aa5d
push ebx
push ebx
call edi
mov dword [esp + 0x14], ebx
jmp 0x1001aa73
mov dword [esp + 0x2c], 8
inc dword [esp + 0x2c]
dec dword [esp + 0x14]
cmp dword [esp + 0x14], 0xfffffff6
jne 0x1001aa63
cmp byte [esp + 0x1f], 0
je 0x1001b14f
push ebx
push ebx
push 0x1cc8
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x1001b14f
mov dword [esp + 0xc], 0xf89b5461
lea ecx, [esp + 0x12c]
mov dword [esp + 0x18], 0xa20b2878
push 4
call fcn.10017c5d
mov dword [esp + 0xc], ebx
jmp 0x1001aad5
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0xb0], 0x5f70ad6f
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x1001aac2
mov dword [esp + 0xc], ebx
jmp 0x1001aaf8
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x12c]
mov dword [eax + ecx*4], 5
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 4
jl 0x1001aae2
mov dword [esp + 0xc], ebx
cmp dword [esp + 0xc], 2
jg 0x1001abfe
mov esi, dword [esp + 0x12c]
mov dword [esp + 0x34], 0xc58bdfad
xor ecx, ecx
mov eax, dword [esp + 0xc]
mov eax, dword [esp + eax*4 + 0xb0]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + eax*4 + 0xb0]
mov dword [esp + 0x34], 0xfffffffe
mov eax, dword [esp + 0x34]
cmp eax, 0x2858905b
mov eax, dword [esp + 0xb0]
setle cl
sub ecx, 0xcd43
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp eax, ecx
mov eax, dword [esp + 0xc]
setl dl
xor ecx, ecx
mov eax, dword [esp + eax*4 + 0xb0]
cmp edx, eax
setl cl
xor edx, edx
neg ecx
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + eax*4 + 0xb0]
mov eax, dword [esp + 0x18]
cmp ecx, eax
setl dl
xor eax, eax
cmp edx, 0x4d64
setle al
add eax, dword [esp + 0xb8]
cmp eax, 4
sbb eax, eax
inc eax
mov dword [esi + 4], eax
mov byte [esp + 0x1f], bl
cmp byte [esp + 0x1f], 0
je 0x1001abec
push 0x10b
push 0x258a
push 0x8dc
push 0x15b7
push 0xc79
push 0x205b
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_RoundRect]
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jle 0x1001ab15
xor esi, esi
inc esi
mov dword [esp + 0x18], 0xffffffea
jmp 0x1001ac5c
mov dword [esp + 0x34], 2
xor ecx, ecx
mov dword [esp + 0x34], esi
mov dword [esp + 0x14], 0x6c0f1a01
mov dword [esp + 0x30], 0x818a
mov dword [esp + 0x34], 0x2c51978e
mov eax, dword [esp + 0x18]
cmp eax, 0x136ef6f
setne cl
cmp ecx, dword [esp + 0x14]
jle 0x1001ac44
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x14], 0xfff9
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 0xfffffff2
jg 0x1001ac08
lea ecx, [esp + 0x12c]
call fcn.10017cdf
mov dword [esp + 0x38], 0x3e5c
mov dword [esp + 0xc], ebx
jmp 0x1001ac90
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0xf4], 0xffffffff
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 4
jl 0x1001ac7d
mov dword [esp + 0xc], ebx
jmp 0x1001aca9
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x58], ebx
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x1001ac9d
mov dword [esp + 0x58], 3
cmp dword [esp + 0x58], ebx
jl 0x1001ae80
mov dword [esp + 0xc], 0x5b3b9da4
lea ecx, [esp + 0x138]
mov dword [esp + 0x18], esi
mov dword [esp + 0x104], esi
mov dword [esp + 0x108], esi
mov dword [esp + 0x10c], esi
mov dword [esp + 0x110], esi
mov dword [esp + 0x30], 0x1d2a6f9a
mov dword [esp + 0x30], 0xfffffffc
push esi
call fcn.10017c5d
mov dword [esp + 0x244], esi
mov dword [esp + 0x14], ebx
jmp 0x1001ad2a
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x138]
mov dword [eax + ecx*4], 0xfffffff6
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x1001ad14
mov dword [esp + 0xc], ebx
jmp 0x1001add2
push dword [esp + 0x7c]
movdqa xmm0, xmmword [0x10007b50]
lea eax, [esp + 0x224]
push eax
lea eax, [esp + 0x218]
mov dword [esp + 0x11c], ebx
push eax
push ebx
lea ecx, [esp + 0x124]
mov dword [esp + 0x128], ebx
movdqu xmmword [esp + 0x220], xmm0
mov dword [esp + 0x12c], ebx
call fcn.10019319
dec dword [esp + 0x110]
push 3
mov dword [esp + 0x1c], ebx
pop eax
jmp 0x1001adbc
mov dword [esp + 0x14], 0xe5a945cb
mov dword [esp + 0x30], 4
mov dword [esp + 0x14], ebx
jmp 0x1001adb2
mov dword [esp + 0x30], 8
inc dword [esp + 0x14]
cmp dword [esp + 0x14], eax
jle 0x1001ada6
inc dword [esp + 0x18]
cmp dword [esp + 0x18], eax
jle 0x1001ad90
lea ecx, [esp + 0x114]
call fcn.10017cdf
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jle 0x1001ad39
mov eax, dword [esp + 0x138]
inc dword [eax]
je 0x1001ae1b
mov eax, dword [esp + 0x58]
cmp dword [esp + eax*4 + 0xf4], ebx
jne 0x1001adf9
mov eax, dword [esp + 0x58]
cmp dword [esp + 0x58], ebx
jne 0x1001ae0a
mov ecx, ebx
cmp dword [esp + 0x110], ebx
je 0x1001ae0c
mov ecx, esi
mov eax, dword [esp + 0x58]
cmp dword [esp + eax*4 + 0xf4], ecx
mov ecx, esi
je 0x1001ae1d
mov ecx, ebx
mov eax, dword [esp + 0x58]
xor edx, edx
mov eax, dword [esp + eax*4 + 0xf4]
add ecx, eax
mov eax, dword [esp + 0x100]
cmp ecx, eax
mov eax, dword [esp + 0x58]
setl dl
xor ecx, ecx
mov eax, dword [esp + eax*4 + 0xf4]
cmp edx, eax
mov eax, dword [esp + 0xf4]
sete cl
xor edx, edx
cmp ecx, 0x1e5c
lea ecx, [esp + 0x138]
setge dl
sub edx, eax
mov dword [esp + 0x18], edx
or dword [esp + 0x244], 0xffffffff
call fcn.10017cdf
dec dword [esp + 0x58]
jns 0x1001acc2
mov byte [esp + 0x1f], bl
cmp byte [esp + 0x1f], 0
je 0x1001aea3
push 0x26dd
push 0x12da
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
push ebx
call dword [sym.imp.USER32.dll_GetMessageA]
mov dword [esp + 0x40], 0xc75b167d
mov dword [esp + 0x14], esi
mov dword [esp + 0x34], 0x6de
mov dword [esp + 0x40], 0xfffffff6
mov dword [esp + 0xc], ebx
jmp 0x1001aed5
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x48], 0xddc85f70
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x1001aec5
mov dword [esp + 0xc], ebx
jmp 0x1001aef5
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x19c], 0x2e84cbf7
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x1001aee2
mov dword [esp + 0x48], ebx
cmp dword [esp + 0x48], ebx
jl 0x1001b034
mov dword [esp + 0x10], 0xd32ffab8
mov dword [esp + 0x10], ebx
jmp 0x1001b01f
mov dword [esp + 0x14], ebx
jmp 0x1001af30
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0xe0], esi
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x1001af21
mov byte [esp + 0x1f], bl
cmp byte [esp + 0x1f], 0
je 0x1001af4f
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
mov dword [esp + 0xe0], ebx
jmp 0x1001b00d
mov dword [esp + 0xc], 0x835a23e8
mov dword [esp + 0xc], 0x1d
jmp 0x1001afd6
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x18], ebx
jmp 0x1001afcb
mov dword [esp + 0x14], ebx
jmp 0x1001af94
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0xbc], 0xfffffffb
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x1001af81
mov dword [esp + 0xc4], ebx
jmp 0x1001afbd
mov byte [esp + 0x1f], bl
cmp byte [esp + 0x1f], 0
je 0x1001afb6
push ebx
call dword [sym.imp.GDI32.dll_CreatePenIndirect]
dec dword [esp + 0xc4]
cmp dword [esp + 0xc4], 0xfffffff4
je 0x1001afa4
dec dword [esp + 0x18]
cmp dword [esp + 0x18], 0xffffffeb
jne 0x1001af7b
dec dword [esp + 0xc]
cmp dword [esp + 0xc], 0xffffffea
jl 0x1001af6d
mov dword [esp + 0xc], ebx
jmp 0x1001afff
mov byte [esp + 0x1f], bl
cmp byte [esp + 0x1f], 0
je 0x1001affb
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_IsZoomed]
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 0xe
jne 0x1001afe3
dec dword [esp + 0xe0]
cmp dword [esp + 0xe0], 0xfffffff7
jge 0x1001af5b
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 9
jg 0x1001af1b
dec dword [esp + 0x48]
jns 0x1001af0a
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x14], eax
cmp dword [esp + 0x14], 0xfffe
ja 0x1001b04e
mov edx, ebx
cmp dword [esp + 0x48], ebx
je 0x1001b050
mov edx, esi
mov eax, dword [esp + 0x4c]
xor ecx, ecx
cmp edx, eax
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x48]
setl cl
sub edx, ecx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [esp + 0x48]
setge cl
sub ecx, eax
mov dword [esp + 0x1a4], ecx
xor ecx, ecx
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
cmp eax, esi
mov eax, dword [esp + 0x4c]
setg cl
sub eax, ecx
je 0x1001b09c
mov eax, dword [esp + 0x1a0]
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x48]
add eax, ecx
mov ecx, dword [esp + 0x48]
imul ecx, eax
test ecx, ecx
jne 0x1001b0c5
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x48]
xor ecx, ecx
mov eax, dword [esp + 0x34]
add eax, dword [esp + 0x48]
cmp eax, 0x6b93
mov eax, dword [esp + 0x40]
setle cl
sub ecx, eax
add ecx, dword [esp + 0x48]
mov dword [esp + 0x4c], ecx
cmp dword [esp + 0x74], ebx
jne 0x1001b138
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x24]
cmp dword [esp + eax*4 + 0x6c], ebx
jne 0x1001b105
mov ecx, ebx
cmp dword [esp + 0x64], ebx
je 0x1001b107
mov ecx, esi
mov eax, dword [esp + 0x64]
imul eax, ecx
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x38]
mov eax, dword [esp + 0x2c]
cmp dword [esp + 0x2c], ebx
je 0x1001b124
mov eax, dword [esp + 0x38]
mov eax, dword [esp + 0x64]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x40]
push 0x5a73
push ebx
push 0x5d0a
mov dword [esp + 0x3c], ebx
call fcn.1001ecc0
add esp, 0xc
mov dword [esp + 0xc], 5
lea ecx, [esp + 0x15c]
push esi
call fcn.10017c5d
mov dword [esp + 0x244], 2
mov dword [esp + 0x38], 0x14173bf3
mov dword [esp + 0x10], ebx
jmp 0x1001b190
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x15c]
or dword [eax + ecx*4], 0xffffffff
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x1001b17d
mov dword [esp + 0x10], ebx
jmp 0x1001b1af
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0xf0], 0xfa4ad744
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x1001b19c
mov dword [esp + 0x10], ebx
jmp 0x1001b1ce
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x1d4], 0xfffffffc
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x1001b1bb
mov dword [esp + 0xc], ebx
cmp dword [esp + 0xc], ebx
je 0x1001b20f
mov dword [esp + 0x18], 2
mov dword [esp + 0x18], ebx
jmp 0x1001b203
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x15c]
mov dword [eax + ecx*4], 0x4d2edc75
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jl 0x1001b1ed
inc dword [esp + 0xc]
jne 0x1001b1df
mov dword [esp + 0xc], ebx
jmp 0x1001b282
push 3
lea ecx, [esp + 0x188]
call fcn.10017c5d
mov dword [esp + 0x38], 0xfffffff6
mov dword [esp + 0x38], 0xefa5f9c7
mov dword [esp + 0x14], ebx
jmp 0x1001b24b
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x184]
mov dword [eax + ecx*4], ebx
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x1001b239
mov byte [esp + 0x1f], bl
cmp byte [esp + 0x1f], 0
je 0x1001b26b
cmp dword [esp + 0xc], ebx
jle 0x1001b215
or dword [esp + 0x244], 0xffffffff
lea ecx, [esp + 0x15c]
call fcn.10017cdf
mov eax, dword [esp + 0x24]
xor ecx, ecx
mov eax, dword [esp + eax*4 + 0x6c]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x64]
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0x3c]
test eax, eax
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
sets cl
sub edx, ecx
sub edx, dword [esp + eax*4 + 0x6c]
mov eax, dword [esp + 0x6c]
neg eax
sbb eax, eax
inc eax
cmp eax, edx
jg 0x1001b54a
mov dword [esp + 0x20], ebx
jmp 0x1001b53d
mov dword [esp + 0x10], 2
lea ecx, [esp + 0x120]
push 2
mov dword [esp + 0x40], 0xffffffff
mov dword [esp + 0x3c], esi
pop esi
mov dword [esp + 0x2c], 0xc1da7bc9
push esi
call fcn.10017c5d
mov dword [esp + 0x244], 3
lea eax, [esp + 0x1f0]
push dword [esp + 0xf0]
movdqa xmm0, xmmword [0x10007b90]
lea ecx, [esp + 0xcc]
push eax
lea eax, [esp + 0x1e8]
mov dword [esp + 0x48], 0xfffffff6
push eax
push ebx
movdqu xmmword [esp + 0x1f0], xmm0
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe0], ebx
call fcn.10019319
mov dword [esp + 0xc], ebx
jmp 0x1001b388
cmp dword [esp + 0x20], 3
jle 0x1001b2e3
jmp 0x1001b550
cmp dword [esp + 0x30], ebx
jne 0x1001b55f
inc dword [esp + 0x24]
cmp dword [esp + 0x24], 3
jle 0x1001a6f7
mov dword [esp + 0x18], 0x24a8c6a5
mov dword [esp + 0x18], ebx
jmp 0x1001b5b6
mov dword [esp + 0x20], esi
mov dword [esp + 0x14], ebx
jmp 0x1001b586
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x9c], esi
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x1001b577
mov dword [esp + 0x20], ebx
jmp 0x1001b5ac
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + eax*4 + 0x9c]
mov eax, dword [esp + 0x20]
mov dword [esp + eax*4 + 0x9c], ecx
inc dword [esp + 0x20]
cmp dword [esp + 0x20], ebx
jle 0x1001b592
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 0x17
je 0x1001b56d
mov byte [esp + 0x1f], bl
cmp byte [esp + 0x1f], 0
je 0x1001b5da
push ebx
push 0x26c1
push 0x1e96
push ebx
call dword [sym.imp.GDI32.dll_SetPaletteEntries]
mov dword [esp + 0x14], 0x91a049fe
mov dword [esp + 0x30], 0xffffffff
mov byte [esp + 0x1f], bl
cmp byte [esp + 0x1f], 0
je 0x1001b5f9
push ebx
push ebx
call edi
mov dword [esp + 0x14], ebx
jmp 0x1001b60f
mov dword [esp + 0x30], 8
inc dword [esp + 0x30]
dec dword [esp + 0x14]
cmp dword [esp + 0x14], 0xfffffff6
jne 0x1001b5ff
mov eax, dword [esp + 0xec]
mov ecx, 0x3e8
cdq
idiv ecx
mov ecx, dword [esp + 0x7c]
mov esi, edx
mov edi, eax
call fcn.10019b82
mov ecx, dword [esp + 0x23c]
add eax, esi
add eax, edi
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret