Function at 0x1007261e
Capabilities:
Encode data using xor
Encrypt data using speck

Disassembly:
mov eax, 0x1008dfd7
call fcn.1008c8c8
sub esp, 0x1cc
mov dword [ebp - 0x20], 0xfff6
mov dword [ebp - 0x28], 0xfffffffd
mov dword [ebp - 0x2c], 8
mov dword [ebp - 0x44], 0x5cf1c946
push ebx
mov dword [ebp - 0x40], 0x4ab6
xor ebx, ebx
mov eax, dword [ebp - 0x20]
push esi
mov dword [ebp - 0x28], eax
push edi
mov byte [ebp - 0x45], dl
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x20], ebx
jmp 0x100726ef
mov dword [ebp - 0x24], 0xe32cf415
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x14], ebx
jmp 0x1007268a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x100], 0x7c1188e1
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x10072679
mov eax, dword [ebp - 0x2c]
imul eax, dword [ebp - 0x2c]
test eax, eax
jne 0x100726ae
mov eax, dword [ebp - 0x100]
mov ecx, ebx
mov eax, dword [ebp - 0xfc]
cmp dword [ebp - 0x44], ebx
je 0x100726b0
mov ecx, edx
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ecx
jg 0x100726c5
mov eax, edx
cmp dword [ebp - 0x24], ebx
jne 0x100726c7
mov eax, ebx
mov edx, dword [ebp - 0x2c]
xor ecx, ecx
imul edx, eax
mov eax, dword [ebp - 0x100]
cmp edx, eax
setle cl
mov dword [ebp - 0x28], ecx
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], bl
je 0x100726ec
push ebx
call dword [sym.imp.USER32.dll_DestroyIcon]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x1f
push 1
pop edx
jl 0x1007266a
mov dword [ebp - 0x44], 0x3e2f
cmp dword [ebp - 0x44], 0x4181
jle 0x10072731
mov esi, ebx
mov edi, esi
mov ebx, 0x538c
mov eax, edi
mov ecx, 0x10092b78
cdq
push edx
push eax
call fcn.10022847
dec edi
dec ebx
jne 0x10072715
inc esi
cmp esi, 0x39da
jl 0x1007270e
cmp dword [ebp - 0x44], 0x3cbc
jge 0x10072749
mov edx, 0x1000ffa8
mov ecx, 0x10092b78
call fcn.10025597
push 1
lea ecx, [ebp - 0x11c]
call fcn.10022b61
mov dword [ebp - 0x14], 0xffffffff
xor edx, edx
mov dword [ebp - 0x40], 0x6e871d97
inc edx
mov dword [ebp - 0x44], 0xfe1ca29
mov dword [ebp - 0x14], ebx
jmp 0x10072786
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x11c]
mov dword [eax + ecx*4], 0x24039b64
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x10072773
dec dword [ebp - 0x44]
mov dword [ebp - 0x14], ebx
jmp 0x100727a8
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100727a5
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_SetWindowLongA]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jle 0x10072793
lea ecx, [ebp - 0x11c]
call fcn.10022be3
mov edi, dword [0x1009a01c]
mov dword [ebp - 0x3c], 0x271d
cmp dword [ebp - 0x3c], 0x29fb
mov dword [ebp - 0x44], edi
jle 0x10072866
mov edi, ebx
mov dword [ebp - 0x2c], ebx
mov esi, ebx
mov dword [ebp - 0x20], ebx
mov edx, edi
mov dword [ebp - 0x28], ebx
mov ecx, esi
mov edi, ebx
sar edx, cl
mov dword [ebp - 0x14], edx
mov esi, ebx
mov dword [ebp - 0x24], 0x3a61
mov eax, esi
lea ecx, [ebp - 0x1bc]
and eax, edx
cdq
push edx
push eax
call fcn.100118ee
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10072812
mov eax, dword [eax]
push eax
call fcn.10077843
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x1bc]
call fcn.10023317
mov edx, dword [ebp - 0x14]
add esi, edi
dec dword [ebp - 0x24]
jne 0x100727f6
inc edi
cmp edi, 0x67b1
jl 0x100727ed
mov esi, dword [ebp - 0x20]
mov edi, dword [ebp - 0x2c]
inc esi
mov dword [ebp - 0x20], esi
cmp esi, 0x2e93
jl 0x100727df
inc edi
mov dword [ebp - 0x2c], edi
cmp edi, 0x6f0b
jl 0x100727da
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.GDI32.dll_IntersectClipRect]
mov edi, dword [ebp - 0x44]
cmp dword [ebp - 0x3c], 0x234c
jge 0x1007287a
push 0x1000fff0
call fcn.10077843
pop ecx
push dword [ebp + 8]
lea eax, [ebp - 0x158]
mov dword [ebp - 0x7c], ebx
push eax
lea eax, [ebp - 0x168]
mov dword [ebp - 0x78], ebx
push eax
xorps xmm0, xmm0
mov dword [ebp - 0x74], ebx
push ebx
lea ecx, [ebp - 0x7c]
movdqu xmmword [ebp - 0x168], xmm0
call fcn.10025c55
mov eax, dword [ebp - 0x7c]
mov dword [eax], ebx
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100728bd
push ebx
call dword [sym.imp.USER32.dll_DestroyMenu]
mov eax, dword [ebp - 0x7c]
inc dword [eax]
cmp dword [eax], 0x1b
jle 0x100728ad
lea ecx, [ebp - 0x7c]
call fcn.10022be3
mov esi, dword [ebp + 8]
mov dword [ebp - 0x40], 3
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
mov dword [esi], ebx
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ebx
je 0x100728f7
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_SetMenuItemInfoA]
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1007290c
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetTimeFormatW]
xor eax, eax
inc eax
cmp byte [ebp - 0x45], 0
je 0x10072c6b
cmp edi, eax
jne 0x10072c6b
push 3
lea ecx, [ebp - 0xb0]
call fcn.10022b61
xor edx, edx
push 3
inc edx
mov dword [ebp - 0x40], edx
pop ecx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x10], ebx
jmp 0x10072955
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xb0]
push 3
mov dword [eax + ecx*4], 0xfffc
inc dword [ebp - 0x10]
pop ecx
cmp dword [ebp - 0x10], ecx
jl 0x1007293f
mov dword [ebp - 0x10], ebx
jmp 0x10072970
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x174], 0xb023ed15
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1007295f
mov dword [ebp - 0x10], ebx
jmp 0x1007298b
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x12c], 0xffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x1007297a
mov ecx, dword [ebp - 0x124]
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax]
inc dword [ebp - 0x124]
cmp eax, ecx
mov eax, edx
lea ecx, [ebp - 0xb0]
cmove eax, ebx
mov dword [ebp - 0x16c], eax
call fcn.10022be3
mov dword [ebp - 0x2c], 0x2e6d
cmp dword [ebp - 0x2c], 0x2fbe
mov dword [esi + 8], 4
jle 0x10072a53
mov eax, ebx
mov dword [ebp - 0x24], ebx
mov esi, ebx
mov dword [ebp - 0x20], ebx
mov edx, esi
mov dword [ebp - 0x28], ebx
and edx, eax
mov esi, ebx
mov dword [ebp - 0x14], edx
mov edi, ebx
mov ecx, edi
mov eax, esi
shl eax, cl
lea ecx, [ebp - 0x18c]
or eax, edx
cdq
push edx
push eax
call fcn.100118ee
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10072a0c
mov eax, dword [eax]
push eax
call fcn.10077843
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x18c]
call fcn.10023317
mov edx, dword [ebp - 0x14]
inc edi
cmp edi, 0x1fe6
jl 0x100729ec
inc esi
cmp esi, 0x62c0
jl 0x100729ea
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
inc esi
mov dword [ebp - 0x20], esi
cmp esi, 0x2562
jl 0x100729de
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x761f
jl 0x100729d9
mov dword [ebp - 0x10], 0x1dfe
lea ecx, [ebp - 0x70]
push 4
call fcn.10022b61
mov dword [ebp - 4], ebx
mov dword [ebp - 0x24], 0x339f
cmp dword [ebp - 0x24], 0x35eb
jle 0x10072a9d
mov esi, ebx
mov edi, ebx
lea eax, [edi + esi]
mov ecx, 0x10092b78
cdq
push edx
push eax
call fcn.10022847
inc edi
cmp edi, 0x5b95
jl 0x10072a7b
inc esi
cmp esi, 0x1c15
jl 0x10072a79
push 4
lea ecx, [ebp - 0x88]
call fcn.10022b61
mov byte [ebp - 4], 1
cmp dword [ebp - 0x24], 0x306b
jge 0x10072ac6
mov edx, 0x1001009c
mov ecx, 0x10092b78
call fcn.10025597
push 4
mov dword [ebp - 0x1c], ebx
pop edx
jmp 0x10072ade
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x70]
mov dword [eax + ecx*4], 5
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x10072ace
mov dword [ebp - 0x1c], ebx
jmp 0x10072af8
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x88]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x10072ae8
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov esi, dword [ebp - 0x70]
setge dl
xor eax, eax
cmp edx, 0xffffffff
setne al
xor ecx, ecx
imul eax, dword [ebp - 0x10]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
setle cl
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov dword [esi + 0xc], ecx
xor eax, eax
cmp dword [esi + 0xc], ebx
mov ecx, dword [ebp - 0x10]
setne al
add ecx, eax
mov eax, dword [ebp - 0x88]
mov dword [eax + 0xc], ecx
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], 3
jg 0x10072c33
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x28], eax
mov eax, 0xe5156be8
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x70]
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x70]
mov eax, dword [ecx + eax*4]
xor ecx, ecx
sub eax, 0x83ad
cmp eax, 1
setge cl
xor eax, eax
cmp ecx, dword [ebx + edx*4]
mov edx, dword [ebp - 0x28]
setle al
xor ecx, ecx
cmp eax, dword [edx + 4]
mov edx, ebx
setne cl
imul ecx, dword [edx + esi*4]
mov esi, dword [ebp - 0x24]
sub ecx, dword [edx + edi*4]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, dword [edx + esi*4]
mov ecx, dword [ebp - 0x10]
setge al
imul esi, eax, 0xa1ba
mov eax, dword [ebp - 0x88]
neg esi
sbb esi, esi
xor edx, edx
neg esi
cmp dword [eax + ecx*4], 1
setg dl
xor eax, eax
cmp edx, esi
setge al
cmp eax, 0x840cc74b
sbb eax, eax
xor ebx, ebx
inc eax
imul eax, eax, 0xfffe
mov dword [ebp - 0x110], eax
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], bl
je 0x10072c26
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_PostMessageA]
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jle 0x10072b68
lea ecx, [ebp - 0x88]
call fcn.10022be3
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.10022be3
cmp dword [ebp - 0x2c], 0x2d3d
jge 0x10072c5e
push 0x10010048
call fcn.10077843
pop ecx
mov eax, dword [ebp + 8]
mov dword [eax + 0xc], 0x1009a01c
xor eax, eax
inc eax
mov esi, dword [ebp - 0x34]
cmp esi, dword [ebp - 0x44]
jge 0x1007372f
mov dword [ebp - 0x10], 0xfffffff9
mov dword [ebp - 0x20], 0x61be360d
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], ebx
jmp 0x10072c9e
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x144], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x10072c8d
mov dword [ebp - 0x1c], ebx
jmp 0x10072cba
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x14c], 0x216709e1
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10072ca9
mov eax, dword [ebp - 0x10]
mov ecx, 0xc285
sub ecx, eax
jne 0x10072d20
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
neg eax
sbb eax, eax
neg eax
cmp eax, 0x80eb
mov eax, dword [ebp - 0x10]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setl dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x10]
setge cl
mov dword [ebp - 0x28], ecx
xor ecx, ecx
cmp dword [ebp - 0x28], eax
setge cl
neg ecx
cmp ecx, 0x398963ec
jne 0x10072d1d
cmp dword [ebp - 0x20], ebx
jne 0x10072d1d
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x10]
neg eax
sbb eax, eax
xor edx, edx
inc eax
imul ecx, eax
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setne dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], ebx
je 0x10072d5a
cmp dword [ebp - 0x20], ebx
je 0x10072d5a
xor edx, edx
inc edx
jmp 0x10072d5c
mov edx, ebx
mov eax, dword [ebp - 0x10]
xor ecx, ecx
cmp edx, eax
mov edi, 0x1009a020
mov dword [ebp - 0x38], edi
setle cl
mov dword [ebp - 0x148], ecx
test esi, esi
jle 0x1007323f
mov eax, dword [edi]
lea ecx, [ebp - 0xc8]
push 2
mov dword [ebp - 0x40], eax
call fcn.10022b61
mov dword [ebp - 0x14], ebx
jmp 0x10072da6
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc8]
mov dword [eax + ecx*4], 0xe0a8eac8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10072d93
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x10072dbf
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.GDI32.dll_GetCharWidth32A]
mov eax, dword [ebp - 0xc8]
lea ecx, [ebp - 0xc8]
mov dword [eax], 0xfffffff2
call fcn.10022be3
mov dword [ebp - 0x14], 0xfffffff7
lea ecx, [ebp - 0x158]
mov dword [ebp - 0x24], 0x7a61eefb
push 4
pop eax
mov dword [ebp - 0x28], 6
add edi, eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x30], 0x4e797535
mov dword [ebp - 0x30], 8
mov dword [ebp - 0x30], 0x191b4956
mov dword [ebp - 0x30], 0xa08ecb30
push 2
call fcn.10022b61
mov dword [ebp - 4], 2
lea ecx, [ebp - 0xe0]
mov dword [ebp - 0x30], 0xe469209a
push 4
call fcn.10022b61
mov dword [ebp - 0x1c], ebx
jmp 0x10072e4b
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x158]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10072e3c
mov dword [ebp - 0x1c], ebx
jmp 0x10072e66
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xe0]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x10072e56
mov ecx, dword [ebp - 0x14]
mov eax, 0xfffc
neg ecx
sbb ecx, ecx
neg ecx
sub eax, ecx
jne 0x10072e8a
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0xe0]
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0x28], ebx
inc dword [eax + 8]
call fcn.10022be3
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x158]
call fcn.10022be3
mov eax, dword [edi]
lea ecx, [ebp - 0xd4]
push 3
mov dword [ebp - 0x30], eax
call fcn.10022b61
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0x2c], 0xf0f
mov dword [ebp - 0x4c], 0xfffffffb
mov dword [ebp - 0x14], ebx
jmp 0x10072ef2
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xd4]
mov dword [eax + ecx*4], 0x540d7f82
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10072edf
push 2
pop edx
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], ebx
jl 0x10073088
mov dword [ebp - 0x10], 0x5b3b9da4
mov dword [ebp - 0x20], 0xbd2ab60e
mov dword [ebp - 0x10], ebx
jmp 0x10073061
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x14], 4
mov dword [ebp - 0x38], 4
mov dword [ebp - 0x20], 0x9951ea66
mov dword [ebp - 0x20], edx
cmp dword [ebp - 0x20], ebx
jl 0x1007305e
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x38], edx
cmp dword [ebp - 0x38], ebx
jl 0x10072f9d
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ebx
jne 0x10072f64
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov eax, dword [ebp - 0x3c]
cmp eax, 0xcced
setge cl
imul eax, ecx, 0x303f
test eax, eax
je 0x10072f88
cmp dword [ebp - 0x38], ebx
je 0x10072f88
xor ecx, ecx
inc ecx
jmp 0x10072f8a
mov ecx, ebx
xor eax, eax
cmp ecx, 0x69161d59
setge al
mov dword [ebp - 0x14], eax
dec dword [ebp - 0x38]
jns 0x10072f50
mov dword [ebp - 0x3c], ebx
jmp 0x1007304c
mov dword [ebp - 0x24], 9
mov dword [ebp - 0x14], ebx
jmp 0x1007303b
mov dword [ebp - 0x28], 0x1d67a3d5
mov dword [ebp - 0x2c], ebx
jmp 0x10073033
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 0x24]
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x24]
test eax, eax
mov eax, dword [ebp - 0x28]
setns cl
xor edx, edx
cmp ecx, eax
push 2
setle dl
sub edx, 0xfff7
neg edx
sbb edx, edx
inc edx
sub edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xd4]
neg edx
sbb edx, edx
inc edx
add edx, dword [eax + esi*4]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x4c], edx
xor edx, edx
cmp dword [ebp - 0x4c], eax
setg dl
xor ecx, ecx
add edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
cmp edx, eax
pop edx
setne cl
mov dword [ebp - 0x38], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x1c]
cmp eax, 0x268d9a65
setl cl
mov dword [ebp - 0x38], ecx
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], edx
jle 0x10072fc0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jle 0x10072fb4
cmp dword [ebp - 0x24], ebx
jne 0x10073055
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], edx
jle 0x10072fa5
dec dword [ebp - 0x20]
jns 0x10072f41
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jle 0x10072f1d
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x4c], eax
dec dword [ebp - 0x1c]
jns 0x10072f07
mov esi, dword [ebp - 0x34]
lea ecx, [ebp - 0xd4]
call fcn.10022be3
add edi, 4
cmp dword [ebp - 0x30], 0
mov dword [ebp - 0x38], edi
jne 0x100730a5
add edi, 8
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x20], 0x571177e8
lea ecx, [ebp - 0x138]
mov dword [ebp - 0x30], 2
mov dword [ebp - 0x30], 0xfffffff8
mov dword [ebp - 0x30], 0x7c694a6
mov dword [ebp - 0x30], 3
mov dword [ebp - 0x30], 0xfffffffb
push 1
call fcn.10022b61
mov dword [ebp - 4], 3
xor edx, edx
mov dword [ebp - 0x30], 0xd6c3
inc edx
mov dword [ebp - 0x14], ebx
jmp 0x10073105
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x138]
mov dword [eax + ecx*4], 0x951bb35b
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x100730f2
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], 0x1b
jg 0x10073220
push 2
lea ecx, [ebp - 0xbc]
call fcn.10022b61
mov byte [ebp - 4], 4
mov dword [ebp - 0x28], 0xe1f
cmp dword [ebp - 0x28], 0xf54
jle 0x10073195
mov ecx, ebx
mov dword [ebp - 0x24], ebx
mov edi, ebx
mov esi, ebx
mov eax, esi
and eax, edi
or eax, ecx
lea ecx, [ebp - 0x1a4]
cdq
push edx
push eax
call fcn.100118ee
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1007315f
mov eax, dword [eax]
push eax
call fcn.10077843
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x1a4]
call fcn.10023317
mov ecx, dword [ebp - 0x24]
inc esi
cmp esi, 0x7532
jl 0x10073141
inc edi
cmp edi, 0x2407
jl 0x1007313f
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0x4631
jl 0x1007313d
mov dword [ebp - 0x30], 0xfffffff8
cmp dword [ebp - 0x28], 0xc81
jge 0x100731b0
push 0x100100d8
call fcn.10077843
pop ecx
mov dword [ebp - 0x30], 0xa2b441a6
mov dword [ebp - 0x30], 0xfbf68593
mov dword [ebp - 0x30], 0x8a019320
mov dword [ebp - 0x30], 0x547507af
mov dword [ebp - 0x30], 0x1b185749
mov dword [ebp - 0x14], ebx
jmp 0x100731eb
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xbc]
mov dword [eax + ecx*4], 1
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x100731d8
mov eax, dword [ebp - 0xbc]
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 3
mov dword [eax + 4], 0xfffffffc
call fcn.10022be3
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x1b
jle 0x10073117
mov edi, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x138]
call fcn.10022be3
add edi, dword [ebp - 0x40]
dec esi
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x34], esi
jne 0x10072d7c
mov eax, dword [edi]
mov dword [ebp - 0x20], 6
mov dword [ebp - 0x14], 1
mov dword [ebp - 0x40], 0xfffffff9
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x14], 0x1a
cmp dword [ebp - 0x14], 0x15
jl 0x10073416
push 3
lea ecx, [ebp - 0xa4]
call fcn.10022b61
mov dword [ebp - 4], 7
mov dword [ebp - 0x24], 0x57b0
cmp dword [ebp - 0x24], 0x5a09
jle 0x100732e5
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.GDI32.dll_TextOutA]
mov dword [ebp - 0x34], ebx
mov edi, ebx
mov dword [ebp - 0x28], 0x2144
mov ebx, edi
mov esi, 0x35b
mov eax, ebx
mov ecx, 0x10092b78
cdq
push edx
push eax
call fcn.10022847
inc ebx
dec esi
jne 0x100732b2
mov esi, dword [ebp - 0x34]
add edi, esi
dec dword [ebp - 0x28]
jne 0x100732ab
inc esi
mov dword [ebp - 0x34], esi
push 0
pop ebx
cmp esi, 0x559
jl 0x100732a2
push ebx
call dword [sym.imp.GDI32.dll_CreateHalftonePalette]
mov dword [ebp - 0x20], ebx
jmp 0x100732fd
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xa4]
mov dword [eax + ecx*4], 0x7694
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x100732ea
cmp dword [ebp - 0x24], 0x545c
jge 0x1007331b
mov edx, 0x10010108
mov ecx, 0x10092b78
call fcn.10025597
mov dword [ebp - 0x20], 0x5e0a
cmp dword [ebp - 0x20], 0x61b0
jle 0x100733a3
push ebx
push ebx
push ebx
call dword [sym.imp.GDI32.dll_OffsetRgn]
mov dword [ebp - 0x34], ebx
mov edi, ebx
mov dword [ebp - 0x24], ebx
mov esi, ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x40], ebx
mov ebx, esi
mov esi, dword [ebp - 0x34]
and ebx, edi
mov edi, dword [ebp - 0x40]
mov eax, ebx
mov ecx, 0x10092b78
xor eax, edi
xor eax, esi
cdq
push edx
push eax
call fcn.10022847
inc edi
cmp edi, 0x77c7
jl 0x1007334e
mov esi, dword [ebp - 0x28]
mov edi, dword [ebp - 0x24]
inc esi
mov dword [ebp - 0x28], esi
push 0
pop ebx
cmp esi, 0x2c59
jl 0x10073341
inc edi
mov dword [ebp - 0x24], edi
cmp edi, 0x624a
jl 0x1007333c
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp eax, 0x26e9
jl 0x10073337
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.GDI32.dll_GetTextExtentPointA]
mov byte [ebp - 0x15], bl
cmp dword [ebp - 0x20], 0x5adc
jge 0x100733be
mov edx, 0x10010170
mov ecx, 0x10092b78
call fcn.10025597
cmp byte [ebp - 0x15], 0
je 0x100733cb
push ebx
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov dword [ebp - 0x20], 2
cmp dword [ebp - 0x20], ebx
jl 0x100733f7
mov esi, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xa4]
mov edx, dword [ebp - 0xa4]
mov eax, dword [eax + ecx*4]
mov dword [edx + esi*4], eax
mov dword [ebp - 0x40], eax
dec dword [ebp - 0x20]
jns 0x100733d7
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa4]
call fcn.10022be3
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x15
jge 0x10073270
mov edi, dword [ebp - 0x38]
mov eax, dword [edi + 4]
add edi, 8
mov dword [ebp - 0x28], 0x6d16
cmp dword [ebp - 0x28], 0x7000
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x38], edi
jle 0x100734a5
mov edx, ebx
mov dword [ebp - 0x14], ebx
mov ecx, ebx
mov dword [ebp - 0x34], ebx
mov edi, ebx
mov esi, ebx
mov eax, esi
and eax, edi
and eax, ecx
lea ecx, [ebp - 0x1d4]
xor eax, edx
cdq
push edx
push eax
call fcn.100118ee
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10073460
mov eax, dword [eax]
push eax
call fcn.10077843
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x1d4]
call fcn.10023317
mov ecx, dword [ebp - 0x34]
inc esi
mov edx, dword [ebp - 0x14]
cmp esi, 0x77af
jl 0x10073440
inc edi
cmp edi, 0x640d
jl 0x1007343e
inc ecx
mov dword [ebp - 0x34], ecx
cmp ecx, 0x3c6
jl 0x1007343c
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 0x5fe6
jl 0x10073437
mov dword [ebp - 0x10], 0x1dfe
lea ecx, [ebp - 0x64]
push 4
call fcn.10022b61
push 4
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 8
call fcn.10022b61
push 4
mov dword [ebp - 0x1c], ebx
pop edx
jmp 0x100734e2
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x64]
mov dword [eax + ecx*4], 5
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x100734d2
mov dword [ebp - 0x1c], ebx
jmp 0x100734fc
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x94]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x100734ec
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov esi, dword [ebp - 0x64]
setge dl
xor eax, eax
cmp edx, 0xffffffff
setne al
xor ecx, ecx
imul eax, dword [ebp - 0x10]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
setle cl
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov dword [esi + 0xc], ecx
xor eax, eax
cmp dword [esi + 0xc], ebx
mov ecx, dword [ebp - 0x10]
setne al
add ecx, eax
mov eax, dword [ebp - 0x94]
mov dword [eax + 0xc], ecx
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], 3
jg 0x10073637
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x40], eax
mov eax, 0xe5156be8
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x64]
mov dword [ebp - 0x30], ecx
mov ecx, dword [ebp - 0x64]
mov eax, dword [ecx + eax*4]
xor ecx, ecx
sub eax, 0x83ad
cmp eax, 1
setge cl
xor eax, eax
cmp ecx, dword [ebx + edx*4]
mov edx, dword [ebp - 0x40]
setle al
xor ecx, ecx
cmp eax, dword [edx + 4]
mov edx, ebx
setne cl
imul ecx, dword [edx + esi*4]
mov esi, dword [ebp - 0x30]
sub ecx, dword [edx + edi*4]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, dword [edx + esi*4]
mov ecx, dword [ebp - 0x10]
setge al
imul esi, eax, 0xa1ba
mov eax, dword [ebp - 0x94]
neg esi
sbb esi, esi
xor edx, edx
neg esi
cmp dword [eax + ecx*4], 1
setg dl
xor eax, eax
cmp edx, esi
setge al
cmp eax, 0x840cc74b
sbb eax, eax
xor ebx, ebx
inc eax
imul eax, eax, 0xfffe
mov dword [ebp - 0xf0], eax
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], bl
je 0x1007362a
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_PostMessageA]
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jle 0x1007356c
lea ecx, [ebp - 0x94]
call fcn.10022be3
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x64]
call fcn.10022be3
cmp dword [ebp - 0x28], 0x69a8
jge 0x10073662
push 0x1001018c
call fcn.10077843
pop ecx
cmp dword [ebp - 0x4c], 0
jne 0x1007372f
cmp byte [ebp - 0x45], 0
mov esi, dword [ebp - 0x2c]
je 0x10073684
cmp dword [ebp - 0x44], 1
jne 0x10073684
mov ecx, dword [ebp + 8]
lea eax, [esi + 0x10]
add dword [ecx + 8], eax
mov ecx, dword [ebp - 0x38]
push esi
mov eax, dword [ecx]
mov dword [ebp - 0x40], eax
mov eax, dword [ecx + 4]
add ecx, 8
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x38], ecx
call fcn.10076317
pop ecx
mov edi, eax
mov dword [ebp - 0x98], ebx
lea eax, [ebp - 0x98]
mov dword [ebp - 0x58], ebx
push eax
push esi
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x50], ebx
call fcn.10074913
test esi, esi
mov ecx, ebx
mov esi, dword [ebp - 0x58]
jle 0x10073710
mov eax, ecx
and eax, 0x80000001
jns 0x100736d7
dec eax
or eax, 0xfffffffe
inc eax
neg eax
sbb eax, eax
and eax, dword [ebp - 0x40]
add eax, ecx
add eax, dword [ebp - 0x40]
imul eax, dword [ebp - 0x30]
jmp 0x100736ec
lea eax, [edx + 1]
cdq
idiv dword [ebp - 0x2c]
cmp word [esi + edx*2], bx
jne 0x100736e9
xor eax, eax
inc eax
mov word [esi + edx*2], ax
mov eax, dword [ebp - 0x38]
mov al, byte [edx + eax]
mov byte [ecx + edi], al
inc ecx
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
jl 0x100736c9
jmp 0x10073713
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp + 8]
mov dword [ecx], eax
mov dword [ecx + 4], edi
test esi, esi
je 0x1007372f
push esi
call fcn.10077a19
pop ecx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x34], 0x263d
mov dword [ebp - 0x3c], 0xfffffffc
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x10073752
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_SetPropA]
mov ecx, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setg dl
add edx, dword [ebp - 0x1c]
jne 0x1007376d
cmp dword [ebp - 0x1c], ebx
jne 0x1007376d
mov esi, ebx
jmp 0x10073772
xor eax, eax
lea esi, [eax + 1]
mov ecx, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setne dl
xor ecx, ecx
cmp esi, eax
setl cl
xor eax, eax
cmp edx, ecx
setl al
sub eax, dword [ebp - 0x1c]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x40], eax
xor eax, eax
cmp dword [ebp - 0x40], 0xfb6f
setg al
cmp dword [ebp - 0x1c], eax
jge 0x100737b4
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x3c], eax
jmp 0x10073825
mov dword [ebp - 0x44], 0x4cf2
mov dword [ebp - 0x3c], ebx
jmp 0x1007381f
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x14], 0x5bc9807
cmp dword [ebp - 0x34], ebx
je 0x100737eb
mov eax, dword [ebp - 0x34]
inc dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
imul eax, dword [ebp - 0x44]
test eax, eax
je 0x100737eb
xor eax, eax
lea ecx, [eax + 1]
jmp 0x100737ed
mov ecx, ebx
mov eax, dword [ebp - 0x14]
add eax, ecx
jne 0x100737f7
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x3c], ebx
jne 0x100737ff
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0x34], ebx
jne 0x10073807
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x14], ecx
dec dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 0xffffffe9
jle 0x100737c0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret