Function at 0x100198ca
Capabilities:
Get graphical window text
Set thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x344
push ebx
push esi
xor esi, esi
mov dword [ebp - 4], 0xbe39e3cf
inc esi
mov dword [ebp - 0x144], edx
xor ebx, ebx
mov dword [ebp - 0x14], esi
push edi
mov dword [ebp - 0x150], ecx
mov dword [ebp - 0x10], ebx
jmp 0x10019907
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x194], 0xb6fe6d39
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x100198f6
mov ecx, dword [ebp - 4]
xor edx, edx
mov eax, dword [ebp - 4]
cmp ecx, eax
setge dl
imul eax, dword [ebp - 4], 0xf166
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 4]
setg bl
xor ecx, ecx
cmp eax, ebx
setge cl
xor edx, edx
mov dword [ebp - 0x188], ecx
mov ecx, dword [ebp - 0x190]
mov eax, dword [ebp - 4]
cmp ecx, eax
mov eax, dword [ebp - 4]
setle dl
add eax, edx
jne 0x10019955
mov eax, dword [ebp - 0x188]
mov eax, dword [ebp - 0x188]
xor ebx, ebx
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x14], ebx
jmp 0x10019980
mov dword [ebp - 0x20], esi
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x20], eax
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffed
jge 0x10019974
mov dword [ebp - 4], ebx
mov dword [ebp - 0x14], 0xfffb
push 3
mov dword [ebp - 0x20], 0x748bbe26
mov dword [ebp - 0x10], ebx
pop edi
jmp 0x100199b0
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x114], 0x2fd41e55
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1001999f
mov dword [ebp - 4], ebx
jmp 0x100199cb
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x114], 0x20398070
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x100199ba
cmp dword [ebp - 0x114], ebx
jne 0x10019a0a
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x114]
imul ecx, eax
mov eax, dword [ebp - 0x14]
add eax, ecx
jne 0x10019a0a
mov ecx, ebx
cmp dword [ebp - 4], ebx
je 0x10019a0c
mov ecx, esi
neg ecx
xor eax, eax
cmp ecx, 0xffffffff
setle al
add eax, dword [ebp - 0x14]
je 0x10019a1e
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
xor edx, edx
mov dword [ebp - 0x110], ebx
mov eax, dword [ebp - 0x20]
cmp eax, 8
mov eax, dword [ebp - 4]
setge dl
xor ecx, ecx
cmp eax, edx
push 5
setle cl
mov dword [ebp - 4], ecx
mov dword [ebp - 4], 0x143e
mov dword [ebp - 0x38], 0xebf889e0
mov dword [ebp - 0x34], esi
pop eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0xd66de6b9
mov dword [ebp - 0x30], 0xe834ab46
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], 0x76e8d2ca
mov dword [ebp - 0x24], 0x47f2
mov dword [ebp - 0x10], ebx
jmp 0x10019a8b
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xb0], 0x8604
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x10019a7a
cmp dword [ebp - 4], ebx
jne 0x10019b01
mov esi, dword [ebp - 4]
mov eax, dword [ebp - 4]
neg esi
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x38]
sbb esi, esi
mov eax, dword [ebp - 4]
xor ebx, ebx
neg esi
cmp ecx, eax
mov eax, dword [ebp - 4]
setne bl
add ebx, 0xffff
neg ebx
sbb ebx, ebx
xor edx, edx
neg ebx
cmp ebx, eax
mov eax, dword [ebp - 4]
setle dl
xor ecx, ecx
cmp eax, esi
setg cl
xor eax, eax
cmp ecx, edx
setg al
xor edx, edx
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
cmp eax, 7
mov eax, dword [ebp - 4]
setg dl
xor ecx, ecx
cmp edx, eax
setl cl
xor esi, esi
xor ebx, ebx
inc esi
cmp ecx, dword [ebp - 4]
jl 0x10019b01
mov edx, ebx
cmp dword [ebp - 0x38], ebx
je 0x10019b03
mov edx, esi
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 4]
mov dword [ebp - 0x30], edi
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c], 0xe32883e7
mov dword [ebp - 0x1c], ebx
jmp 0x10019dc2
mov dword [ebp - 8], 5
mov dword [ebp - 0x18], 0x8b88ead4
mov dword [ebp - 0x10], ebx
jmp 0x10019b4f
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xfc], 0xfffffff8
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x10019b3e
mov eax, dword [ebp - 8]
xor ecx, ecx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 8]
imul eax, dword [ebp - 8]
cmp eax, 0x6bc59458
mov eax, dword [ebp - 0x1c]
setl cl
xor edx, edx
cmp ecx, eax
setle dl
sub edx, dword [ebp - 8]
neg edx
sbb edx, edx
inc edx
imul edx, dword [ebp - 8]
mov eax, dword [ebp - 8]
neg edx
sbb edx, edx
neg edx
neg edx
sub eax, edx
neg eax
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x14]
jne 0x10019baf
mov eax, ebx
cmp dword [ebp - 0x10], ebx
je 0x10019bb1
mov eax, esi
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x1c], eax
jne 0x10019c46
push 0xfffffffffffffffd
pop eax
mov dword [ebp - 0x204], eax
mov dword [ebp - 0x200], eax
mov dword [ebp - 0x1fc], eax
mov dword [ebp - 0x1f8], eax
mov dword [ebp - 0x18], 0x93a78091
mov dword [ebp - 0x204], ebx
cmp dword [ebp - 0x18], ebx
je 0x10019bf7
mov eax, esi
cmp dword [ebp - 0x14], ebx
jne 0x10019bf9
mov eax, ebx
xor ecx, ecx
test eax, eax
mov eax, dword [ebp - 4]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0xfc]
push 0xfffffffffffffffa
setle dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x18]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setge dl
xor ecx, ecx
cmp edx, eax
pop eax
setg cl
xor edx, edx
cmp ecx, 0x7f595c98
setl dl
sub eax, edx
sub eax, dword [ebp - 0x30]
mov dword [ebp - 0x18], eax
jmp 0x10019d32
mov dword [ebp - 0x2c], 0xfffffff9
mov dword [ebp - 0x28], 0xf9805026
cmp dword [ebp - 0x24], esi
jne 0x10019c63
mov edx, esi
cmp dword [ebp - 0xf8], ebx
jne 0x10019c65
mov edx, ebx
mov eax, dword [ebp - 8]
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0xf8], ecx
mov eax, dword [ebp - 0x14]
imul eax, ecx
xor ecx, ecx
cmp eax, 0x97e7
setg cl
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x34], edi
cmp dword [ebp - 0x34], ebx
jl 0x10019d32
mov dword [ebp - 0x18], 0x36b0
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0xf8]
neg ecx
sbb ecx, ecx
neg ecx
sub eax, ecx
xor ecx, ecx
cmp eax, 0x5540566f
mov eax, dword [ebp - 0x38]
setne cl
add eax, ecx
jne 0x10019cc0
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0xb0]
xor ecx, ecx
cmp eax, 0xbd8e
mov eax, dword [ebp - 0x18]
setne cl
xor edx, edx
add ecx, 0xc112
cmp ecx, eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
setl dl
sub ecx, edx
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x34]
setge dl
mov dword [ebp + eax*4 - 0xfc], edx
cmp edx, 0xfffd
je 0x10019d0f
mov eax, dword [ebp - 0x34]
cmp dword [ebp + eax*4 - 0xfc], ebx
mov eax, esi
jne 0x10019d11
mov eax, ebx
mov dword [ebp - 0x18], eax
mov byte [ebp - 9], bl
cmp byte [ebp - 9], 0
je 0x10019d29
push 0xedc
push ebx
call dword [sym.imp.KERNEL32.dll_EnumSystemLocalesW]
dec dword [ebp - 0x34]
jns 0x10019c94
mov dword [ebp - 0x24], ebx
jmp 0x10019db6
mov dword [ebp - 0x18], ebx
push 9
pop eax
mov dword [ebp - 0x1f4], eax
mov dword [ebp - 0x1f0], eax
mov dword [ebp - 0x1ec], eax
mov dword [ebp - 0x1e8], eax
cmp dword [ebp - 0xfc], ebx
je 0x10019d70
mov ecx, dword [ebp - 0x18]
mov edx, esi
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xb0], ecx
test ecx, ecx
jne 0x10019d72
mov edx, ebx
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0xf0]
cmp eax, 0x7910a939
setge cl
imul ecx, edx
cmp dword [ebp - 0x18], esi
sbb eax, eax
inc eax
sub eax, ecx
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1e8], eax
mov byte [ebp - 9], bl
cmp byte [ebp - 9], 0
je 0x10019db3
push 0x247f
push ebx
call dword [sym.imp.ADVAPI32.dll_InitializeSecurityDescriptor]
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jle 0x10019d37
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffff3
jge 0x10019b2b
mov dword [ebp - 0x1c], 0xbe39e3cf
mov dword [ebp - 0x34], esi
mov dword [ebp - 4], 0xfffffff8
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x24], 0xededc87a
mov dword [ebp - 0x28], 8
mov dword [ebp - 0x30], 0x344157f0
mov dword [ebp - 8], ebx
jmp 0x10019e12
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xbc], 0xa6f
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x10019e01
mov dword [ebp - 8], ebx
jmp 0x10019e2a
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x7c], 0xffffffff
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x10019e1c
mov dword [ebp - 8], ebx
jmp 0x10019e42
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x74], 0xfff8
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x10019e34
cmp dword [ebp - 0x34], ebx
je 0x10019ee2
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x34]
cmp dword [ebp - 4], eax
jl 0x10019e63
cmp dword [ebp - 4], ebx
jne 0x10019e6d
mov ecx, ebx
cmp dword [ebp - 0xbc], ebx
je 0x10019e6f
mov ecx, esi
mov eax, dword [ebp - 4]
xor edx, edx
imul eax, ecx
imul eax, eax, 0xa40f
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0x20]
imul ecx, eax
mov eax, dword [ebp - 0xbc]
cmp ecx, eax
mov eax, dword [ebp - 0xbc]
setl dl
sub edx, 5
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
sub edx, eax
mov dword [ebp - 0x7c], edx
mov eax, dword [ebp - 4]
cmp edx, eax
mov eax, dword [ebp - 0xbc]
sete cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 4]
setge dl
imul eax, edx
cmp dword [ebp - 0x34], eax
jl 0x10019ed6
mov eax, ebx
cmp dword [ebp - 0xbc], ebx
je 0x10019ed8
mov eax, esi
mov dword [ebp - 0x34], eax
mov eax, esi
cmp dword [ebp - 0x34], ebx
jne 0x10019ee4
mov eax, ebx
mov dword [ebp - 0x10], eax
inc dword [ebp - 0x24]
push 2
pop edi
je 0x10019fec
mov eax, dword [ebp - 0x10]
imul eax, dword [ebp - 0x10]
test eax, eax
jne 0x10019f0a
mov eax, dword [ebp - 0x74]
dec dword [ebp - 0x74]
test eax, eax
mov eax, ebx
je 0x10019f0c
mov eax, esi
cmp dword [ebp - 4], eax
jne 0x10019fec
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x20], 0x57b790eb
mov dword [ebp - 0x20], 0x4d024bfc
mov dword [ebp - 0x20], 0x759719bd
mov dword [ebp - 8], ebx
jmp 0x10019f40
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x48], esi
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x10019f36
mov dword [ebp - 8], ebx
jmp 0x10019f5b
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x304], 8
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jl 0x10019f4a
mov eax, dword [ebp - 0xbc]
xor edx, edx
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x304]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
setle dl
xor eax, eax
test edx, edx
sets al
xor edx, edx
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
setge dl
mov dword [ebp - 0x20], edx
xor edx, edx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x10]
cmp eax, ecx
setl dl
cmp edx, dword [ebp - 0x20]
jle 0x10019fbc
mov ecx, ebx
cmp dword [ebp - 0x34], ebx
je 0x10019fbe
mov ecx, esi
mov eax, dword [ebp - 0xb4]
mov edx, dword [ebp - 0x48]
add eax, ecx
imul edx, eax
xor ecx, ecx
mov eax, dword [ebp - 4]
cmp edx, eax
setne cl
cmp ecx, 0xfffffff9
jb 0x10019fe2
mov eax, esi
cmp dword [ebp - 0x48], ebx
jne 0x10019fe4
mov eax, ebx
mov dword [ebp - 0x20], eax
jmp 0x1001a08b
mov dword [ebp - 0x10], ebx
jmp 0x10019ffe
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x120], esi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x10019ff1
mov ecx, dword [ebp - 0x120]
xor edx, edx
mov eax, dword [ebp - 0x30]
cmp ecx, eax
setge dl
mov dword [ebp - 0x34], edx
mov dword [ebp - 4], ebx
jmp 0x1001a085
mov dword [ebp - 0x10], ebx
jmp 0x1001a031
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x184], 0x149c
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1001a020
mov dword [ebp - 0x24], ebx
jmp 0x1001a07c
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x7c], ebx
je 0x1001a055
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp ecx, eax
mov ecx, esi
sbb eax, eax
neg eax
cmp eax, 0xfffffff7
jne 0x1001a057
mov ecx, ebx
mov eax, dword [ebp - 0x180]
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x180]
setne dl
xor ecx, ecx
sub edx, eax
mov eax, dword [ebp - 0x20]
cmp eax, edx
setl cl
mov dword [ebp - 0x10], ecx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xa
jl 0x1001a03b
dec dword [ebp - 4]
cmp dword [ebp - 4], 0xffffffe6
jle 0x1001a01b
mov dword [ebp - 8], 0x90f9
mov dword [ebp - 4], 0xe022a5bc
mov dword [ebp - 8], ebx
jmp 0x1001a0ac
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x6c], 0xbea12209
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x1001a09e
mov dword [ebp - 8], ebx
jmp 0x1001a0c7
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x2e0], 0xef3c
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jl 0x1001a0b6
mov eax, dword [ebp - 0x68]
xor ecx, ecx
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x68]
cmp eax, esi
push 9
setg cl
xor edx, edx
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 0x68]
mov eax, dword [ebp - 8]
cmp ecx, eax
mov ecx, dword [ebp - 0x68]
setg dl
pop eax
cmp eax, edx
sbb eax, eax
xor edx, edx
inc eax
sub ecx, eax
mov eax, dword [ebp - 4]
cmp ecx, eax
setl dl
xor eax, eax
test edx, edx
mov dword [ebp - 0x6c], edx
sete al
sub eax, dword [ebp - 4]
add eax, edi
cmp eax, 0xfffffffc
je 0x1001a154
mov dword [ebp - 4], 0xffffffe7
jmp 0x1001a149
mov byte [ebp - 9], bl
cmp byte [ebp - 9], 0
je 0x1001a146
push 0x64f
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetMapMode]
inc dword [ebp - 4]
cmp dword [ebp - 4], 0x32
je 0x1001a124
jmp 0x1001a1f1
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 8], ebx
jmp 0x1001a16e
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x6c], 0xe7b1b0ca
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x1001a160
push 7
pop eax
mov dword [ebp - 4], eax
cmp dword [ebp - 4], eax
jl 0x1001a1f1
mov dword [ebp - 0x28], 0xfffffff9
mov eax, dword [ebp - 0x2e0]
mov dword [ebp - 0x24], eax
mov dword [ebp - 8], 0xfffffffc
jmp 0x1001a1e2
mov dword [ebp - 0x30], esi
xor edx, edx
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x24]
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setle dl
cmp edx, 0xd2570d97
sbb edx, edx
xor ecx, ecx
neg edx
cmp eax, edx
setne cl
cmp ecx, dword [ebp - 0x28]
jg 0x1001a1c3
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
cmp eax, esi
setl cl
mov dword [ebp - 0x68], ecx
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
jle 0x1001a197
dec dword [ebp - 4]
cmp dword [ebp - 4], 7
jge 0x1001a17e
mov byte [ebp - 9], bl
cmp byte [ebp - 9], 0
je 0x1001a201
push ebx
call dword [sym.imp.USER32.dll_DestroyIcon]
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x10], ebx
jmp 0x1001a21a
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1a4], 0xb6fe6d39
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x1001a209
mov ecx, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setge dl
imul eax, dword [ebp - 0x1c], 0xf166
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x1c]
setg bl
xor ecx, ecx
cmp eax, ebx
setge cl
xor edx, edx
mov dword [ebp - 0x198], ecx
mov ecx, dword [ebp - 0x1a0]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setle dl
add eax, edx
jne 0x1001a268
mov eax, dword [ebp - 0x198]
mov eax, dword [ebp - 0x198]
xor ebx, ebx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x14], eax
mov eax, 0x5881f6c9
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x34], ebx
push 9
pop ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x238], eax
mov dword [ebp - 0x234], eax
mov dword [ebp - 0x230], eax
mov dword [ebp - 0x22c], eax
mov dword [ebp - 0x20], 0xabb25a59
mov dword [ebp - 0x10], ebx
jmp 0x1001a2cf
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x16c], esi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x1001a2c2
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], 0xfffffff7
mov dword [ebp - 0x38], 0x8ee08a9c
mov dword [ebp - 0x34], ebx
cmp dword [ebp - 0x34], edi
jg 0x1001a3e3
mov dword [ebp - 0x24], 0xfffffff6
mov dword [ebp - 0x20], 0xfffffff9
mov dword [ebp - 0x1c], ebx
jmp 0x1001a360
mov dword [ebp - 0x2c], 0xb47d
mov eax, dword [ebp - 0x1c]
cmp dword [ebp + eax*4 - 0x16c], ebx
je 0x1001a346
mov dword [ebp - 0x2c], esi
xor edx, edx
mov dword [ebp - 0x28], ebx
mov eax, dword [ebp - 0x164]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x14], ebx
mov eax, dword [ebp - 0x14]
cmp eax, ecx
mov eax, dword [ebp - 0x24]
setne dl
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x28], ecx
jmp 0x1001a35a
mov byte [ebp - 9], bl
cmp byte [ebp - 9], bl
je 0x1001a35d
push 0x247f
push ebx
call dword [sym.imp.ADVAPI32.dll_InitializeSecurityDescriptor]
push 9
pop ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jle 0x1001a308
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], edi
jg 0x1001a3d4
mov dword [ebp - 0x28], 7
mov eax, dword [ebp - 0x24]
add eax, 0x96dc
sub eax, dword [ebp - 0x38]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp + eax*4 - 0x16c]
cmp eax, dword [ebp - 0x14]
jne 0x1001a3a4
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x38], ebx
jne 0x1001a3a6
mov esi, ebx
mov eax, dword [ebp - 0x34]
xor edx, edx
push 1
mov ecx, dword [ebp + eax*4 - 0x16c]
mov eax, dword [ebp - 0x1c]
cmp esi, eax
mov eax, dword [ebp - 0x30]
sete dl
sub edx, ecx
xor ecx, ecx
cmp edx, eax
pop esi
setge cl
mov dword [ebp - 0x28], ecx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jle 0x1001a36d
inc dword [ebp - 0x34]
push 9
pop ecx
cmp dword [ebp - 0x34], edi
jle 0x1001a2f5
mov dword [ebp - 0x1c], 0xd0a5
mov eax, dword [ebp - 0x16c]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], 0xffffffed
jl 0x1001a526
push 0xfffffffffffffffe
pop edi
mov dword [ebp - 0x38], esi
mov dword [ebp - 4], edi
mov dword [ebp - 0x28], 2
mov dword [ebp - 0x30], 0xfffa
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x10], ebx
jmp 0x1001a436
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x78], 0xdf2f4a8b
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1001a428
mov dword [ebp - 4], ebx
jmp 0x1001a4d7
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x10], ebx
jmp 0x1001a45c
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x8c], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1001a44b
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], ebx
jl 0x1001a4ce
mov dword [ebp - 0x1c], 8
mov dword [ebp - 0x1c], ebx
jmp 0x1001a493
mov byte [ebp - 9], bl
cmp byte [ebp - 9], bl
je 0x1001a490
push 0x113c
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowTextA]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jle 0x1001a475
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], ebx
jl 0x1001a4c6
mov dword [ebp - 0x2c], 0x31d26ec1
inc dword [ebp - 0x8c]
mov byte [ebp - 9], bl
cmp byte [ebp - 9], bl
je 0x1001a4c1
push 0xedc
push ebx
call dword [sym.imp.KERNEL32.dll_EnumSystemLocalesW]
dec dword [ebp - 0x1c]
jns 0x1001a4a0
dec dword [ebp - 0x10]
jns 0x1001a469
push 9
pop ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x10], eax
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jne 0x1001a443
mov eax, dword [ebp - 4]
xor edx, edx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 4]
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 4]
sub ecx, eax
mov eax, dword [ebp - 0x30]
cmp ecx, eax
setge dl
dec edx
jne 0x1001a50a
mov eax, dword [ebp - 4]
mov dword [ebp - 4], esi
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x38], eax
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffed
push 9
pop ecx
jge 0x1001a40c
push 2
pop edi
push 3
mov dword [ebp - 0x1c], 0x394643cd
mov dword [ebp - 4], ebx
pop ecx
jmp 0x1001a546
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x328], 0x3b4e
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x1001a535
mov dword [ebp - 4], ebx
jmp 0x1001a561
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x9c], 0x8628
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x1001a550
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], edi
jg 0x1001a5f4
mov dword [ebp - 0x28], 0xda8e
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x30], 0x815f8425
mov dword [ebp - 0x10], ebx
jmp 0x1001a59d
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x24c], 0xebb0cb8c
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x1001a58c
mov dword [ebp - 0x240], 0xe17f7596
xor edx, edx
mov eax, dword [ebp - 0x248]
mov eax, dword [ebp - 0x248]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setne dl
cmp edx, dword [ebp - 0x9c]
jg 0x1001a5db
mov ecx, esi
cmp dword [ebp - 0x9c], ebx
jne 0x1001a5dd
mov ecx, ebx
mov eax, dword [ebp - 0x20]
imul eax, ecx
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x30], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jle 0x1001a572
push 3
pop ecx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x20], 5
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x28], 0x56cd8339
mov dword [ebp - 4], ebx
jmp 0x1001a61e
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xcc], 0x4a8b108f
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x1001a60d
mov dword [ebp - 4], ebx
jmp 0x1001a639
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x26c], 0x7d37
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x1001a628
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xcc]
xor eax, eax
add ecx, dword [ebp - 0xc8]
neg ecx
cmp ecx, 0xfffffff8
mov dword [ebp - 0x264], ecx
setne al
mov dword [ebp - 0x38], eax
mov eax, esi
cmp dword [ebp - 0x38], ebx
je 0x1001a66c
mov eax, ebx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0xc8]
cmp dword [ebp - 0x20], eax
jle 0x1001a684
mov edx, esi
cmp dword [ebp - 0xc8], ebx
jne 0x1001a686
mov edx, ebx
mov eax, dword [ebp - 0xc8]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0xc8]
setne cl
imul eax, ecx
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x38], ebx
jne 0x1001a6ae
mov edx, ebx
cmp dword [ebp - 0x264], ebx
je 0x1001a6b0
mov edx, esi
mov ecx, dword [ebp - 0xc8]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, edx
setle al
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], 0xf29acd40
mov dword [ebp - 0x38], 0x9b85
mov dword [ebp - 0x20], 0x5277
mov dword [ebp - 0x30], 0x771b7056
mov dword [ebp - 8], ebx
jmp 0x1001a6f7
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xec], 0xffffffff
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
jl 0x1001a6e6
mov dword [ebp - 8], ebx
jmp 0x1001a713
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xa4], 0x42ff18c9
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x1001a702
mov dword [ebp - 8], ebx
jmp 0x1001a72a
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x1b4], esi
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x1001a71d
mov eax, dword [ebp - 0xe4]
xor ecx, ecx
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0xec]
mov eax, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xe8]
cmp eax, 0x9b56
mov eax, dword [ebp - 0xe0]
setge cl
imul eax, ecx
xor ecx, ecx
cmp eax, 0x7222
mov eax, dword [ebp - 0x38]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0xe8]
sete dl
xor ecx, ecx
cmp eax, 0x252c
setne cl
xor eax, eax
cmp ecx, edx
setge al
xor ecx, ecx
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0xe8]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x1b4]
cmp eax, esi
mov eax, dword [ebp - 0x20]
setl cl
add eax, ecx
mov dword [ebp - 0x10], eax
mov dword [ebp - 4], esi
mov dword [ebp - 0x10], ebx
jmp 0x1001a7f5
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x11c], 0x8bbca631
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1001a7e4
mov dword [ebp - 4], esi
cmp dword [ebp - 4], ebx
jl 0x1001a820
mov byte [ebp - 9], bl
cmp byte [ebp - 9], bl
je 0x1001a81b
push 0xf7b
push 0x1399
push ebx
call dword [sym.imp.USER32.dll_DeleteMenu]
dec dword [ebp - 4]
jns 0x1001a802
mov dword [ebp - 4], esi
cmp dword [ebp - 4], ebx
jl 0x1001a863
mov dword [ebp - 0x14], 0xeb9ae77a
mov dword [ebp - 0x14], ebx
jmp 0x1001a845
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x11c], 0x921ded68
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1001a834
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + eax*4 - 0x11c]
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x11c], ecx
dec dword [ebp - 4]
jns 0x1001a828
push 3
pop ecx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 4], 0x9634
mov dword [ebp - 0x20], 0xe035d6df
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x28], 0x68e5b495
mov dword [ebp - 8], ebx
jmp 0x1001a894
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x5c], 0x8bbca631
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x1001a886
mov dword [ebp - 8], ebx
jmp 0x1001a8ac
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x3c], 0xa439beb0
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x1001a89e
mov dword [ebp - 8], ebx
jmp 0x1001a8c7
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x94], 0x9e2a8d3a
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x1001a8b6
mov dword [ebp - 8], ebx
jmp 0x1001a8e2
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x1d4], 0xfe8f1e0e
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x1001a8d1
mov dword [ebp - 8], ebx
jmp 0x1001a8fd
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x2ec], 0xfffffff6
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x1001a8ec
mov dword [ebp - 0x3c], esi
mov eax, 0x33582f80
cmp dword [ebp - 0x3c], ebx
jl 0x1001a9d6
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x28], 0x6497
mov dword [ebp - 0x10], ebx
jmp 0x1001a948
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xac], 0xffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1001a937
mov eax, dword [ebp - 0x3c]
cmp dword [ebp + eax*4 - 0x5c], ebx
jne 0x1001a979
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x94], esi
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x38]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
sete cl
xor eax, eax
cmp ecx, 0xfffa
setne al
xor edx, edx
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 4]
cmp ecx, eax
setne dl
mov dword [ebp - 0x3c], edx
test edx, edx
je 0x1001aa24
mov eax, esi
cmp dword [ebp - 4], ebx
jne 0x1001aa26
mov eax, ebx
mov dword [ebp - 0x20], eax
xor ecx, ecx
mov edx, dword [ebp - 0x20]
imul edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp edx, eax
setge cl
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
sub eax, 0x8fb8aaa8
neg eax
sbb eax, eax
inc eax
cmp esi, eax
sbb eax, eax
xor ecx, ecx
neg eax
sub eax, dword [ebp - 0x38]
cmp eax, 0xff44
setl cl
xor eax, eax
cmp ecx, 0x8fdc
setl al
mov dword [ebp - 0x1d0], eax
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x2e4]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x1d4]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x34], 0xfffffff8
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x10], ebx
jmp 0x1001aab3
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x2a0], 6
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x1001aaa2
mov dword [ebp - 0x34], ebx
jmp 0x1001ac04