Function at 0x10017f93
Capabilities:
Get system information on windows
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1f0
push ebx
push esi
push edi
mov dword [ebp - 0x74], edx
mov edi, ecx
xor ebx, ebx
mov dword [ebp - 0x18], 0x583e3585
push 3
mov dword [ebp - 0x24], edi
mov dword [ebp - 4], ebx
pop ecx
jmp 0x10017fc2
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x64], ebx
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x10017fb8
mov dword [ebp - 4], ebx
jmp 0x10017fdd
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xc8], 0xfffffffa
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x10017fcc
mov dword [ebp - 0x5c], ebx
cmp dword [ebp - 0x5c], 0x13
push 1
pop esi
jl 0x100180a8
mov edi, 0xc7153413
mov dword [ebp - 0x14], 0x8d9a2b82
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 8], ebx
jmp 0x1001801b
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x118], 0x8b9dbea5
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x1001800a
cmp dword [ebp - 0x5c], ebx
je 0x10018093
mov eax, dword [ebp - 0x5c]
inc eax
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xffffffff
sbb eax, eax
neg eax
cmp edi, eax
mov eax, dword [ebp - 0x14]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp eax, ecx
setge dl
sub edx, dword [ebp - 0x14]
cmp edx, 0xfffffff8
jle 0x10018059
mov eax, esi
cmp dword [ebp - 0x5c], ebx
jne 0x1001805b
mov eax, ebx
cmp eax, dword [ebp - 0x5c]
jg 0x1001806a
mov eax, esi
cmp dword [ebp - 0xc8], ebx
jne 0x1001806c
mov eax, ebx
inc dword [ebp - 0x110]
cmp eax, 0xd8475761
mov edx, dword [ebp - 0x110]
sbb ecx, ecx
xor eax, eax
inc ecx
add ecx, dword [ebp - 0x5c]
cmp edx, ecx
push 3
setne al
pop ecx
cmp eax, ecx
mov eax, esi
jb 0x10018095
mov eax, ebx
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x5c]
cmp dword [ebp - 0x5c], 0x13
jge 0x10017ff7
mov edi, dword [ebp - 0x24]
mov dword [ebp - 0x5c], 0xd4d1
cmp dword [ebp - 0xc8], 4
jge 0x100180c2
mov edx, esi
cmp dword [ebp - 0xc8], ebx
jne 0x100180c4
mov edx, ebx
mov eax, dword [ebp - 0xc8]
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x18], ecx
cmp dword [edi + 0x10], ebx
jne 0x100180e0
xor al, al
jmp 0x1001936a
mov dword [ebp - 0x10], esi
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 8], ebx
push 2
mov dword [ebp - 0x18], esi
mov dword [ebp - 8], ebx
pop edi
jmp 0x10018106
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x58], 0xffffffff
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x100180f8
cmp dword [ebp - 0x10], 0xb274bf90
sbb eax, eax
xor ecx, ecx
inc eax
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
cmp eax, 0xbf0b
setg cl
imul eax, ecx, 0x85c
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
cmp dword [ebp - 4], ebx
jne 0x10018139
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
xor edx, edx
mov eax, dword [ebp - 8]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 4]
cmp ecx, eax
setl dl
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x58]
mov dword [ebp - 4], eax
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], ebx
cmp dword [ebp - 4], edi
jge 0x10018182
push 3
pop edi
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xb8], edi
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x1001816c
push 2
pop edi
mov dword [ebp - 4], ebx
jmp 0x10018198
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x19c], 0xea885c82
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x10018187
push 8
mov dword [ebp - 0x10], ebx
pop edx
jmp 0x10018257
mov dword [ebp - 0x20], 0xfffffff6
mov dword [ebp - 0x20], 0xbc6a687e
mov dword [ebp - 0x20], 0x2b9cbadb
mov dword [ebp - 0x1c], ebx
jmp 0x100181d4
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x148], 0x435c5265
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x100181c3
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + eax*4 - 0x58]
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x58], ecx
mov eax, dword [ebp - 0x140]
dec dword [ebp - 0x140]
cmp dword [ebp - 0xb4], ebx
jne 0x1001821a
cmp dword [ebp - 0x58], ebx
je 0x10018207
mov eax, dword [ebp - 0xb8]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x58], edx
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x58]
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x10]
je 0x10018233
mov eax, esi
cmp dword [ebp - 8], ebx
jne 0x10018235
mov eax, ebx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0xb4]
neg eax
sbb eax, eax
neg eax
imul ecx, eax
neg ecx
sbb ecx, ecx
neg ecx
inc ecx
mov dword [ebp - 0x18], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jle 0x100181a9
push 3
mov dword [ebp - 8], ebx
mov dword [ebp - 8], ebx
pop esi
jmp 0x1001827c
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x1f0], 0x9841b3c6
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x1001826b
mov dword [ebp - 8], ebx
cmp dword [ebp - 8], edi
jg 0x100182b9
mov byte [ebp - 9], bl
cmp byte [ebp - 9], bl
je 0x10018299
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
mov byte [ebp - 9], bl
cmp byte [ebp - 9], bl
je 0x100182ae
push 0x1288
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jle 0x10018289
push 8
pop edx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 8], 0x401d1b98
mov dword [ebp - 0x20], 0xdd9c
mov dword [ebp - 0x18], edx
mov dword [ebp - 4], ebx
jmp 0x100182e2
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x90], ebx
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x100182d5
mov dword [ebp - 4], ebx
jmp 0x100182f9
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xb0], edi
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x100182ec
mov eax, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x90]
mov eax, dword [ebp - 0x90]
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0xac]
mov eax, dword [ebp - 0xac]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0xb0]
cmp ecx, eax
mov eax, dword [ebp - 0x90]
setl dl
xor ebx, ebx
test edx, edx
setle bl
xor ecx, ecx
cmp ebx, eax
mov eax, dword [ebp - 0x14]
setge cl
xor ebx, ebx
add eax, ecx
inc ebx
imul eax, dword [ebp - 0x14]
xor ecx, ecx
imul eax, eax, 0x7258
mov dword [ebp - 0x90], eax
mov dword [ebp - 8], ebx
cmp dword [ebp - 8], ecx
jl 0x10018374
mov dword [ebp - 0x18], 0xfffffffa
dec dword [ebp - 8]
jns 0x10018368
mov dword [ebp - 0x1c], 0x91a049fe
mov dword [ebp - 0x1c], 0x1f94964a
mov dword [ebp - 0x18], 0xfffffffc
mov dword [ebp - 8], ecx
jmp 0x1001839c
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x28], 0x1928c176
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x1001838e
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], ecx
jl 0x10018428
mov dword [ebp - 8], 0x16580849
mov dword [ebp - 8], ecx
jmp 0x1001841b
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0x28]
cmp dword [ebp - 0x1c], 0x917ab6da
jbe 0x100183cc
mov esi, ebx
cmp dword [ebp - 0x18], ecx
jne 0x100183ce
mov esi, ecx
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov ecx, dword [ebp + eax*4 - 0x28]
mov eax, dword [ebp - 0x28]
add eax, 0xfffb
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setne dl
xor ecx, ecx
sub edx, esi
cmp edx, ebx
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setl dl
mov ecx, dword [ebp + eax*4 - 0x28]
mov eax, dword [ebp - 0x1c]
imul ecx, dword [ebp + eax*4 - 0x28]
mov eax, dword [ebp - 0x1c]
imul ecx, edx
imul ecx, ecx, 0xf5aa
mov dword [ebp + eax*4 - 0x28], ecx
inc dword [ebp - 8]
xor ecx, ecx
cmp dword [ebp - 8], ecx
jle 0x100183b5
dec dword [ebp - 0x1c]
jns 0x100183a9
push 3
pop esi
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov byte [ebp - 9], cl
cmp byte [ebp - 9], 0
je 0x10018443
push ecx
call edi
push eax
call dword [sym.imp.USER32.dll_SetWindowTextA]
xor ecx, ecx
mov dword [ebp - 8], ecx
jmp 0x10018459
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x174], 0xe785c2f4
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x10018448
mov dword [ebp - 4], ecx
mov dword [ebp - 0x1c], 0x58bd4dfb
mov dword [ebp - 0x18], 0xfffffff7
mov dword [ebp - 0x20], ebx
mov dword [ebp - 8], ecx
jmp 0x10018488
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x1ac], 0x4b0ad8ea
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
jl 0x10018477
mov eax, dword [ebp - 4]
xor ecx, ecx
cmp eax, 0x1665
mov eax, dword [ebp - 4]
mov dword [ebp - 0x1c], 0x3d2d
setne cl
xor edx, edx
cmp ecx, eax
setle dl
mov dword [ebp - 0x18], edx
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
shl eax, 2
test eax, eax
je 0x100184f8
mov dword [ebp - 0x20], 0x3ac9
mov dword [ebp - 0x20], 5
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 8], edx
jmp 0x100184ee
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x138], ebx
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x100184e1
inc dword [ebp - 0x18]
jmp 0x10018511
mov dword [ebp - 0x1c], esi
cmp dword [ebp - 0x1c], edx
jl 0x10018511
mov eax, dword [ebp - 0x1c]
cmp dword [ebp + eax*4 - 0x1ac], edx
jne 0x10018511
dec dword [ebp - 0x1c]
jns 0x10018500
mov dword [ebp - 0x1c], edx
jmp 0x10018aea
mov dword [ebp - 0x10], 8
mov dword [ebp - 4], 0xf341
mov dword [ebp - 8], edx
jmp 0x1001853d
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x1e4], 0x4e2db58e
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x1001852c
dec dword [ebp - 4]
mov dword [ebp - 4], edx
jmp 0x10018576
mov dword [ebp - 0x18], 0xf889
mov byte [ebp - 9], dl
cmp byte [ebp - 9], 0
je 0x1001856c
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_RealizePalette]
xor edx, edx
mov dword [ebp - 0x18], 9
inc dword [ebp - 4]
cmp dword [ebp - 4], 0x12
je 0x1001854a
mov dword [ebp - 0x18], 0xf86f25db
mov dword [ebp - 0x10], 0x825e7a66
mov dword [ebp - 0x14], 0xfffffffe
mov dword [ebp - 8], edx
jmp 0x100185a7
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x88], 9
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x10018596
mov dword [ebp - 0x10], edx
jmp 0x10018603
mov dword [ebp - 8], 0xffffffff
mov dword [ebp - 0x14], 0x54e7f13b
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x88]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x10]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x14], eax
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffec
jle 0x100185b1
mov byte [ebp - 9], dl
cmp byte [ebp - 9], 0
je 0x1001861c
push edx
push edx
call dword [sym.imp.USER32.dll_UnregisterClassA]
xor edx, edx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 8], edx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 8], edx
jmp 0x1001863f
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x48], 0xffffffff
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x10018631
cmp dword [ebp - 0x10], 0xb274bf90
sbb eax, eax
xor ecx, ecx
inc eax
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
cmp eax, 0xbf0b
setg cl
imul eax, ecx, 0x85c
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
cmp dword [ebp - 4], edx
jne 0x10018673
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
xor edx, edx
mov eax, dword [ebp - 8]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 4]
cmp ecx, eax
push 2
setl dl
mov dword [ebp - 0x48], edx
xor edx, edx
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 4], eax
mov dword [ebp - 0x14], ebx
mov dword [ebp - 4], edx
pop ecx
jmp 0x100186b2
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x98], esi
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x100186a5
mov dword [ebp - 4], edx
jmp 0x100186cd
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x1cc], 0xea885c82
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x100186bc
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], ebx
jg 0x1001879c
mov dword [ebp - 0x20], 0xfffffff6
mov dword [ebp - 0x20], 0xbc6a687e
mov dword [ebp - 0x20], 0x2b9cbadb
mov dword [ebp - 4], edx
jmp 0x1001870a
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x168], 0x435c5265
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x100186f9
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + eax*4 - 0x48]
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x48], ecx
mov eax, dword [ebp - 0x160]
dec dword [ebp - 0x160]
cmp dword [ebp - 0x94], edx
jne 0x10018753
cmp dword [ebp - 0x48], edx
je 0x1001873d
mov eax, dword [ebp - 0x98]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x10]
push 8
pop ecx
mov dword [ebp + eax*4 - 0x48], ecx
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x48]
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x1c8]
je 0x1001876c
mov eax, ebx
cmp dword [ebp - 8], edx
jne 0x1001876e
mov eax, edx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x94]
neg eax
sbb eax, eax
neg eax
imul ecx, eax
neg ecx
sbb ecx, ecx
neg ecx
inc ecx
mov dword [ebp - 0x14], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jle 0x100186df
push 2
pop ecx
mov dword [ebp - 8], edx
jmp 0x100187af
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x50], 0x124f84b8
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x100187a1
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], edx
jl 0x10018ae7
mov dword [ebp - 4], 0xcea5d6c0
mov dword [ebp - 0x20], 0xa4c8
mov dword [ebp - 0x14], 0xfffffff8
mov dword [ebp - 0x14], 0x66ef3b06
mov dword [ebp - 8], edx
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 0xf0], ecx
mov dword [ebp - 0xec], ecx
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 8], 0xfffffffe
mov dword [ebp - 4], edx
jmp 0x10018811
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x2c], 0xdd03
inc dword [ebp - 4]
cmp dword [ebp - 4], ebx
jl 0x10018803
mov dword [ebp - 4], edx
jmp 0x1001882c
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xfc], 0xffffffff
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x1001881b
mov dword [ebp - 4], edx
jmp 0x10018846
mov dword [ebp - 8], 0x4c8d3c89
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 8], eax
inc dword [ebp - 4]
cmp dword [ebp - 4], ebx
jg 0x10018836
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 4]
jne 0x10018888
inc dword [ebp - 0xfc]
xor ecx, ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
cmp eax, 0x3ba6
setg cl
cmp ecx, 7
mov ecx, ebx
sbb eax, eax
inc eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
dec eax
neg eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x2c]
jl 0x1001888a
mov ecx, edx
mov eax, dword [ebp - 4]
imul eax, ecx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xe8]
imul eax, dword [ebp - 8]
test eax, eax
je 0x100188b3
mov eax, dword [ebp - 0xf4]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 8], 0xf620a341
mov dword [ebp - 4], 0x8f3c34ee
mov dword [ebp - 8], edx
jmp 0x100188da
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xa8], 0xad313dd3
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x100188c9
mov dword [ebp - 0xa4], 0xb
jmp 0x10018958
mov dword [ebp - 8], edx
jmp 0x100188fd
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x84], edx
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x100188f0
mov dword [ebp - 0x84], edx
jmp 0x10018949
mov byte [ebp - 9], dl
cmp byte [ebp - 9], 0
je 0x10018931
push edx
push 0x19aa
push 0x1ddb
push 0xed9
push 0xd39
call dword [sym.imp.GDI32.dll_CreateBitmap]
xor edx, edx
mov byte [ebp - 9], dl
cmp byte [ebp - 9], 0
je 0x10018943
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
xor edx, edx
inc dword [ebp - 0x84]
cmp dword [ebp - 0x84], 6
jg 0x1001890b
inc dword [ebp - 0xa4]
cmp dword [ebp - 0xa4], 0x1d
jl 0x100188eb
mov dword [ebp - 0x14], 0x169ff4ca
mov dword [ebp - 4], ebx
cmp dword [ebp - 4], edx
jl 0x10018a58
mov dword [ebp - 8], 0xb055cc25
mov dword [ebp - 8], ebx
cmp dword [ebp - 8], edx
jl 0x10018a27
mov dword [ebp - 0x14], 0x1ef9953e
cmp dword [ebp - 8], edx
je 0x100189c4
mov ecx, dword [ebp - 8]
xor edx, edx
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
mov eax, dword [ebp - 0x1c]
setne dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], 0
je 0x100189b9
cmp dword [ebp - 0x10], 0
jne 0x100189bb
xor ebx, ebx
mov dword [ebp - 0x14], ebx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
xor edx, edx
push 1
mov ecx, dword [ebp + eax*4 - 0x50]
mov eax, dword [ebp - 4]
cmp ecx, eax
setg dl
xor ebx, ebx
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + eax*4 - 0x50]
add ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
cmp ecx, eax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 4]
setg bl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 4]
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x10]
setl cl
xor edx, edx
cmp ebx, ecx
pop ebx
setl dl
sub edx, dword [ebp + eax*4 - 0x50]
mov eax, dword [ebp - 0x10]
push 0
mov dword [ebp + eax*4 - 0x50], edx
dec dword [ebp - 8]
pop edx
jns 0x10018987
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + eax*4 - 0x50]
imul ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x50]
sub eax, ecx
mov dword [ebp - 0x170], eax
dec dword [ebp - 4]
jns 0x10018974
mov dword [ebp - 4], edx
jmp 0x10018a6a
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x18c], ebx
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x10018a5d
push 2
mov dword [ebp - 4], edx
pop ecx
jmp 0x10018a85
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x7c], 0x2c70bb74
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x10018a77
mov dword [ebp - 0x78], edx
jmp 0x10018ab8
cmp byte [ebp - 9], 0
je 0x10018aab
push 0x15e3
push 0x1445
push edx
call dword [sym.imp.USER32.dll_OffsetRect]
push 2
xor edx, edx
pop ecx
mov eax, dword [ebp - 0x78]
mov eax, dword [ebp + eax*4 - 0x18c]
inc dword [ebp - 0x78]
cmp dword [ebp - 0x78], ecx
mov byte [ebp - 9], dl
jle 0x10018a8f
cmp byte [ebp - 9], 0
je 0x10018ad8
push edx
push 0x221d
push edx
call dword [sym.imp.OLEAUT32.dll_SafeArrayGetLBound]
push 2
xor edx, edx
pop ecx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x14], eax
dec dword [ebp - 0x10]
jns 0x100187c0
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffff6
jle 0x10018519
lea eax, [ebp - 0x74]
push eax
push edx
call fcn.1001945f
xor edx, edx
mov dword [ebp - 0x20], 0x4e2db58e
mov byte [ebp - 9], dl
pop ecx
pop ecx
cmp byte [ebp - 9], dl
je 0x10018b19
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
xor edx, edx
mov byte [ebp - 9], dl
cmp byte [ebp - 9], 0
je 0x10018b2f
push 0x44
call edi
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
xor edx, edx
mov dword [ebp - 0x20], 0x3eb60693
push 5
pop eax
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0x14], edx
jmp 0x10018b64
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x30], 0x3ae35568
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10018b56
mov dword [ebp - 0x30], 0xfffffffe
jmp 0x10018c26
mov dword [ebp - 0x1c], 0xea98
mov dword [ebp - 0x10], 0x38ab659d
mov dword [ebp - 0x20], 0xc71bc7dc
mov dword [ebp - 0x158], edx
mov dword [ebp - 0x154], edx
mov dword [ebp - 0x150], edx
mov dword [ebp - 0x14c], edx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x10], 4
jmp 0x10018c1d
mov dword [ebp - 4], 0x2513244d
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 8], 0x9fa8bc07
inc dword [ebp - 8]
mov dword [ebp - 4], esi
cmp dword [ebp - 4], edx
jl 0x10018c1a
mov dword [ebp - 8], edx
jmp 0x10018c10
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + eax*4 - 0xe4]
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xe4], ecx
mov dword [ebp - 0x14], edx
jmp 0x10018c08
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x1c], edx
jmp 0x10018c00
dec dword [ebp - 0x18]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jle 0x10018bfa
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jle 0x10018bee
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jle 0x10018bd5
dec dword [ebp - 4]
jns 0x10018bd0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x14
jne 0x10018bb1
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xfffffff3
jl 0x10018b75
mov dword [ebp - 8], 0x56834504
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x20], 0xd3e9
mov dword [ebp - 0x14], edx
jmp 0x10018c57
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xbc], 0x82b4746a
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10018c46
cmp dword [ebp - 8], edx
je 0x10018c80
mov byte [ebp - 9], dl
cmp byte [ebp - 9], 0
je 0x10018d11
push edx
push 0xbe0
call fcn.1001aaaa
pop ecx
pop ecx
jmp 0x10018d0f
mov dword [ebp - 0x14], 9
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 8], edx
je 0x10018c9b
mov dword [ebp - 0xbc], 0xfaf0
mov edx, ebx
imul eax, dword [ebp - 0x18], 0xcb8f
xor ecx, ecx
cmp eax, 0xfffffffb
setne cl
cmp ecx, dword [ebp - 8]
je 0x10018cb5
cmp dword [ebp - 8], 0
jne 0x10018cbf
cmp dword [ebp - 0x18], 0
jne 0x10018cbf
xor esi, esi
jmp 0x10018cc1
mov esi, ebx
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 8]
setle cl
xor edx, edx
cmp ecx, esi
setl dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 8]
setle cl
add eax, 0x86d6
add eax, ecx
imul eax, dword [ebp - 0x18]
test eax, eax
je 0x10018cf8
cmp dword [ebp - 0x18], 0
je 0x10018cf8
mov edx, ebx
jmp 0x10018cfa
xor edx, edx
mov eax, dword [ebp - 8]
xor ecx, ecx
cmp edx, eax
setg cl
sub ecx, dword [ebp - 0x14]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x20], ecx
xor edx, edx
mov dword [ebp - 8], ebx
mov dword [ebp - 0x14], edx
jmp 0x10018d2a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x134], 0x4a6847df
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10018d19
mov byte [ebp - 9], dl
cmp byte [ebp - 9], 0
je 0x10018d44
push edx
call edi
push eax
call dword [sym.imp.USER32.dll_RemovePropA]
xor edx, edx
mov dword [ebp - 8], edx
cmp dword [ebp - 8], edx
jl 0x10018d98
mov dword [ebp - 0x18], edx
mov byte [ebp - 9], dl
cmp byte [ebp - 9], 0
je 0x10018d65
push 0x85f
call dword [sym.imp.USER32.dll_GetSysColor]
xor edx, edx
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x18], edx
jl 0x10018d93
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x20], 0x85c9e53e
mov dword [ebp - 0x14], edx
jmp 0x10018d89
mov dword [ebp - 0x1c], 0x27d2703d
dec dword [ebp - 0x1c]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jle 0x10018d7c
dec dword [ebp - 0x18]
jns 0x10018d6d
dec dword [ebp - 8]
jns 0x10018d4c
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0x14], 0x10
jb 0x10018da5
mov ecx, dword [eax]
jmp 0x10018da7
mov ecx, eax
mov esi, dword [sym.imp.GDI32.dll_CreateCompatibleDC]
cmp dword [eax + 0x14], 0x10
mov dword [ebp - 0x34], ecx
jb 0x10018dba
mov edx, dword [eax]
jmp 0x10018dbc
mov edx, eax
mov eax, dword [eax + 0x10]
add eax, edx
cmp ecx, eax
je 0x100191c2
push 9
pop ecx
mov dword [ebp - 4], ecx
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x20], 0xb5f732bc
mov dword [ebp - 0x14], 0
jmp 0x10018dfa
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x104], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10018ded
mov eax, dword [ebp - 4]
xor edx, edx
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp ecx, eax
setle dl
sub edx, dword [ebp - 4]
mov dword [ebp - 0x10], edx
je 0x10018eb5
mov dword [ebp - 0x10], 0
jmp 0x10018e4c
mov byte [ebp - 9], 0
cmp byte [ebp - 9], 0
je 0x10018e49
push 0
push 0x5c6d
call fcn.10019422
pop ecx
pop ecx
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffff7
jge 0x10018e31
mov dword [ebp - 0x10], 0
jmp 0x10018eae
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + eax*4 - 0x104]
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x104], ecx
mov dword [ebp - 4], ebx
cmp dword [ebp - 4], 0
jl 0x10018eab
push 0x4f8a
lea eax, [ebp - 0x9c]
mov dword [ebp - 0x20], 0x2c593c86
push 0
mov dword [ebp - 0x20], 0xc8a52b4b
mov dword [ebp - 0x9c], 0xffffffff
push eax
call fcn.1001a47b
add esp, 0xc
dec dword [ebp - 4]
jns 0x10018e78
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jle 0x10018e5b
jmp 0x10018f1d
mov dword [ebp - 0x20], 0xffffffff
mov byte [ebp - 9], 0
cmp byte [ebp - 9], 0
je 0x10018ed2
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call esi
mov dword [ebp - 0x10], 6
jmp 0x10018f17
mov dword [ebp - 0x14], ebx
xor ecx, ecx
mov dword [ebp - 0x14], 0x6e89be30
mov dword [ebp - 0x14], 0x38b4fd08
mov eax, dword [ebp - 0x20]
inc eax
cmp eax, 0xfffffffc
setl cl
add ecx, 0x7b05
sub ecx, dword [ebp - 4]
neg ecx
sbb ecx, ecx
sub ecx, dword [ebp - 0x18]
neg ecx
sbb ecx, ecx
inc ecx
imul ecx, dword [ebp - 0x18]
mov dword [ebp - 0x14], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x16
jne 0x10018edb
mov eax, dword [ebp - 0x34]
mov al, byte [eax]
cmp al, 0x30
jl 0x10019079
cmp al, 0x39
jg 0x10019079
push 9
pop ecx
mov dword [ebp - 4], ecx
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x20], 0xb5f732bc
mov dword [ebp - 0x14], 0
jmp 0x10018f63
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x10c], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10018f56
mov eax, dword [ebp - 4]
xor edx, edx
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp ecx, eax
setle dl
sub edx, dword [ebp - 4]
mov dword [ebp - 0x10], edx
je 0x10018ffa
mov dword [ebp - 0x10], 0
jmp 0x10018fa7
push 0x5bec
push 0
call fcn.1001a772
dec dword [ebp - 0x10]
pop ecx
pop ecx
cmp dword [ebp - 0x10], 0xfffffff7
jge 0x10018f96
mov dword [ebp - 0x10], 0
jmp 0x10018ff3
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + eax*4 - 0x10c]
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x10c], ecx
mov dword [ebp - 4], ebx
cmp dword [ebp - 4], 0
jl 0x10018ff0
cmp dword [ebp - 0x10], ebx
jle 0x10018fb6
jmp 0x10019062
mov dword [ebp - 0x20], 0xffffffff
mov byte [ebp - 9], 0
cmp byte [ebp - 9], 0
je 0x10019017
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call esi
mov dword [ebp - 0x10], 6
jmp 0x1001905c
mov dword [ebp - 0x14], ebx
xor ecx, ecx
mov dword [ebp - 0x14], 0x6e89be30
mov dword [ebp - 0x14], 0x38b4fd08
mov eax, dword [ebp - 0x20]
inc eax
cmp eax, 0xfffffffc
setl cl
add ecx, 0x7b05
sub ecx, dword [ebp - 4]
neg ecx
sbb ecx, ecx
sub ecx, dword [ebp - 0x18]
neg ecx
sbb ecx, ecx
inc ecx
imul ecx, dword [ebp - 0x18]
mov dword [ebp - 0x14], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x16
jne 0x10019020
lea edx, [ebp - 0x34]
lea ecx, [ebp - 0x74]
call fcn.10017cf9
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x24]
inc ecx
jmp 0x10018dad
mov eax, dword [ebp - 0x74]
push 3
pop edi
and dword [eax], 0
mov dword [ebp - 0x24], 0x583e3585
mov dword [ebp - 4], 0
jmp 0x100190a0
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x70], 0
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x10019092
mov dword [ebp - 4], 0
jmp 0x100190bf
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xd4], 0xfffffffa
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x100190ae
mov dword [ebp - 0x68], 0
cmp dword [ebp - 0x68], 0x13
jl 0x10019192
mov esi, 0xc7153413
mov dword [ebp - 0x18], 0x8d9a2b82
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x14], 0
jmp 0x10019102
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x124], 0x8b9dbea5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x100190f1
cmp dword [ebp - 0x68], 0
je 0x10019180
mov dword [ebp - 0x68], 0xd4d1
cmp dword [ebp - 0xd4], 4
jge 0x100191ab
cmp dword [ebp - 0xd4], 0
jne 0x100191ad
xor ebx, ebx
mov eax, dword [ebp - 0xd4]
xor ecx, ecx
cmp ebx, eax
setne cl
mov dword [ebp - 0x24], ecx
jmp 0x100180d9
mov dword [ebp - 0x10], ebx
xor ecx, ecx
mov dword [ebp - 0x24], 0x35290ce9
mov dword [ebp - 0x20], 0x32e0c280
push 3
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x10], ecx
pop edi
jmp 0x100191ee
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x40], 0x41b3c692
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x100191e0
mov dword [ebp - 0x10], ecx
jmp 0x10019209
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1bc], 0xea0c8d4
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x100191f8
mov dword [ebp - 0x10], ecx
jmp 0x10019225
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x180], 0xfffffffd
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x10019214
mov dword [ebp - 0x10], ecx
jmp 0x10019240
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x130], 0x13e0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1001922f
mov dword [ebp - 0x10], ecx
jmp 0x1001935e
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x20], 0xd538770c
mov dword [ebp - 0x20], 0xfffffffa
mov dword [ebp - 0x20], 5
mov dword [ebp - 0x20], 0x227283a3
mov dword [ebp - 0x20], 0xc29aeda1
mov dword [ebp - 0x20], 0xbb4ee00b
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x20], 0x8a59c2d
mov dword [ebp - 0x20], 0x46ac1dea
mov dword [ebp - 0x20], 0xa0dcb3df
mov dword [ebp - 0x14], ecx
jmp 0x100192a8
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1d8], 0x3c77d98a
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10019297
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x40]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x40]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x40]
mov dword [ebp - 0x1b4], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x40]
dec dword [ebp - 0x24]
mov dword [ebp - 0x180], ecx
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x40], ecx
jne 0x100192f3
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x40], ecx
je 0x100192fe
mov eax, dword [ebp - 0x10]
mov edx, ebx
cmp dword [ebp + eax*4 - 0x40], ecx
jne 0x10019300
mov edx, ecx
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x40]
cmp edx, eax
mov eax, dword [ebp - 0x38]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setle dl
xor ecx, ecx
cmp edx, eax
setg cl
cmp ecx, dword [ebp - 0x10]
je 0x10019331
cmp dword [ebp - 0x10], 2
jle 0x1001924d
mov al, bl
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret