Function at 0x10019d6c
Capabilities:
Identify system language via api

Disassembly:
mov eax, 0x1007dc70
call fcn.1007d38c
sub esp, 0x170
push ebx
push esi
push edi
push 3
pop esi
mov dword [ebp - 0x88], ecx
or edi, 0xffffffff
mov dword [ebp - 0x30], edi
lea ecx, [ebp - 0x12c]
push esi
mov dword [ebp - 0x84], edx
call fcn.10017fd3
xor ebx, ebx
lea ecx, [ebp - 0x114]
push esi
mov dword [ebp - 4], ebx
call fcn.10017fd3
push 4
pop edx
mov dword [ebp - 0xcc], edx
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0xc4], edx
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0x10], ebx
jmp 0x10019de4
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x12c]
mov dword [eax + ecx*4], 1
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x10019dd1
mov dword [ebp - 0x10], ebx
jmp 0x10019dff
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x17c], 0x4c40
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x10019dee
mov dword [ebp - 0x10], ebx
jmp 0x10019e18
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x114]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x10019e09
dec dword [ebp - 0xc4]
lea ecx, [ebp - 0x114]
call fcn.100187f0
lea ecx, [ebp - 0x12c]
mov dword [ebp - 4], edi
call fcn.100187f0
mov dword [ebp - 0x10], 0x8a61928c
push 2
pop eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], 0x99ea5d84
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0x28], 0xd90538e0
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], ebx
jmp 0x10019ea2
mov dword [ebp - 0x2c], 0xfffffffc
xor edx, edx
mov dword [ebp - 0x28], 1
mov dword [ebp - 0x2c], 0xffff
mov dword [ebp - 0x28], 0x7b9278f7
mov eax, dword [ebp - 0x28]
cmp eax, 0x16580849
mov eax, dword [ebp - 0x10]
setne dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x18], ecx
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffe5
jg 0x10019e69
mov dword [ebp - 0x10], 0x3e91
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
sub eax, 0x939c
neg eax
sbb eax, eax
add eax, 0xffff83e7
sub edx, eax
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
add edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, edx
setne cl
xor edx, edx
sub ecx, 0x3134d13a
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
setle dl
add edx, dword [ebp - 0x14]
jne 0x10019efe
cmp dword [ebp - 0x10], ebx
jne 0x10019efe
mov eax, ebx
jmp 0x10019f01
xor eax, eax
inc eax
mov ecx, dword [ebp - 0x14]
add ecx, eax
mov eax, dword [ebp - 0x14]
neg ecx
sbb ecx, ecx
neg ecx
imul eax, ecx
neg eax
sbb eax, eax
add eax, 0xa9d707d9
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x14]
sub ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x28]
sub ecx, dword [ebp - 0x14]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
add ecx, dword [ebp - 0x1c]
cmp ecx, edi
setge al
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
neg eax
sub eax, 0x115
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 0xfffffff7
setle cl
xor eax, eax
cmp ecx, 1
setge al
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
je 0x10019f68
xor eax, eax
inc eax
jmp 0x10019f6a
mov eax, ebx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x98], edi
mov dword [ebp - 0x24], 0x24a8c6a5
mov dword [ebp - 0x18], 5
mov dword [ebp - 0x24], ebx
jmp 0x1001a04a
push 1
lea ecx, [ebp - 0x5c]
call fcn.10017fd3
xor edx, edx
mov dword [ebp - 0x2c], 8
mov dword [ebp - 0x14], ebx
inc edx
jmp 0x10019fb0
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x40], 0xfffffffb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x10019fa2
mov dword [ebp - 0x14], ebx
jmp 0x10019fc6
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x5c]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x10019fba
mov eax, dword [ebp - 0x5c]
mov dword [eax], ebx
mov eax, dword [eax]
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x28], 0xfffffff8
cmp dword [ebp + eax*4 - 0x40], ebx
je 0x10019feb
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x40]
mov eax, dword [ebp - 0x5c]
xor edx, edx
mov eax, dword [eax]
mov ecx, dword [ebp + eax*4 - 0x40]
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov dword [ebp + eax*4 - 0x40], ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
cmp eax, 6
mov eax, dword [ebp - 0x18]
setne dl
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0x28], 0x2715
je 0x1001a030
cmp dword [ebp - 0x18], ebx
jne 0x1001a030
mov eax, ebx
jmp 0x1001a033
xor eax, eax
inc eax
neg eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x5c]
dec dword [eax]
jns 0x10019fd0
lea ecx, [ebp - 0x5c]
call fcn.100187f0
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
je 0x10019f89
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], bl
je 0x1001a06b
push ebx
call edi
push eax
call dword [sym.imp.USER32.dll_BeginPaint]
mov dword [ebp - 0x18], 1
lea ecx, [ebp - 0x108]
push 4
call fcn.10017fd3
xor eax, eax
inc eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x10], 0x90ac204e
mov dword [ebp - 0x14], 0xf703c576
mov dword [ebp - 0x2c], 0x7819afca
mov dword [ebp - 0x10], 0xfffffff3
jmp 0x1001a16a
mov dword [ebp - 0x1c], eax
lea ecx, [ebp - 0xa4]
mov dword [ebp - 0x28], 0x28ea3888
push esi
call fcn.10017fd3
mov dword [ebp - 0x24], 4
mov dword [ebp - 0x2c], 2
mov dword [ebp - 0x18], ebx
jmp 0x1001a0e2
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xa4]
mov dword [eax + ecx*4], 0xdc8dfba2
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1001a0cf
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0xa4]
mov dword [eax], ecx
lea eax, [ecx + 7]
test eax, eax
je 0x1001a127
mov eax, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [ebp - 0xa4]
cmp dword [eax], 1
mov eax, dword [ebp - 0x24]
setg dl
xor ecx, ecx
cmp edx, eax
sete cl
cmp ecx, dword [ebp - 0x10]
jle 0x1001a127
xor ecx, ecx
inc ecx
jmp 0x1001a129
mov ecx, ebx
xor eax, eax
cmp ecx, 0xfffffffb
setne al
xor edx, edx
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
cmp eax, ecx
mov eax, dword [ebp - 0x10]
setne dl
xor ecx, ecx
cmp edx, eax
setge cl
sub ecx, dword [ebp - 0x1c]
neg ecx
sbb ecx, ecx
inc ecx
add ecx, dword [ebp - 0x10]
mov dword [ebp - 0x2c], ecx
lea ecx, [ebp - 0xa4]
call fcn.100187f0
inc dword [ebp - 0x10]
xor eax, eax
inc eax
cmp dword [ebp - 0x10], eax
jne 0x1001a0a6
imul ecx, dword [ebp - 0x10], 0xfff6
xor edx, edx
mov eax, dword [ebp - 0x10]
cmp eax, ecx
setle dl
test edx, edx
jne 0x1001a191
cmp dword [ebp - 0x14], ebx
jne 0x1001a191
mov edx, ebx
jmp 0x1001a194
xor edx, edx
inc edx
mov eax, dword [ebp - 0x10]
xor ecx, ecx
cmp eax, edx
setl cl
imul eax, ecx, 0xfffffff8
xor ecx, ecx
test eax, eax
setg cl
cmp ecx, 0x31cd1ac8
jl 0x1001a1ba
cmp dword [ebp - 0x14], ebx
je 0x1001a1ba
xor ecx, ecx
inc ecx
jmp 0x1001a1bc
mov ecx, ebx
mov eax, dword [ebp - 0x14]
sub ecx, eax
push 2
cmp ecx, dword [ebp - 0x14]
jle 0x1001a285
lea ecx, [ebp - 0x138]
call fcn.10017fd3
push 2
pop edx
mov byte [ebp - 4], dl
mov dword [ebp - 0x18], ebx
jmp 0x1001a1f5
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x138]
mov dword [eax + ecx*4], 1
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1001a1e2
xor eax, eax
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jl 0x1001a275
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jl 0x1001a270
push esi
lea ecx, [ebp - 0xbc]
call fcn.10017fd3
mov dword [ebp - 0x18], ebx
jmp 0x1001a231
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xbc]
mov dword [eax + ecx*4], 0xd9978317
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1001a21e
mov eax, dword [ebp - 0xbc]
mov dword [eax], 1
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x1001a253
push ebx
push ebx
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
mov eax, dword [ebp - 0xbc]
dec dword [eax]
jns 0x1001a242
lea ecx, [ebp - 0xbc]
call fcn.100187f0
dec dword [ebp - 0x14]
jns 0x1001a20d
xor eax, eax
inc eax
dec dword [ebp - 0x10]
jns 0x1001a205
lea ecx, [ebp - 0x138]
mov byte [ebp - 4], al
call fcn.100187f0
jmp 0x1001a2b7
mov dword [ebp - 0x18], ebx
pop ecx
jmp 0x1001a29c
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x154], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1001a28b
mov dword [ebp - 0x2c], 1
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x1001a2b7
call dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0x94]
push ebx
push eax
call fcn.1001d66d
mov dword [ebp - 0x10], 0x399841b3
add esp, 0xc
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x10], 0xfffffffc
cmp dword [ebp - 0x10], 0x1b
jne 0x1001a3d6
push 2
lea ecx, [ebp - 0xe4]
call fcn.10017fd3
push 2
pop edx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x14], ebx
jmp 0x1001a314
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xe4]
mov dword [eax + ecx*4], 0xfffffffb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1001a301
mov dword [ebp - 0x14], ebx
jmp 0x1001a328
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x48], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x1001a31e
cmp dword [ebp - 0x10], 0xfffffff7
jne 0x1001a3a5
mov eax, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [ebp - 0xe4]
cmp dword [eax], 0xfffffffe
mov esi, dword [eax]
setge dl
xor ecx, ecx
imul edx, dword [eax + 4]
mov eax, dword [ebp - 0x10]
cmp edx, eax
setg cl
sub ecx, dword [ebp - 0x10]
inc ecx
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, esi
jle 0x1001a36b
test esi, esi
je 0x1001a36b
xor edx, edx
inc edx
jmp 0x1001a36d
mov edx, ebx
mov eax, dword [ebp - 0x10]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x48]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x48]
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x10]
sete cl
mov dword [ebp - 0x2c], ecx
xor ecx, ecx
cmp dword [ebp - 0x2c], eax
setl cl
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0x28], ebx
jne 0x1001a3a5
mov eax, ebx
jmp 0x1001a3a8
xor eax, eax
inc eax
mov edx, dword [ebp - 0x48]
xor ecx, ecx
imul edx, eax
mov eax, dword [ebp - 0x10]
cmp edx, eax
setl cl
mov dword [ebp - 0x2c], ecx
lea ecx, [ebp - 0xe4]
call fcn.100187f0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x1b
je 0x1001a2e9
push 3
pop esi
mov dword [ebp - 0x24], 9
lea ecx, [ebp - 0xfc]
mov dword [ebp - 0x30], 0xfffffffe
push esi
call fcn.10017fd3
mov byte [ebp - 4], 5
mov dword [ebp - 0x10], ebx
jmp 0x1001a40c
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xfc]
mov dword [eax + ecx*4], 0xa94b
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1001a3f9
mov dword [ebp - 0x10], ebx
jmp 0x1001a427
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x160], 0x7f451d52
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1001a416
mov dword [ebp - 0x10], ebx
jmp 0x1001a442
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x16c], 1
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1001a431
mov dword [ebp - 0x24], ebx
jmp 0x1001a4f7
mov dword [ebp - 0x14], 0xa2afe01b
lea ecx, [ebp - 0xd8]
push 2
call fcn.10017fd3
push 2
mov byte [ebp - 4], 6
mov dword [ebp - 0x18], ebx
pop edx
jmp 0x1001a482
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xd8]
mov dword [eax + ecx*4], 0xa20bd035
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1001a46f
cmp dword [ebp - 0x24], ebx
jne 0x1001a503
mov dword [ebp - 0x14], ebx
jmp 0x1001a4df
mov dword [ebp - 0x30], 0x4accb24c
lea ecx, [ebp - 0xb0]
push esi
call fcn.10017fd3
mov dword [ebp - 0x30], 0xfffffff7
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x18], ebx
jmp 0x1001a4c3
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xb0]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1001a4b3
inc dword [ebp - 0x28]
lea ecx, [ebp - 0xb0]
mov eax, dword [ebp - 0xb0]
call fcn.100187f0
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffffb
jge 0x1001a491
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 5
call fcn.100187f0
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 7
jge 0x1001a44f
jmp 0x1001a50e
lea ecx, [ebp - 0xd8]
call fcn.100187f0
lea ecx, [ebp - 0xfc]
mov byte [ebp - 4], 1
call fcn.100187f0
mov dword [ebp - 0x30], 0xbcf5
xor ecx, ecx
mov dword [ebp - 0x24], 0xfffd
inc ecx
mov dword [ebp - 0x2c], 0x1f916744
mov dword [ebp - 0x14], ebx
jmp 0x1001a544
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x34], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1001a53a
mov dword [ebp - 0x14], ebx
jmp 0x1001a55f
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x8c], 5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1001a54e
mov dword [ebp - 0x34], 0xf
jmp 0x1001a60d
mov dword [ebp - 0x14], 0x197f0a2
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x2c], 0xe3f36a5b
mov dword [ebp - 0x18], ebx
jmp 0x1001a594
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x44], 0xfffffff8
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1001a586
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], ebx
jg 0x1001a60a
mov dword [ebp - 0x18], 2
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x44]
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x44], ebx
jne 0x1001a5e5
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x44], 0x20274952
mov dword [ebp - 0x1c], 0x20274952
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x14]
cmp ecx, eax
mov eax, dword [ebp - 0x34]
setle dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x2c], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jle 0x1001a5a1
xor ecx, ecx
inc ecx
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0x15
jle 0x1001a570
mov eax, dword [ebp - 0x34]
xor ecx, ecx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x24]
cmp eax, 0xffff9fbd
push 2
setg cl
xor edx, edx
cmp ecx, 0x6bb218ad
pop ecx
setle dl
mov dword [ebp - 0x8c], edx
mov eax, dword [ebp - 0x24]
add eax, edx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x30], 0xe072305a
mov dword [ebp - 0x10], 0xf5c184c5
mov dword [ebp - 0x18], ebx
jmp 0x1001a672
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x3c], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1001a668
mov dword [ebp - 0x10], ebx
jmp 0x1001a68a
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x3c], 0xd444182b
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1001a67c
xor edx, edx
mov dword [ebp - 0x10], ebx
inc edx
jmp 0x1001a7d4
mov dword [ebp - 0x14], 5
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x3c], ebx
je 0x1001a7a8
mov dword [ebp - 0x24], 0xfffffff8
xor ecx, ecx
mov dword [ebp - 0x2c], 0xffffffff
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x3c]
cmp eax, edx
setg cl
add ecx, dword [ebp - 0x38]
je 0x1001a6d6
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x3c]
mov eax, dword [ebp - 0x10]
xor ecx, ecx
add eax, dword [ebp - 0x10]
cmp eax, 0xad7ba966
setne cl
cmp ecx, dword [ebp - 0x3c]
jle 0x1001a6f2
mov ecx, edx
cmp dword [ebp - 0x38], ebx
jne 0x1001a6f4
mov ecx, ebx
mov eax, dword [ebp - 0x38]
xor eax, eax
cmp ecx, 0xe74f
setl al
or ecx, 0xffffffff
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp + eax*4 - 0x3c]
mov eax, dword [ebp - 0x24]
sub ecx, eax
xor eax, eax
cmp ecx, edx
setge al
xor ecx, ecx
imul edx, eax, 0xba4
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x3c]
cmp edx, eax
setl cl
cmp ecx, dword [ebp - 0x38]
jle 0x1001a785
xor edx, edx
mov dword [ebp - 0x24], ebx
inc edx
jmp 0x1001a77e
mov dword [ebp - 0x14], ebx
jmp 0x1001a776
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x1001a773
push 0x4f6
push 0x22af
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetPixel]
xor edx, edx
inc edx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jle 0x1001a74d
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edx
jle 0x1001a748
jmp 0x1001a7a1
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x1001a79e
push ebx
push ebx
push 0x1762
call edi
push eax
call dword [sym.imp.USER32.dll_GetDlgItemInt]
xor edx, edx
inc edx
cmp dword [ebp - 0x2c], ebx
jne 0x1001a7d1
jmp 0x1001a7b1
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x3c], ebx
jne 0x1001a7dd
mov dword [ebp - 0x14], ebx
jmp 0x1001a7cc
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x1001a7c9
push ebx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
xor edx, edx
inc edx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jle 0x1001a7b6
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jle 0x1001a69a
push dword [ebp - 0x94]
movdqa xmm0, xmmword [0x100081b0]
lea eax, [ebp - 0x13c]
push eax
lea eax, [ebp - 0x14c]
mov dword [ebp - 0x30], 0xfffffff7
push eax
push ebx
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x80], ebx
movdqu xmmword [ebp - 0x14c], xmm0
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x78], ebx
call fcn.1001953b
mov dword [ebp - 0x18], 0x5ccc90a3
mov dword [ebp - 0x30], 0x3a11c157
mov dword [ebp - 0x18], esi
cmp dword [ebp - 0x18], ebx
jl 0x1001a840
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x80]
cmp dword [eax + ecx*4], ebx
jne 0x1001a840
dec dword [ebp - 0x18]
jns 0x1001a830
lea ecx, [ebp - 0x80]
call fcn.100187f0
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x24], 5
push 0xfffffffffffffff7
mov dword [ebp - 0x10], 0xa11015aa
pop eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x28], 0xfffffffc
push 0xfffffffffffffff6
pop esi
cmp dword [ebp - 0x24], ebx
je 0x1001a8ac
mov dword [ebp - 0x1c], 0x3292
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
cmp eax, ecx
setne dl
sub edx, dword [ebp - 0x1c]
cmp edx, dword [ebp - 0x24]
jne 0x1001a8a1
cmp dword [ebp - 0x1c], ebx
je 0x1001a8a1
xor ecx, ecx
inc ecx
jmp 0x1001a8a3
mov ecx, ebx
xor eax, eax
cmp ecx, esi
sete al
jmp 0x1001a908
mov dword [ebp - 0x1c], 0xd1b7136
mov dword [ebp - 0x24], 0xfffffffe
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
dec eax
neg eax
push 0xfffffffffffffff6
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
cmp eax, ecx
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
setl dl
or ecx, 0xffffffff
sub esi, edx
sub ecx, eax
xor eax, eax
cmp ecx, esi
pop esi
setge al
mov dword [ebp - 0x18], eax
xor ecx, ecx
mov dword [ebp - 0x30], 0x2891f433
inc ecx
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x14], 0xe554
mov dword [ebp - 0x10], 5
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x18], ebx
jmp 0x1001a93f
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x4c], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1001a935
mov dword [ebp - 0x24], 0x13
cmp dword [ebp - 0x24], 0x11
jg 0x1001aae5
mov dword [ebp - 0x10], 0xffffffff
xor edx, edx
mov dword [ebp - 0x18], 9
mov dword [ebp - 0x1c], 0xffffffff
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x24]
cmp ecx, eax
mov esi, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
setg dl
sub esi, edx
neg esi
sbb esi, esi
xor ecx, ecx
inc esi
cmp esi, eax
setne cl
imul ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0x24]
jne 0x1001a9a6
cmp dword [ebp - 0x24], ebx
je 0x1001a9a6
xor ecx, ecx
inc ecx
mov eax, ecx
jmp 0x1001a9ab
xor ecx, ecx
mov eax, ebx
inc ecx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], 0xffffffe8
jge 0x1001aad5
jmp 0x1001a9c0
xor ecx, ecx
inc ecx
mov dword [ebp - 0x2c], 0xa540
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], ebx
jg 0x1001aac8
jmp 0x1001a9d8
xor ecx, ecx
inc ecx
mov dword [ebp - 0x10], ebx
jmp 0x1001a9eb
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x50], 9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1001a9dd
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], ebx
jg 0x1001aa43
jmp 0x1001a9fd
xor ecx, ecx
inc ecx
push ecx
lea ecx, [ebp - 0xf0]
call fcn.10017fd3
xor edx, edx
mov dword [ebp - 0x1c], ebx
inc edx
jmp 0x1001aa20
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xf0]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x1001aa11
mov eax, dword [ebp - 0xf0]
lea ecx, [ebp - 0xf0]
inc dword [eax]
mov dword [ebp - 0x50], edx
call fcn.100187f0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jle 0x1001a9fa
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], ebx
jl 0x1001aabc
mov dword [ebp - 0x28], 0xffffffff
xor edx, edx
mov dword [ebp - 0x28], 0x79191d4d
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + eax*4 - 0x4c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x4c], ecx
mov dword [ebp - 0x28], 0xac254176
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x30]
setne dl
sub eax, edx
neg eax
sbb eax, eax
add eax, 0x212a
imul eax, dword [ebp - 0x14]
cmp eax, 1
mov eax, dword [ebp - 0x14]
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setne cl
imul eax, ecx, 0xd58f
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x50], eax
dec dword [ebp - 0x1c]
jns 0x1001aa4b
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jle 0x1001a9d5
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffe8
jl 0x1001a9bd
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x11
jle 0x1001a955
xor ecx, ecx
inc ecx
mov dword [ebp - 0x1c], ebx
jmp 0x1001aafb
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x120], 0xa60c437f
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1001aaea
push ecx
mov dword [ebp - 0x18], 0xc1ec2db2
lea ecx, [ebp - 0x74]
call fcn.10017fd3
mov dword [ebp - 0x14], 6
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x10], 0xfffffff7
mov dword [ebp - 0x28], 4
mov dword [ebp - 0x1c], ebx
jmp 0x1001ab42
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x74]
mov dword [eax + ecx*4], 0x54c97515
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 1
jl 0x1001ab32
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
sub eax, 0x2151
jne 0x1001ab7a
mov eax, dword [ebp - 0x18]
xor edx, edx
test eax, eax
mov eax, dword [ebp - 0x14]
sets dl
xor ecx, ecx
cmp edx, eax
setne cl
cmp ecx, 0xb61943ec
sbb eax, eax
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x24]
xor ecx, ecx
inc dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x74]
mov dword [eax], ebx
mov eax, dword [ebp - 0x24]
cmp eax, 0xee85
mov eax, dword [ebp - 0x10]
setne cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x74]
setne dl
mov eax, dword [eax]
sub eax, edx
jne 0x1001abc6
cmp dword [ebp - 0x28], ebx
jne 0x1001abc6
mov ecx, ebx
jmp 0x1001abc9
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x74]
mov dword [eax], ecx
lea ecx, [ebp - 0x74]
call fcn.100187f0
mov dword [ebp - 0x18], ebx
jmp 0x1001ade4
mov dword [ebp - 0x24], 0xfffffff9
mov dword [ebp - 0x1c], ebx
jmp 0x1001abfb
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x13c], 0xc0ae9714
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 1
jl 0x1001abea
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x1001ac11
push ebx
call dword [sym.imp.KERNEL32.dll_EncodePointer]
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], ebx
jl 0x1001ac59
mov dword [ebp - 0x1c], 0xfffffffb
mov dword [ebp - 0x1c], ebx
jmp 0x1001ac3e
cmp byte [ebp - 0x1d], 0
je 0x1001ac3b
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_CreateHalftonePalette]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
mov byte [ebp - 0x1d], bl
jle 0x1001ac25
cmp byte [ebp - 0x1d], 0
je 0x1001ac54
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SizeofResource]
dec dword [ebp - 0x24]
jns 0x1001ac19
push 2
pop esi
mov dword [ebp - 0x30], 0x4489be67
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x10], 0xffffffff
push esi
call fcn.10017fd3
mov dword [ebp - 0x2c], 8
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x1c], ebx
jmp 0x1001ac92
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x68]
mov dword [eax + ecx*4], 0x49f845d8
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1001ac82
mov dword [ebp - 0x10], ebx
jmp 0x1001acca
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0x1c], ebx
jmp 0x1001acc1
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x1001acbe
push 0x1696
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x1c
jge 0x1001aca8
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffffe
jg 0x1001ac9c
xor ecx, ecx
mov dword [ebp - 0x10], ebx
inc ecx
cmp dword [ebp - 0x10], ecx
jg 0x1001adbd
mov dword [ebp - 0x2c], 0xf5aa05d7
mov dword [ebp - 0x2c], 0x7ad53a38
cmp dword [ebp - 0x10], ebx
je 0x1001ad2c
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [ebp - 0x68]
cmp dword [eax + ecx*4], 0x1546
setle dl
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0x10]
imul ecx, dword [ebp - 0x2c], 0x5dddb317
mov eax, dword [ebp - 0x68]
sub ecx, dword [eax + edx*4]
cmp dword [ebp - 0x10], ecx
je 0x1001ad29
xor ecx, ecx
inc ecx
mov eax, ecx
jmp 0x1001ad2e
xor ecx, ecx
inc ecx
mov eax, ebx
mov edi, dword [ebp - 0x10]
cmp ecx, eax
mov esi, dword [ebp - 0x10]
mov eax, dword [ebp - 0x68]
sbb ecx, ecx
neg ecx
xor edx, edx
cmp ecx, dword [eax + esi*4]
setle dl
imul edx, dword [eax + edi*4]
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x68]
mov eax, dword [ecx + eax*4]
sub eax, dword [ecx]
je 0x1001ad89
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [ebp - 0x68]
push 2
cmp dword [eax + ecx*4], 0xa260df39
pop eax
setne dl
cmp eax, edx
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 0xfffffff7
setle cl
mov dword [ebp - 0x2c], ecx
xor ecx, ecx
inc ecx
jmp 0x1001adab
xor ecx, ecx
mov dword [ebp - 0x1c], ebx
inc ecx
jmp 0x1001ad9e
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x90], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1001ad91
cmp dword [ebp - 0x90], ebx
jne 0x1001adb7
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jle 0x1001acdf
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
lea ecx, [ebp - 0x68]
call fcn.100187f0
mov dword [ebp - 0x30], 0x2dd8607f
mov dword [ebp - 0x30], 0x2449ef57
cmp dword [ebp - 0x98], ebx
jne 0x1001adee
inc dword [ebp - 0x11c]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xb
je 0x1001abde
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x108]
call fcn.100187f0
mov eax, dword [ebp - 0x84]
mov ecx, 0x3e8
cdq
idiv ecx
mov ecx, dword [ebp - 0x88]
mov esi, edx
mov edi, eax
call fcn.10019cfa
mov ecx, dword [ebp - 0xc]
add eax, esi
add eax, edi
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret