Function at 0x1001e658
Capabilities:
Enumerate gui resources

Disassembly:
mov eax, 0x1008f878
call fcn.1008efd8
sub esp, 0x16c
push ebx
mov dword [ebp - 0x6c], edx
xor eax, eax
push esi
push edi
mov dword [ebp - 0x20], 0x3ad3b315
mov edi, ecx
inc eax
mov dword [ebp - 0x10], 0x21cd4309
mov dword [ebp - 0x34], 0xfffffffe
lea ecx, [ebp - 0xd4]
mov dword [ebp - 0x28], 0xfffffff7
push eax
mov dword [ebp - 0x24], edi
call fcn.10010401
xor ebx, ebx
xor edx, edx
mov dword [ebp - 4], ebx
inc edx
mov dword [ebp - 0x1c], ebx
jmp 0x1001e6ba
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xd4]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x1001e6ab
cmp dword [ebp - 0x20], ebx
jne 0x1001e738
mov eax, dword [ebp - 0x20]
xor edx, edx
mov ecx, dword [ebp - 0x20]
sub ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setne dl
xor ecx, ecx
test edx, edx
setg cl
xor edx, edx
sub ecx, 0x9c27
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setle dl
xor ecx, ecx
cmp edx, eax
setge cl
xor edx, edx
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov eax, dword [ebp - 0x34]
setge dl
xor ecx, ecx
test eax, eax
mov dword [ebp - 0x3c], edx
sets cl
xor edx, edx
cmp dword [ebp - 0x3c], ecx
setl dl
xor ecx, ecx
sub edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
cmp edx, eax
mov eax, ebx
setl cl
xor edx, edx
imul ecx, dword [ebp - 0x28]
inc edx
cmp ecx, dword [ebp - 0x20]
jge 0x1001e73a
mov eax, edx
add eax, 0xffff
cmp eax, 0x5a8df044
jle 0x1001e749
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x34], ebx
je 0x1001e8af
mov dword [ebp - 0x30], 0xfffffffb
lea ecx, [ebp - 0x128]
mov dword [ebp - 0x10], 0xd743ccc
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x30], 3
mov dword [ebp - 0x30], 0x7a68fab8
mov dword [ebp - 0x30], 0xfffffff9
mov dword [ebp - 0x1c], 0xef874acc
push edx
call fcn.10010401
xor edx, edx
inc edx
mov byte [ebp - 4], dl
mov dword [ebp - 0x38], 0x72cb566e
mov dword [ebp - 0x3c], 0xa963965b
mov dword [ebp - 0x1c], ebx
jmp 0x1001e7b7
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x128]
mov dword [eax + ecx*4], 0xda550e8f
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x1001e7a4
dec dword [ebp - 0x38]
mov dword [ebp - 0x1c], 0xfffffff1
jmp 0x1001e898
push 2
lea ecx, [ebp - 0x104]
call fcn.10010401
mov dword [ebp - 0x20], ebx
jmp 0x1001e7ec
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x104]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jl 0x1001e7dd
cmp dword [ebp - 0x28], ebx
jne 0x1001e83f
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0xd4]
mov edx, dword [ebp - 0x104]
sub ecx, dword [eax]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, 0xfffffff8
setne al
xor ecx, ecx
cmp eax, 0xcedb
mov eax, 0x9d7fccea
setne cl
sub ecx, dword [edx + 4]
neg ecx
sbb ecx, ecx
inc ecx
cmp eax, ecx
sbb eax, eax
neg eax
sub eax, dword [edx]
cmp eax, 0xe2efaada
jbe 0x1001e83f
mov ecx, ebx
jmp 0x1001e842
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x1c]
sub ecx, eax
mov eax, dword [ebp - 0xd4]
mov dword [eax], ecx
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], ebx
jl 0x1001e88a
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1001e885
push 0x875
push ebx
push 0x465
push 0x1e15
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_GetCharacterPlacementW]
dec dword [ebp - 0x10]
jns 0x1001e857
lea ecx, [ebp - 0x104]
call fcn.10010636
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffffc
jne 0x1001e7cb
lea ecx, [ebp - 0x128]
call fcn.10010636
jmp 0x1001e8cf
mov dword [ebp - 0x38], 0xd55faf23
inc dword [ebp - 0x38]
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x1001e8cf
push edx
push 0x1575
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SignalObjectAndWait]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xd4]
call fcn.10010636
xor esi, esi
mov dword [ebp - 0x18], 0xffffffff
inc esi
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x10], 0x3ea3a722
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1001e90d
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], esi
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x10], ebx
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
sub ecx, eax
mov eax, dword [ebp - 0x18]
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, 4
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setle cl
cmp ecx, 0x3c69
jg 0x1001e95c
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
imul eax, dword [ebp - 0x18]
test eax, eax
je 0x1001ea45
mov dword [ebp - 0x34], 0xc0429090
xor edx, edx
mov dword [ebp - 0x20], 0x6723ff49
inc edx
mov dword [ebp - 0x40], ebx
xor ecx, ecx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x28], 0xf08a
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
cmp eax, edx
push 0
setge cl
sub ecx, 0x9babe4a9
add ecx, dword [ebp - 0x1c]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
imul ecx, dword [ebp - 0x34]
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
sub ecx, 2
cmp ecx, eax
setg dl
xor ecx, ecx
imul edx, dword [ebp - 0x28]
imul edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x28]
cmp edx, eax
mov eax, dword [ebp - 0x28]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setg dl
xor ecx, ecx
cmp edx, eax
setl cl
xor edx, edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
mov ecx, 0xffff
setne dl
xor eax, eax
cmp edx, 0xc073
setge al
cmp ecx, eax
sbb eax, eax
neg eax
pop eax
setns al
cmp eax, 0x44c677cc
jl 0x1001ea3b
cmp dword [ebp - 0x34], ebx
jne 0x1001ea3b
xor esi, esi
mov eax, ebx
inc esi
jmp 0x1001ea40
xor esi, esi
inc esi
mov eax, esi
mov dword [ebp - 0x1c], eax
jmp 0x1001ea57
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1001ea57
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_EnumResourceTypesW]
mov dword [ebp - 0x1c], 0x962e
lea ecx, [ebp - 0xbc]
mov dword [ebp - 0x10], 0xfffffff7
mov dword [ebp - 0x3c], 0x79a20b28
push 2
call fcn.10010401
push 2
mov dword [ebp - 0x18], ebx
pop edx
jmp 0x1001ea94
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xbc]
mov dword [eax + ecx*4], 0xfd03b15a
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1001ea81
mov dword [ebp - 0x18], ebx
jmp 0x1001eaaf
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x13c], 0x17a68fab
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1001ea9e
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x10]
setne cl
sub eax, ecx
mov dword [ebp - 0x3c], eax
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
add edx, 0x72e7
mov eax, dword [ebp - 0x10]
neg edx
mov eax, dword [ebp - 0x1c]
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0xbc]
sete cl
add ecx, 0xd204
mov dword [eax], ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
sub eax, 0x3f667bcd
jne 0x1001eb1b
mov eax, dword [ebp - 0xbc]
cmp dword [eax], ebx
mov eax, ebx
je 0x1001eb1d
mov eax, esi
mov dword [ebp - 0x13c], eax
lea ecx, [ebp - 0xbc]
call fcn.10010636
mov dword [ebp - 0x3c], 0x5c6f
lea ecx, [ebp - 0xb0]
push 4
mov dword [ebp - 0x18], 0x7b18
xor eax, eax
pop esi
inc eax
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x34], 6
mov dword [ebp - 0x44], 0x1bd53d2a
push eax
call fcn.10010401
xor edx, edx
inc edx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x10], 0x4fe605a4
mov dword [ebp - 0x20], 0xc72fddd0
mov dword [ebp - 0x30], 0x2e525b78
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x30], 0xfffffffe
mov dword [ebp - 0x20], ebx
jmp 0x1001eb9f
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xb0]
mov dword [eax + ecx*4], 0xc4438182
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edx
jl 0x1001eb8c
mov dword [ebp - 0x20], ebx
jmp 0x1001ebb7
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x80], 0xe6d99275
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edx
jl 0x1001eba9
mov eax, dword [ebp - 0x18]
mov ecx, 0xd34caa8e
cmp ecx, eax
sbb eax, eax
neg eax
imul eax, dword [ebp - 0x18]
imul eax, dword [ebp - 0x18]
imul eax, dword [ebp - 0x18]
neg eax
cmp edx, eax
sbb edx, edx
xor ecx, ecx
inc edx
add edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp edx, eax
setle cl
mov dword [ebp - 0x28], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x28]
test eax, eax
setg cl
cmp ecx, dword [ebp - 0x18]
jge 0x1001ebff
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x1c]
je 0x1001ec0d
mov eax, dword [ebp - 0x34]
cmp dword [ebp - 0x28], ebx
je 0x1001ec1e
cmp dword [ebp - 0x34], ebx
je 0x1001ec1e
xor edx, edx
inc edx
mov ecx, edx
jmp 0x1001ec23
xor edx, edx
mov ecx, ebx
inc edx
xor eax, eax
cmp ecx, 0xe2d3
setle al
xor ecx, ecx
cmp eax, 8
setle cl
xor eax, eax
cmp ecx, 0x3cea2ff3
mov ecx, dword [ebp - 0x18]
setle al
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
imul ecx, dword [ebp - 0x1c]
imul ecx, dword [ebp - 0x18]
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], ebx
jg 0x1001ee27
mov edi, 0xffff
jmp 0x1001ec6c
xor edx, edx
inc edx
mov dword [ebp - 0x30], 0xfffffffd
mov dword [ebp - 0x40], 0x94191b8
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x20], ebx
jmp 0x1001ec9d
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x78], 0x3a861d8d
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edx
jl 0x1001ec8f
mov dword [ebp - 0x20], ebx
jmp 0x1001ecb8
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x170], 0xc3bc
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x1001eca7
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [ebp - 0xb0]
cmp dword [eax + ecx*4], 0x830a
mov eax, dword [ebp - 0x28]
setne dl
dec dword [ebp - 0x28]
cmp edx, eax
jg 0x1001ecdf
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x168]
mov eax, dword [ebp - 0x164]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], ebx
jg 0x1001ee18
xor ecx, ecx
inc ecx
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x30], 0x1c77dd35
mov dword [ebp - 0x10], ebx
jmp 0x1001ed38
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x68], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1001ed2e
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], ebx
jg 0x1001ee0c
mov dword [ebp - 0x28], 0x695f
xor ecx, ecx
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x40], 0xfffffffb
mov eax, dword [ebp - 0x40]
cmp edx, eax
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x80]
setge cl
sub edx, ecx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setne cl
xor edx, edx
test ecx, ecx
setns dl
xor eax, eax
cmp edx, 0x218
setg al
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x10], ebx
jmp 0x1001edf8
mov dword [ebp - 0x30], 0x85fc0193
xor edx, edx
mov eax, dword [ebp - 0x78]
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x38]
imul ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x68]
add eax, 0x7b9f
add ecx, eax
mov eax, dword [ebp - 0x28]
cmp eax, ecx
setg dl
sub edx, dword [ebp - 0x28]
mov dword [ebp - 0x38], edx
cmp dword [ebp - 0x38], 0xd02ac2ff
sbb eax, eax
xor ecx, ecx
inc eax
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x68]
cmp eax, 0xdd52
setg cl
mov dword [ebp - 0x30], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jle 0x1001ed9b
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jle 0x1001ed49
xor ecx, ecx
inc ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jle 0x1001ed18
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jle 0x1001ec69
mov edi, dword [ebp - 0x24]
lea ecx, [ebp - 0xb0]
call fcn.10010636
push 2
mov dword [ebp - 0x24], 0xffffffff
lea ecx, [ebp - 0xc8]
pop esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x30], 0xca1a1f05
mov dword [ebp - 0x44], 0x56574b60
mov dword [ebp - 0x10], 0x6e8f5917
mov dword [ebp - 0x44], 0xa6e483bb
push esi
call fcn.10010401
push esi
lea ecx, [ebp - 0x11c]
mov dword [ebp - 4], esi
call fcn.10010401
mov byte [ebp - 4], 3
mov dword [ebp - 0x38], 7
mov dword [ebp - 0x48], ebx
jmp 0x1001ee97
mov eax, dword [ebp - 0x48]
mov dword [ebp + eax*4 - 0x8c], 0x7cefa9d1
inc dword [ebp - 0x48]
cmp dword [ebp - 0x48], 3
jl 0x1001ee86
mov dword [ebp - 0x48], ebx
cmp dword [ebp - 0x48], esi
jge 0x1001eebf
xor esi, esi
inc esi
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0xc8]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x48]
cmp dword [ebp - 0x48], 2
jl 0x1001eea8
jmp 0x1001eec2
xor esi, esi
inc esi
push ebx
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x11c]
push eax
call fcn.10020cea
mov eax, dword [ebp - 0x3c]
add esp, 0xc
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x8c]
cmp dword [ebp - 0x84], ebx
je 0x1001ef61
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x24], 0xfffffff8
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x10], ebx
jmp 0x1001ef23
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x178], 0x489b467b
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1001ef12
push ebx
push 0xc9c
push 0x60a0
push 0x4b5f
push 0x1a3f
push 0x42dc
push 0x2df9
lea eax, [ebp - 0x11c]
push eax
push 0x5ac4
call fcn.10020b54
add esp, 0x24
jmp 0x1001eff9
mov dword [ebp - 0x3c], ebx
xor ecx, ecx
mov dword [ebp - 0x60], 0xb0f4f2d8
mov dword [ebp - 0x44], 0xfffffff9
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x44], 0x5bdf607d
mov dword [ebp - 0x44], 0xde97ee8c
mov eax, dword [ebp - 0x24]
test eax, eax
mov eax, dword [ebp - 0xc8]
setg cl
xor edx, edx
cmp ecx, 0xf44fb66c
setne dl
xor ecx, ecx
add edx, 2
cmp edx, dword [eax]
mov eax, dword [ebp - 0x3c]
setg cl
add eax, ecx
jne 0x1001efbf
mov eax, dword [ebp - 0xc8]
cmp dword [eax], ebx
je 0x1001efc6
mov edx, esi
cmp dword [ebp - 0x3c], ebx
jne 0x1001efc8
mov edx, ebx
mov eax, dword [ebp - 0x8c]
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x38]
setge cl
add eax, dword [ebp - 0x30]
inc dword [ebp - 0x38]
cmp eax, ecx
mov eax, esi
cmovge eax, ebx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x10], ebx
jmp 0x1001eff3
dec dword [ebp - 0x44]
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffff6
jle 0x1001efed
lea ecx, [ebp - 0x11c]
call fcn.10010636
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xc8]
call fcn.10010636
cmp dword [edi + 0x10], ebx
jne 0x1001f01f
xor al, al
jmp 0x1001f6e7
mov dword [ebp - 0x1c], 0xc03342eb
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x1c], 0xffffffe6
jmp 0x1001f05b
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1001f052
push 0x2e94
push ebx
push 0xf35
call fcn.10026b88
add esp, 0xc
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x24], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffff7
jg 0x1001f036
push 0x788
lea eax, [ebp - 0x6c]
push eax
push ebx
push 0xee6
push 0x19e2
call fcn.1001f98e
add esp, 0x14
mov dword [ebp - 0x1c], 0x2e91a049
mov dword [ebp - 0x24], 0x55cc25b
lea eax, [ebp - 0x150]
mov dword [ebp - 0x24], 0x1b68dee2
lea ecx, [ebp - 0xe0]
mov dword [ebp - 0x24], 0xfda7ef5d
xorps xmm0, xmm0
push dword [ebp - 0x7c]
mov dword [ebp - 0x24], 0xffffffff
push eax
lea eax, [ebp - 0x160]
mov dword [ebp - 0x24], ebx
push eax
mov dword [ebp - 0x24], 0xf6b3e713
mov dword [ebp - 0x24], 0xe71b35d5
push ebx
movdqu xmmword [ebp - 0x160], xmm0
mov dword [ebp - 0xe0], ebx
mov dword [ebp - 0xdc], ebx
mov dword [ebp - 0xd8], ebx
call fcn.100109bb
push 4
pop esi
mov dword [ebp - 4], esi
mov dword [ebp - 0x24], 0xfffffffa
mov dword [ebp - 0x1c], ebx
jmp 0x1001f14e
mov dword [ebp - 0x24], 0x39ed080c
lea ecx, [ebp - 0x150]
push esi
call fcn.10010401
mov dword [ebp - 0x10], ebx
jmp 0x1001f128
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x150]
mov dword [eax + ecx*4], 0x3b3f3656
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1001f115
mov eax, dword [ebp - 0x24]
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1001f140
push ebx
call dword [sym.imp.COMDLG32.dll_FindTextW]
lea ecx, [ebp - 0x150]
call fcn.10010636
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x18
jne 0x1001f0fd
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xe0]
call fcn.10010636
cmp dword [edi + 0x14], 0x10
jb 0x1001f16d
mov esi, dword [edi]
jmp 0x1001f16f
mov esi, edi
cmp dword [edi + 0x14], 0x10
jb 0x1001f179
mov ecx, dword [edi]
jmp 0x1001f17b
mov ecx, edi
mov eax, dword [edi + 0x10]
add eax, ecx
cmp esi, eax
je 0x1001f3c7
mov al, byte [esi]
cmp al, 0x30
jl 0x1001f21e
cmp al, 0x39
jg 0x1001f21e
push 2
lea ecx, [ebp - 0x134]
call fcn.10010401
mov dword [ebp - 4], 5
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x10], ebx
jmp 0x1001f1cd
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x134]
mov dword [eax + ecx*4], 0xfffb
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1001f1ba
xor eax, eax
inc eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], ebx
jl 0x1001f1f9
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1001f1f4
push 0x268d
push ebx
call fcn.1001f944
pop ecx
pop ecx
dec dword [ebp - 0x34]
jns 0x1001f1de
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x134]
call fcn.10010636
mov edx, dword [ebp - 0x6c]
movsx eax, byte [esi]
imul ecx, dword [edx], 0xa
add ecx, 0xffffffd0
add eax, ecx
inc esi
mov dword [edx], eax
jmp 0x1001f16f
mov eax, dword [ebp - 0x6c]
lea ecx, [ebp - 0xf8]
push 2
mov dword [eax], ebx
mov dword [ebp - 0x54], 0x571177e8
call fcn.10010401
mov dword [ebp - 4], 6
mov dword [ebp - 0x5c], 0xfffffffe
mov dword [ebp - 0x3c], 0xbb9a67b9
mov dword [ebp - 0x10], ebx
jmp 0x1001f260
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xf8]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1001f251
push 3
pop edi
mov dword [ebp - 0x54], ebx
cmp dword [ebp - 0x54], edi
jg 0x1001f3b7
xor eax, eax
inc eax
mov dword [ebp - 0x2c], 0xfffffffc
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ebx
jl 0x1001f3ab
mov dword [ebp - 0x74], 0xffffffff
mov dword [ebp - 0x94], 0x1d69c043
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
je 0x1001f2da
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
je 0x1001f2da
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0xf8]
mov eax, dword [ecx + eax*4]
add eax, dword [ecx + 4]
imul eax, eax, 0x2e81
mov dword [ecx + edx*4], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x54]
xor edx, edx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x64], 0xf9ca
mov ecx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
mov eax, dword [ebp - 0x54]
setg dl
sub edx, eax
mov dword [ebp - 0x5c], edx
xor edx, edx
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x2c]
add ecx, 0xffff0e30
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setg dl
xor ecx, ecx
sub edx, eax
mov dword [ebp - 0x24], edx
mov edx, dword [ebp - 0x74]
imul edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x54]
cmp edx, eax
setne cl
mov dword [ebp - 0x3c], ecx
cmp dword [ebp - 0x3c], ebx
jne 0x1001f37d
push 0x3798
lea eax, [ebp - 0x64]
mov dword [ebp - 0x90], 0xd4b4ea65
push eax
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0xf8]
push eax
push 0x733a
push 0x14a6
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x5c]
push eax
push ebx
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.1001f736
add esp, 0x30
jmp 0x1001f383
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x24], eax
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1001f39f
push 0x5cb5
push ebx
push 0x394d
call fcn.100218a6
add esp, 0xc
dec dword [ebp - 0x2c]
jns 0x1001f295
xor eax, eax
inc eax
inc dword [ebp - 0x54]
cmp dword [ebp - 0x54], edi
jle 0x1001f278
lea ecx, [ebp - 0xf8]
call fcn.10010636
jmp 0x1001f018
xor eax, eax
mov dword [ebp - 0x18], 0x1177e8ed
inc eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x38], 0x7507af9c
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], 4
jge 0x1001f3fa
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xa4], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x1001f3e4
xor eax, eax
inc eax
cmp dword [ebp - 0x18], ebx
je 0x1001f547
mov dword [ebp - 0x1c], 0xa31e468a
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], 3
jg 0x1001f4f9
jmp 0x1001f41c
xor eax, eax
inc eax
mov dword [ebp - 0x20], 0x7ad4351c
mov dword [ebp - 0x30], 6
mov dword [ebp - 0x20], 3
cmp dword [ebp - 0x20], ebx
jl 0x1001f4e0
jmp 0x1001f43f
xor eax, eax
inc eax
push eax
lea ecx, [ebp - 0x110]
call fcn.10010401
xor edx, edx
mov dword [ebp - 0x10], ebx
inc edx
jmp 0x1001f463
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x110]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x1001f453
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1001f479
push ebx
push ebx
call dword [sym.imp.USER32.dll_LoadIconA]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xa4]
mov eax, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xa4]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xa4]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + eax*4 - 0xa4]
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xa4], ecx
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x110]
imul ecx, dword [eax]
mov dword [ebp - 0x30], ecx
lea ecx, [ebp - 0x110]
call fcn.10010636
dec dword [ebp - 0x20]
jns 0x1001f43c
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0xa4], ebx
jne 0x1001f4f9
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jle 0x1001f419
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x1c]
sub eax, 5
neg eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x38]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setl dl
xor ecx, ecx
cmp edx, eax
setle cl
xor edx, edx
imul ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
mov eax, dword [ebp - 0x1c]
setl dl
xor ecx, ecx
cmp edx, eax
setge cl
sub ecx, 0x2b00
mov dword [ebp - 0x18], ecx
jmp 0x1001f56b
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1001f56b
push 0x1567
push ebx
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_PolyPolyline]
push 3
xor esi, esi
lea ecx, [ebp - 0xec]
mov eax, 0xffff
inc esi
mov dword [ebp - 0x18], eax
pop edi
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x50], ebx
push edi
call fcn.10010401
mov dword [ebp - 4], 7
mov dword [ebp - 0x10], ebx
jmp 0x1001f5a6
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xec]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1001f597
cmp dword [ebp - 0x18], ebx
je 0x1001f5ed
mov eax, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x4c], 0x86ba47c9
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x50]
add ecx, 0xa9864ba8
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, 0x6e7f737a
setle cl
sub eax, ecx
cmp eax, dword [ebp - 0x50]
jg 0x1001f5ed
xor ecx, ecx
inc ecx
mov eax, ecx
jmp 0x1001f5f2
xor ecx, ecx
mov eax, ebx
inc ecx
cmp eax, 0xfffffffe
sbb eax, eax
neg eax
cmp eax, dword [ebp - 0x50]
je 0x1001f610
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x24], 0x1342f3d4
mov dword [ebp - 0x24], ecx
jmp 0x1001f6ca
push 2
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x18], ebx
pop esi
jmp 0x1001f688
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xec]
cmp dword [eax + ecx*4], ebx
jne 0x1001f68d
mov dword [ebp - 0x50], esi
cmp dword [ebp - 0x50], ebx
jl 0x1001f685
mov dword [ebp - 0x70], 0xfffffffd
mov dword [ebp - 0x4c], esi
cmp dword [ebp - 0x4c], ebx
jl 0x1001f665
lea eax, [ebp - 0x4c]
push eax
push 0x6e90
lea eax, [ebp - 0xec]
push eax
lea eax, [ebp - 0x50]
push eax
push ebx
call fcn.10026cb8
mov eax, dword [ebp - 0x70]
add esp, 0x14
dec dword [ebp - 0x4c]
jns 0x1001f640
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x7c]
push eax
push 0x32cc
push ebx
push 0x19d0
call fcn.10020ace
add esp, 0x14
dec dword [ebp - 0x50]
jns 0x1001f631
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jle 0x1001f61b
mov dword [ebp - 0x4c], esi
cmp dword [ebp - 0x4c], ebx
jl 0x1001f6ca
mov dword [ebp - 0x18], ebx
jmp 0x1001f6c0
mov dword [ebp - 0x10], ebx
jmp 0x1001f6b0
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x144], 0x8720725f
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1001f69f
cmp dword [ebp - 0x140], ebx
jne 0x1001f6c5
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jle 0x1001f69a
dec dword [ebp - 0x4c]
jns 0x1001f695
lea ecx, [ebp - 0x55]
mov byte [ebp - 0x55], bl
push ecx
push ebx
call fcn.10026c76
pop ecx
pop ecx
lea ecx, [ebp - 0xec]
call fcn.10010636
xor eax, eax
inc eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret