Function at 0x100179e3
Capabilities:
Identify system language via api
Query environment variable

Disassembly:
mov eax, 0x10079a62
call fcn.100794c8
sub esp, 0x1d0
push ebx
push esi
push edi
mov dword [ebp - 0x34], ecx
lea ecx, [ebp - 0xc0]
push 4
call fcn.100159d0
xor ebx, ebx
lea eax, [ebp - 0x180]
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0x70]
push dword [ebp - 0x34]
movdqa xmm0, xmmword [0x10007c70]
push eax
lea eax, [ebp - 0x190]
mov dword [ebp - 0x20], 0xfffffff9
push eax
mov dword [ebp - 0x2c], ebx
push ebx
movdqu xmmword [ebp - 0x190], xmm0
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x68], ebx
call fcn.1001709d
xor eax, eax
lea ecx, [ebp - 0x114]
inc eax
mov byte [ebp - 4], al
mov dword [ebp - 0x24], eax
push 4
call fcn.100159d0
push 4
mov dword [ebp - 0x28], 0x7df39f3c
mov dword [ebp - 0x14], ebx
pop edx
jmp 0x10017a80
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc0]
mov dword [eax + ecx*4], 0x81d2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x10017a6d
xor esi, esi
mov dword [ebp - 0x14], ebx
inc esi
jmp 0x10017a9b
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x74], 0x2db80ebb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10017a8d
mov dword [ebp - 0x14], ebx
jmp 0x10017ab6
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1ac], 0xdb8846b5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x10017aa5
mov dword [ebp - 0x14], ebx
jmp 0x10017ad3
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x114]
mov dword [eax + ecx*4], 7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x10017ac0
mov edx, dword [ebp - 0xc0]
cmp dword [edx + 0xc], ebx
jne 0x10017b1b
mov eax, dword [ebp - 0x70]
mov dword [eax + 0xc], esi
mov dword [ebp - 0x24], esi
mov ecx, dword [ebp - 0x24]
mov eax, dword [edx + 0xc]
xor edx, edx
add eax, ecx
cmp eax, 0x37fc
mov dword [ebp - 0x1a0], eax
mov eax, dword [ebp - 0x20]
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0xc0]
setle cl
cmp dword [eax + 4], ecx
mov ecx, ebx
je 0x10017b1d
mov ecx, esi
mov eax, dword [ebp - 0x20]
imul eax, ecx
mov ecx, 0xc4eb0a11
cmp ecx, eax
sbb eax, eax
neg eax
cmp eax, 0x6709e149
jle 0x10017b38
mov eax, dword [ebp - 0x74]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x114]
mov edi, dword [sym.imp.USER32.dll_GetDC]
mov dword [eax], 9
mov eax, dword [eax + 8]
mov dword [ebp - 0x28], eax
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10017b6f
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call edi
push eax
call dword [sym.imp.GDI32.dll_CreateEnhMetaFileW]
lea ecx, [ebp - 0x114]
call fcn.10015a52
lea ecx, [ebp - 0x70]
call fcn.10015a52
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xc0]
call fcn.10015a52
push 3
lea ecx, [ebp - 0xd8]
call fcn.100159d0
mov dword [ebp - 0x14], 0x7df2f4a8
mov dword [ebp - 0x18], ebx
jmp 0x10017bbd
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xd8]
mov dword [eax + ecx*4], 0xff0ea75c
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10017baa
mov dword [ebp - 0x14], 2
cmp dword [ebp - 0x14], ebx
jl 0x10017c3a
mov dword [ebp - 0x18], ebx
jmp 0x10017be5
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x9c], 0x6801fc3e
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10017bd4
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10017bfd
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAdjustment]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xd8]
cmp dword [eax + ecx*4], ebx
jne 0x10017c3a
mov dword [ebp - 0x98], 2
cmp dword [ebp - 0x98], ebx
jl 0x10017c35
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10017c2d
push ebx
call dword [sym.imp.KERNEL32.dll_HeapDestroy]
dec dword [ebp - 0x98]
jns 0x10017c1d
dec dword [ebp - 0x14]
jns 0x10017bcf
lea ecx, [ebp - 0xd8]
call fcn.10015a52
mov dword [ebp - 0x2c], 0x862f
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10017c5d
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10017c6c
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultUILanguage]
push 4
lea ecx, [ebp - 0xcc]
call fcn.100159d0
mov dword [ebp - 4], 2
mov dword [ebp - 0x18], 0xd5e48d32
mov dword [ebp - 0x2c], 0x3c8fc558
mov dword [ebp - 0x18], 0x1a
jmp 0x10017cad
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10017caa
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffff1
jge 0x10017c97
push dword [ebp - 0x34]
movdqa xmm0, xmmword [0x10007c60]
lea eax, [ebp - 0x150]
push eax
lea eax, [ebp - 0x160]
mov dword [ebp - 0x24], 0xfffffff9
push eax
push ebx
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x50], ebx
movdqu xmmword [ebp - 0x160], xmm0
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x48], ebx
call fcn.1001709d
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xfc]
mov dword [ebp - 0x20], esi
push 3
call fcn.100159d0
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x28], 0x7b400765
mov dword [ebp - 0x14], ebx
jmp 0x10017d23
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xfc]
mov dword [eax + ecx*4], 0x2891ba8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10017d10
mov dword [ebp - 0x14], ebx
jmp 0x10017d3f
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1cc], 0xfffffff7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x10017d2e
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 8]
imul eax, dword [edx + 0xc]
sub eax, 2
sub eax, dword [edx + 0xc]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x17f
jne 0x10017d6d
mov ecx, ebx
cmp dword [ebp - 0x20], ebx
je 0x10017d6f
mov ecx, esi
mov eax, dword [ebp - 0xfc]
push 0
mov dword [eax + 8], ecx
xor eax, eax
cmp ecx, 0xf2f3
setg al
imul eax, dword [edx + 0xc]
cmp eax, 0xbd3e018e
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, dword [edx + 0xc]
mov edx, dword [edx + 0xc]
setg cl
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x20]
neg ecx
sbb ecx, ecx
imul eax, edx, 0x7329
inc ecx
neg ecx
cmp eax, ecx
mov eax, dword [ebp - 0x50]
pop ecx
setge cl
imul ecx, edx
sub ecx, dword [eax]
mov eax, dword [ebp - 0x28]
neg ecx
sbb ecx, ecx
neg ecx
sub ecx, 0xe10d32de
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x20], ecx
xor ecx, ecx
cmp dword [ebp - 0x20], eax
sete cl
mov dword [ebp - 0x1c4], ecx
lea ecx, [ebp - 0xfc]
call fcn.10015a52
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 2
call fcn.10015a52
xor esi, esi
lea ecx, [ebp - 0x12c]
inc esi
mov dword [ebp - 0x18], esi
push 3
call fcn.100159d0
mov dword [ebp - 0x2c], 0xfcfbce00
mov dword [ebp - 0x18], ebx
jmp 0x10017e2c
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x12c]
mov dword [eax + ecx*4], 0x4ebb0cb8
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10017e19
mov dword [ebp - 0x18], ebx
jmp 0x10017e8f
mov dword [ebp - 0x14], 0xcdf98a59
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10017e4d
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
mov dword [ebp - 0x14], ebx
jmp 0x10017e86
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10017e73
push ebx
push 0x15c
push 0x53
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call edi
push eax
call dword [sym.imp.GDI32.dll_SetWindowExtEx]
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10017e83
push ebx
call dword [sym.imp.USER32.dll_DestroyIcon]
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffffb
jne 0x10017e52
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x11
jl 0x10017e37
push 2
mov dword [ebp - 0x18], ebx
pop ecx
jmp 0x10017eeb
mov dword [ebp - 0x20], 0xc79e672c
mov dword [ebp - 0x14], ebx
jmp 0x10017eb7
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x64], 0xfffffffb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10017ea9
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], ebx
jl 0x10017ee8
mov dword [ebp - 0x2c], 0x40ed
mov dword [ebp - 0x2c], 0xfffffffb
mov dword [ebp - 0x2c], 0x9cf13e1
mov dword [ebp - 0x14], 0x92eda8ed
inc dword [ebp - 0x14]
dec dword [ebp - 0x20]
jns 0x10017ec4
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jle 0x10017e9d
lea ecx, [ebp - 0x12c]
call fcn.10015a52
push dword [ebp - 0x64]
movdqa xmm0, xmmword [0x10007c70]
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0x180]
mov dword [ebp - 0x2c], ebx
push eax
push ebx
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x90], ebx
movdqu xmmword [ebp - 0x180], xmm0
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x88], ebx
call fcn.1001709d
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xe4]
mov dword [ebp - 0x14], 0x647dc4b4
push esi
call fcn.100159d0
mov dword [ebp - 0x20], 0xfffffffb
xor edx, edx
mov dword [ebp - 0x28], ebx
inc edx
mov dword [ebp - 0x18], ebx
jmp 0x10017f74
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x38], 0x2733582f
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x10017f66
mov dword [ebp - 0x18], ebx
jmp 0x10017f91
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xe4]
mov dword [eax + ecx*4], 0xf5452fa8
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x10017f7e
mov esi, edx
cmp dword [ebp - 0x14], ebx
jne 0x10017f9f
mov esi, ebx
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov eax, dword [ebp - 0x14]
cmp eax, 0xfffffff6
setg cl
xor eax, eax
test ecx, ecx
sete al
imul eax, eax, 0x7af2
cmp eax, dword [ebp - 0x14]
je 0x10017fc6
cmp dword [ebp - 0x14], ebx
jne 0x10017fc6
mov edx, ebx
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp eax, edx
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0xe4]
sete cl
mov dword [eax], ecx
cmp ecx, 0xfffffff9
jle 0x10017fec
cmp dword [ebp - 0x38], ebx
je 0x10017fec
xor edi, edi
inc edi
mov ecx, edi
jmp 0x10017ff1
xor edi, edi
mov ecx, ebx
inc edi
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setne dl
xor ecx, ecx
add edx, 0xffff
cmp edx, eax
setge cl
mov dword [ebp - 0x20], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x20]
cmp esi, eax
setne cl
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x14], ebx
jmp 0x1001803c
mov dword [ebp - 0x28], 0xe80a7c6d
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10018036
call dword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
mov eax, dword [ebp - 0x28]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x2e
jge 0x10018020
lea ecx, [ebp - 0xe4]
call fcn.10015a52
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x14], 3
mov dword [ebp - 0x20], 0xffffffff
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x14], 0xffffffe5
jmp 0x100180b1
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x28], edi
imul eax, dword [ebp - 0x20], 0x7412df3e
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
neg eax
sbb eax, eax
inc eax
add eax, dword [ebp - 0x18]
cmp edi, eax
sbb eax, eax
inc eax
mov dword [ebp - 0x28], eax
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffe4
jge 0x1001806d
push 4
lea ecx, [ebp - 0x120]
call fcn.100159d0
mov byte [ebp - 4], 5
xor ecx, ecx
mov dword [ebp - 0x28], 0x7df39f3c
inc ecx
push 0xfffffffffffffffb
mov dword [ebp - 0x28], ebx
pop edx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x20], ebx
jmp 0x100180ee
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x5c], 0xf54c
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x100180e0
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x18], ebx
jmp 0x1001810c
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x5c], 0xd23b
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x100180fe
mov dword [ebp - 0x20], 0xfffffff7
mov dword [ebp - 0x14], 0x44d0
mov dword [ebp - 0x18], ebx
jmp 0x10018131
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x19c], edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10018124
mov dword [ebp - 0x18], ebx
jmp 0x1001814d
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x84], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1001813c
mov dword [ebp - 0x20], 2
cmp dword [ebp - 0x20], ebx
jl 0x1001816f
mov eax, dword [ebp - 0x20]
cmp dword [ebp + eax*4 - 0x19c], ebx
jne 0x1001816f
dec dword [ebp - 0x20]
jns 0x1001815e
dec dword [ebp - 0x14]
mov dword [ebp - 0x14], ebx
jmp 0x1001818a
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xcc]
mov dword [eax + ecx*4], 0x81d2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x10018177
push 3
lea ecx, [ebp - 0x144]
call fcn.100159d0
mov dword [ebp - 0x18], 0xffff
mov dword [ebp - 0x20], ebx
jmp 0x100181bc
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x144]
mov dword [eax + ecx*4], 0xae9714a
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x100181a9
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x100181da
push ebx
push ebx
push 0xa4a
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
inc dword [ebp - 0x18]
lea ecx, [ebp - 0x144]
call fcn.10015a52
xor ecx, ecx
mov dword [ebp - 0x14], ebx
inc ecx
jmp 0x100181fe
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x54], 0x2db80ebb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x100181f0
push 4
mov dword [ebp - 0x14], ebx
pop edx
jmp 0x1001821c
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1bc], 0xdb8846b5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1001820b
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], edx
jge 0x10018244
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x120]
mov dword [eax + ecx*4], 7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x10018229
xor ecx, ecx
inc ecx
mov edx, dword [ebp - 0xcc]
cmp dword [edx + 0xc], ebx
jne 0x1001828f
mov eax, dword [ebp - 0x90]
mov dword [eax + 0xc], ecx
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x20]
mov eax, dword [edx + 0xc]
xor edx, edx
add eax, ecx
cmp eax, 0x37fc
mov dword [ebp - 0x1b0], eax
mov eax, dword [ebp - 0x24]
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0xcc]
setle cl
cmp dword [eax + 4], ecx
jne 0x1001828f
xor edx, edx
mov ecx, ebx
inc edx
jmp 0x10018294
xor edx, edx
inc edx
mov ecx, edx
mov eax, dword [ebp - 0x24]
imul eax, ecx
mov ecx, 0xc4eb0a11
cmp ecx, eax
sbb eax, eax
neg eax
cmp eax, 0x6709e149
jle 0x100182af
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x120]
mov dword [eax], 9
mov eax, dword [eax + 8]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x14], 5
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x24], 0xbaf9eb11
mov dword [ebp - 0x20], ebx
jmp 0x100182eb
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x1dc], 0x158f8766
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
jl 0x100182da
push 0xfffffffffffffffd
pop edi
mov dword [ebp - 0x14], edi
cmp dword [ebp - 0x14], 0xffffffef
jg 0x10018419
push edx
lea ecx, [ebp - 0x44]
call fcn.100159d0
mov dword [ebp - 0x18], 0xd76d
xor esi, esi
mov dword [ebp - 0x24], 0x7c4177fd
inc esi
mov dword [ebp - 0x28], 0x18da91e5
mov dword [ebp - 0x20], ebx
jmp 0x10018333
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x44]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x10018327
mov eax, dword [ebp - 0x14]
mov ecx, 0xa9413e45
cmp ecx, eax
mov eax, dword [ebp - 0x14]
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setg cl
cmp ecx, 0x1982
je 0x10018360
mov eax, dword [ebp - 0x44]
cmp dword [eax], ebx
mov eax, ebx
jne 0x10018362
mov eax, esi
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
neg ecx
mov edx, dword [ebp - 0x44]
sbb ecx, ecx
neg ecx
add eax, ecx
xor ecx, ecx
cmp eax, dword [edx]
setne cl
sub ecx, 0x2b83
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, 0xfffa
jne 0x1001839c
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x44]
mov eax, dword [edx]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
neg eax
sbb eax, eax
xor ecx, ecx
neg eax
mov dword [ebp - 0x1d8], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x44]
imul edx, dword [eax]
mov eax, dword [ebp - 0x14]
cmp edx, eax
mov eax, 0x975a1448
sete cl
cmp eax, ecx
sbb eax, eax
inc eax
imul eax, dword [ebp - 0x14]
test eax, eax
je 0x100183f1
mov ecx, esi
cmp dword [ebp - 0x14], ebx
jne 0x100183f3
mov ecx, ebx
xor eax, eax
cmp ecx, 0x32ca
lea ecx, [ebp - 0x44]
sete al
mov dword [ebp - 0x28], eax
call fcn.10015a52
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffef
push 1
pop edx
jle 0x10018301
mov dword [ebp - 0x18], 0x1a049fe3
mov dword [ebp - 0x14], 0x6b5b3847
mov dword [ebp - 0x24], 0xd2ae857b
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x18], ebx
jmp 0x100184da
mov dword [ebp - 0x24], 0x8d9dcee3
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], 0xffffffff
mov eax, dword [ebp - 0x18]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp eax, ecx
mov eax, dword [ebp - 0x18]
setge dl
xor ecx, ecx
cmp ecx, eax
sbb ecx, ecx
xor eax, eax
neg ecx
imul ecx, dword [ebp - 0x20]
cmp edx, ecx
setle al
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x18]
je 0x1001847b
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
mov ecx, 0x80c6548a
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, 0x56411d7f
setg cl
inc ecx
neg ecx
sbb ecx, ecx
add ecx, 0xffff00b5
neg ecx
sbb ecx, ecx
inc ecx
imul eax, ecx, 0xd732
test eax, eax
jne 0x100184bf
cmp dword [ebp - 0x14], ebx
jne 0x100184bf
xor edx, edx
mov eax, ebx
inc edx
jmp 0x100184c4
xor edx, edx
inc edx
mov eax, edx
mov dword [ebp - 0x24], eax
xor ecx, ecx
mov eax, dword [ebp - 0x24]
cmp eax, 0x9495
setl cl
mov dword [ebp - 0x28], ecx
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jle 0x10018439
mov byte [ebp - 0x2d], bl
lea ecx, [ebp - 0x108]
push 4
call fcn.100159d0
push 4
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 6
call fcn.100159d0
push 3
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 7
call fcn.100159d0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x150]
mov dword [ebp - 0x28], 0x1d319d7f
push 3
call fcn.100159d0
mov byte [ebp - 4], 9
mov dword [ebp - 0x2c], 0xffffffff
push 4
mov dword [ebp - 0x2c], 0xff73
mov dword [ebp - 0x14], ebx
pop edx
jmp 0x10018556
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x108]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x10018547
mov dword [ebp - 0x14], ebx
jmp 0x10018570
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xb4]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x10018560
push 3
mov dword [ebp - 0x14], ebx
pop edx
jmp 0x10018590
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xa8]
mov dword [eax + ecx*4], 0xe1d4595a
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1001857d
mov dword [ebp - 0x14], ebx
jmp 0x100185ad
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x150]
mov dword [eax + ecx*4], 0xc454
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1001859a
mov esi, dword [ebp - 0xb4]
mov dword [ebp - 0x2c], esi
mov dword [esi + 8], edx
mov dword [ebp - 0x14], 0xb8c3ad3b
mov dword [ebp - 0x58], 0x6b93dced
mov dword [ebp - 0x20], ebx
jmp 0x100185e2
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x138], 0x874acc01
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edx
jl 0x100185d1
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], edx
jg 0x1001873e
mov ecx, dword [ebp - 0x108]
mov edi, dword [ebp - 0xa8]
mov esi, dword [ebp - 0xb4]
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x18], 0xcf9e8bfa
mov dword [ebp - 0x20], ebx
jmp 0x10018625
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xf0], 1
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edx
jl 0x10018614
mov eax, dword [ebp - 0x14]
mov edx, 0xcc5c6a3f
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x14]
cmp edx, eax
sbb eax, eax
xor edx, edx
inc eax
inc edx
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x134], edx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
cmp dword [ecx + 0xc], 0xfffffffc
mov eax, dword [esi + 4]
mov dword [ebp - 0xe8], eax
jg 0x100186ae
mov dword [ebp - 0x24], 0xfffffffd
mov dword [ebp - 0x20], 0xb2de47e5
mov dword [ebp - 0xe8], 0xffffffff
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x24]
inc dword [ebp - 0x24]
push 3
mov dword [ebp - 0x130], edx
pop edx
jmp 0x1001872c
mov dword [ebp - 0x24], 0x845
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x100186c7
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAdjustment]
mov dword [ebp - 0x18], ebx
jmp 0x10018724
push dword [ebp - 0x84]
movdqa xmm0, xmmword [0x10007ce0]
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp - 0x170]
mov dword [ebp - 0x80], ebx
push eax
push ebx
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x7c], ebx
movdqu xmmword [ebp - 0x170], xmm0
mov dword [ebp - 0x78], ebx
call fcn.1001709d
mov dword [ebp - 0x24], 1
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xa8]
sub ecx, dword [eax]
mov eax, dword [ebp - 0x80]
mov dword [eax], ecx
lea ecx, [ebp - 0x80]
call fcn.10015a52
inc dword [ebp - 0x18]
push 3
pop edx
cmp dword [ebp - 0x18], edx
jle 0x100186cc
inc dword [ebp - 0x14]
mov ecx, dword [ebp - 0x60]
cmp dword [ebp - 0x14], edx
jle 0x10018608
dec dword [esi + 8]
jns 0x100185be
mov dword [ebp - 0x28], 0xffffffff
lea ecx, [ebp - 0x150]
call fcn.10015a52
lea ecx, [ebp - 0xa8]
call fcn.10015a52
lea ecx, [ebp - 0xb4]
call fcn.10015a52
lea ecx, [ebp - 0x108]
call fcn.10015a52
cmp byte [ebp - 0x2d], 0
je 0x10018797
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_CreateEnhMetaFileW]
lea ecx, [ebp - 0x120]
call fcn.10015a52
lea ecx, [ebp - 0x90]
call fcn.10015a52
lea ecx, [ebp - 0xcc]
call fcn.10015a52
mov eax, dword [ebp - 0x34]
cmp byte [eax], 0
je 0x100187d7
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_CreateEnhMetaFileW]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret