Function at 0x4059b0
Capabilities:
Create process on windows
Delete registry value
Enumerate gui resources
Set environment variable

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4705d7
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x1c0
mov eax, dword [0x4d100c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov byte [ebp - 0x15d], dl
mov eax, ecx
mov dword [ebp - 0x16c], eax
mov dword [ebp - 0x164], 0
xorps xmm0, xmm0
cmp dword [0x4d1bac], 0
movlpd qword [ebp - 0x1cc], xmm0
movlpd qword [ebp - 0x1c4], xmm0
movlpd qword [ebp - 0x1bc], xmm0
movlpd qword [ebp - 0x1b4], xmm0
movlpd qword [ebp - 0x1ac], xmm0
movlpd qword [ebp - 0x1a4], xmm0
movlpd qword [ebp - 0x19c], xmm0
movlpd qword [ebp - 0x194], xmm0
movups xmmword [ebp - 0x184], xmm0
mov dword [ebp - 0x1d0], 0x44
jne 0x405a79
mov edx, eax
lea ecx, [ebp - 0x44]
call fcn.00403ba0
mov ecx, eax
mov eax, 1
jmp 0x405a8d
push 0x4d1b9c
lea ecx, [ebp - 0x2c]
call fcn.00411780
mov ecx, eax
mov eax, 2
mov dword [ebp - 0x8c], 0
xor edx, edx
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0
movups xmm0, xmmword [ecx]
mov dword [ebp - 0x174], eax
movups xmmword [ebp - 0x8c], xmm0
movq xmm0, qword [ecx + 0x10]
movq qword [ebp - 0x7c], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
mov word [ecx], dx
mov dword [ebp - 4], 1
test al, 2
je 0x405b3a
mov edx, dword [ebp - 0x18]
and eax, 0xfffffffd
mov dword [ebp - 0x174], eax
cmp edx, 8
jb 0x405b26
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x405b16
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407661
push edx
push ecx
call fcn.00451449
mov eax, dword [ebp - 0x174]
add esp, 8
xor ecx, ecx
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], cx
mov byte [ebp - 4], 2
test al, 1
je 0x405b99
mov edx, dword [ebp - 0x30]
and eax, 0xfffffffe
mov dword [ebp - 0x174], eax
cmp edx, 8
jb 0x405b85
mov ecx, dword [ebp - 0x44]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x405b7b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407661
push edx
push ecx
call fcn.00451449
add esp, 8
xor eax, eax
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 7
mov word [ebp - 0x44], ax
mov ecx, dword [ebp - 0x7c]
mov dword [ebp - 0x164], 0x22
cmp ecx, 0x7ffffffe
je 0x407666
cmp dword [ebp - 0x78], 8
lea eax, [ebp - 0x8c]
push ecx
cmovae eax, dword [ebp - 0x8c]
push eax
push 1
lea eax, [ebp - 0x164]
push eax
push ecx
push dword [ebp - 0x16c]
lea ecx, [ebp - 0x5c]
call fcn.00413db0
mov edi, dword [ebp - 0x174]
or edi, 4
push 0x22
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 3
call fcn.00411a20
movups xmm0, xmmword [ebp - 0x5c]
or edi, 8
movups xmmword [ebp - 0x14c], xmm0
movq xmm0, qword [ebp - 0x4c]
movq qword [ebp - 0x13c], xmm0
mov byte [ebp - 4], 5
lea eax, [ebp - 0x8c]
cmp dword [ebp - 0x78], 8
mov esi, dword [sym.imp.SHLWAPI.dll_SHDeleteValueW]
cmovae eax, dword [ebp - 0x8c]
push eax
push str.SoftwareMicrosoftWindows_NTCurrentVersionAppCompatFlagsLayers
push 0x80000001
call esi
cmp dword [ebp - 0x78], 8
lea eax, [ebp - 0x8c]
cmovae eax, dword [ebp - 0x8c]
push eax
push str.SoftwareMicrosoftWindows_NTCurrentVersionAppCompatFlagsLayers
push 0x80000002
call esi
push 0
push str.__COMPAT_LAYER
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
cmp dword [0x4d1bac], 0
jne 0x405c72
mov cl, 1
call fcn.004058c0
cmp dword [0x4d1ad8], 8
lea ecx, [ebp - 0x14c]
push dword [0x4d1ad4]
mov eax, 0x4d1ac4
cmovae eax, dword [0x4d1ac4]
push eax
call fcn.00412220
xor esi, esi
nop dword [eax]
cmp byte [esi + 0x4d3200], 0
je 0x405ce0
mov edx, dword [esi*4 + 0x495864]
test edx, edx
je 0x405ce0
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x164], eax
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x405cc0
sub ecx, dword [ebp - 0x164]
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x14c]
call fcn.00412220
inc esi
cmp esi, 3
jb 0x405ca0
lea eax, [ebp - 0x14c]
push eax
lea ecx, [ebp - 0x74]
call fcn.00411780
mov byte [ebp - 4], 6
mov edx, 0x7ffffffe
cmp byte [0x4d3330], 0
je 0x406d1f
cmp byte [0x4d332b], 0
je 0x405d23
push 8
push str.__silent
lea ecx, [ebp - 0x74]
call fcn.00412220
mov esi, dword [0x4d3358]
test esi, esi
je 0x405e80
cmp word [esi], 0
je 0x405e80
push 9
xor eax, eax
mov dword [ebp - 0xbc], 0
push str.__branch
lea ecx, [ebp - 0xbc]
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 7
mov word [ebp - 0xbc], ax
call fcn.00411b40
mov ecx, esi
mov byte [ebp - 4], 7
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x405d80
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0xbc]
call fcn.00412220
xor ecx, ecx
or edi, 0x10
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
movups xmmword [ebp - 0x2c], xmm1
mov dword [eax + 0x10], 0
movq qword [ebp - 0x1c], xmm0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x2c]
cmp dword [ebp - 0x18], 8
push dword [ebp - 0x1c]
movd eax, xmm1
cmovae ecx, eax
push ecx
lea ecx, [ebp - 0x74]
call fcn.00412220
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x405e1f
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x405e15
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40766b
push edx
push ecx
call fcn.00451449
add esp, 8
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0xa8]
cmp edx, 8
jb 0x405e63
mov ecx, dword [ebp - 0xbc]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x405e59
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40766b
push edx
push ecx
call fcn.00451449
add esp, 8
xor eax, eax
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 7
mov word [ebp - 0xbc], ax
mov esi, dword [0x4d31fc]
test esi, esi
je 0x405fe0
cmp word [esi], 0
je 0x405fe0
push 0xa
xor eax, eax
mov dword [ebp - 0xd4], 0
push str.__version
lea ecx, [ebp - 0xd4]
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], 7
mov word [ebp - 0xd4], ax
call fcn.00411b40
mov ecx, esi
mov byte [ebp - 4], 9
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x405ee0
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0xd4]
call fcn.00412220
xor ecx, ecx
or edi, 0x20
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
movups xmmword [ebp - 0x2c], xmm1
mov dword [eax + 0x10], 0
movq qword [ebp - 0x1c], xmm0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x2c]
cmp dword [ebp - 0x18], 8
push dword [ebp - 0x1c]
movd eax, xmm1
cmovae ecx, eax
push ecx
lea ecx, [ebp - 0x74]
call fcn.00412220
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x405f7f
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x405f75
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407670
push edx
push ecx
call fcn.00451449
add esp, 8
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0xc0]
cmp edx, 8
jb 0x405fc3
mov ecx, dword [ebp - 0xd4]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x405fb9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407670
push edx
push ecx
call fcn.00451449
add esp, 8
xor eax, eax
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], 7
mov word [ebp - 0xd4], ax
mov esi, dword [0x4d31e8]
test esi, esi
je 0x406140
cmp word [esi], 0
je 0x406140
push 0xa
xor eax, eax
mov dword [ebp - 0xec], 0
push str.__xmlhash
lea ecx, [ebp - 0xec]
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xd8], 7
mov word [ebp - 0xec], ax
call fcn.00411b40
mov ecx, esi
mov byte [ebp - 4], 0xb
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x406040
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0xec]
call fcn.00412220
xor ecx, ecx
or edi, 0x40
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
movups xmmword [ebp - 0x2c], xmm1
mov dword [eax + 0x10], 0
movq qword [ebp - 0x1c], xmm0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x2c]
cmp dword [ebp - 0x18], 8
push dword [ebp - 0x1c]
movd eax, xmm1
cmovae ecx, eax
push ecx
lea ecx, [ebp - 0x74]
call fcn.00412220
mov byte [ebp - 4], 0xb
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x4060df
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4060d5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407675
push edx
push ecx
call fcn.00451449
add esp, 8
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0xd8]
cmp edx, 8
jb 0x406123
mov ecx, dword [ebp - 0xec]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x406119
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407675
push edx
push ecx
call fcn.00451449
add esp, 8
xor eax, eax
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xd8], 7
mov word [ebp - 0xec], ax
mov esi, dword [0x4d2fd8]
test esi, esi
je 0x4062a3
cmp word [esi], 0
je 0x4062a3
push 7
xor eax, eax
mov dword [ebp - 0x104], 0
push str.__host
lea ecx, [ebp - 0x104]
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xf0], 7
mov word [ebp - 0x104], ax
call fcn.00411b40
mov ecx, esi
mov byte [ebp - 4], 0xd
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4061a0
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x104]
call fcn.00412220
xor ecx, ecx
or edi, 0x80
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
movups xmmword [ebp - 0x2c], xmm1
mov dword [eax + 0x10], 0
movq qword [ebp - 0x1c], xmm0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x2c]
cmp dword [ebp - 0x18], 8
push dword [ebp - 0x1c]
movd eax, xmm1
cmovae ecx, eax
push ecx
lea ecx, [ebp - 0x74]
call fcn.00412220
mov byte [ebp - 4], 0xd
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x406242
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x406238
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40767a
push edx
push ecx
call fcn.00451449
add esp, 8
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0xf0]
cmp edx, 8
jb 0x406286
mov ecx, dword [ebp - 0x104]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40627c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40767a
push edx
push ecx
call fcn.00451449
add esp, 8
xor eax, eax
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xf0], 7
mov word [ebp - 0x104], ax
mov esi, dword [0x4d2fd0]
test esi, esi
je 0x406403
cmp word [esi], 0
je 0x406403
push 5
xor eax, eax
mov dword [ebp - 0x11c], 0
push str.__os
lea ecx, [ebp - 0x11c]
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0x108], 7
mov word [ebp - 0x11c], ax
call fcn.00411b40
mov ecx, esi
mov byte [ebp - 4], 0xf
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x406300
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x11c]
call fcn.00412220
xor ecx, ecx
or edi, 0x100
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
movups xmmword [ebp - 0x2c], xmm1
mov dword [eax + 0x10], 0
movq qword [ebp - 0x1c], xmm0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x2c]
cmp dword [ebp - 0x18], 8
push dword [ebp - 0x1c]
movd eax, xmm1
cmovae ecx, eax
push ecx
lea ecx, [ebp - 0x74]
call fcn.00412220
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x4063a2
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x406398
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40767f
push edx
push ecx
call fcn.00451449
add esp, 8
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x108]
cmp edx, 8
jb 0x4063e6
mov ecx, dword [ebp - 0x11c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4063dc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40767f
push edx
push ecx
call fcn.00451449
add esp, 8
xor eax, eax
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0x108], 7
mov word [ebp - 0x11c], ax
mov eax, dword [0x4d2edc]
mov esi, dword [0x4d2ed8]
mov dword [ebp - 0x164], eax
cmp esi, eax
je 0x4065a6
nop dword [eax]
push 9
xor eax, eax
mov dword [ebp - 0x134], 0
push str.__param__
lea ecx, [ebp - 0x134]
mov dword [ebp - 0x124], 0
mov dword [ebp - 0x120], 7
mov word [ebp - 0x134], ax
call fcn.00411b40
mov byte [ebp - 4], 0x11
mov eax, esi
cmp dword [esi + 0x14], 8
jb 0x406467
mov eax, dword [esi]
push dword [esi + 0x10]
lea ecx, [ebp - 0x134]
push eax
call fcn.00412220
xor ecx, ecx
or edi, 0x200
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x44], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x34], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
push 0x22
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x12
call fcn.00411a20
movups xmm1, xmmword [ebp - 0x44]
xor eax, eax
or edi, 0x400
movq xmm0, qword [ebp - 0x34]
movups xmmword [ebp - 0x2c], xmm1
mov dword [ebp - 0x34], 0
movq qword [ebp - 0x1c], xmm0
mov dword [ebp - 0x30], 7
mov word [ebp - 0x44], ax
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x2c]
cmp dword [ebp - 0x18], 8
push dword [ebp - 0x1c]
movd eax, xmm1
cmovae ecx, eax
push ecx
lea ecx, [ebp - 0x74]
call fcn.00412220
mov byte [ebp - 4], 0x12
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x406536
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40652c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407661
push edx
push ecx
call fcn.00451449
add esp, 8
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x120]
cmp edx, 8
jb 0x40657a
mov ecx, dword [ebp - 0x134]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x406570
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407661
push edx
push ecx
call fcn.00451449
add esp, 8
xor eax, eax
mov dword [ebp - 0x124], 0
add esi, 0x18
mov dword [ebp - 0x120], 7
mov word [ebp - 0x134], ax
cmp esi, dword [ebp - 0x164]
jne 0x406420
cmp byte [0x4d332b], 0
jne 0x406be2
mov eax, dword [0x4d3310]
push dword [eax + 0x10]
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x406be2
lea eax, [ebp - 0x15c]
push eax
mov eax, dword [0x4d3310]
push dword [eax + 0x10]
call dword [sym.imp.USER32.dll_GetWindowRect]
mov edx, dword [ebp - 0x15c]
lea ecx, [ebp - 0x5c]
call fcn.004016f0
mov esi, eax
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x44]
push 7
xor eax, eax
mov dword [ebp - 0x44], 0
push str.__xpos
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 7
mov word [ebp - 0x44], ax
call fcn.00411b40
push esi
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x15
push eax
push dword [ebp - 0x16c]
lea ecx, [ebp - 0x2c]
call fcn.00413c00
or edi, 0x800
mov byte [ebp - 4], 0x16
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x18], 8
lea ecx, [ebp - 0x74]
push dword [ebp - 0x1c]
cmovae eax, dword [ebp - 0x2c]
push eax
call fcn.00412220
mov byte [ebp - 4], 0x15
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x406692
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x406688
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407684
push edx
push ecx
call fcn.00451449
add esp, 8
mov byte [ebp - 4], 0x14
mov edx, dword [ebp - 0x30]
cmp edx, 8
jb 0x4066d0
mov ecx, dword [ebp - 0x44]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4066c6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407684
push edx
push ecx
call fcn.00451449
add esp, 8
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x48]
cmp edx, 8
jb 0x40670e
mov ecx, dword [ebp - 0x5c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x406704
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407684
push edx
push ecx
call fcn.00451449
add esp, 8
mov edx, dword [ebp - 0x158]
lea ecx, [ebp - 0x5c]
call fcn.004016f0
mov esi, eax
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x44]
push 7
xor eax, eax
mov dword [ebp - 0x44], 0
push str.__ypos
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 7
mov word [ebp - 0x44], ax
call fcn.00411b40
push esi
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x18
push eax
push dword [ebp - 0x16c]
lea ecx, [ebp - 0x2c]
call fcn.00413c00
or edi, 0x1000
mov byte [ebp - 4], 0x19
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x18], 8
lea ecx, [ebp - 0x74]
push dword [ebp - 0x1c]
cmovae eax, dword [ebp - 0x2c]
push eax
call fcn.00412220
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x4067c2
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4067b8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407689
push edx
push ecx
call fcn.00451449
add esp, 8
mov byte [ebp - 4], 0x17
mov edx, dword [ebp - 0x30]
cmp edx, 8
jb 0x406800
mov ecx, dword [ebp - 0x44]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4067f6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407689
push edx
push ecx
call fcn.00451449
add esp, 8
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x48]
cmp edx, 8
jb 0x40683e
mov ecx, dword [ebp - 0x5c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x406834
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407689
push edx
push ecx
call fcn.00451449
add esp, 8
mov edx, dword [ebp - 0x154]
lea ecx, [ebp - 0x5c]
sub edx, dword [ebp - 0x15c]
call fcn.004016f0
mov esi, eax
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x44]
push 8
xor eax, eax
mov dword [ebp - 0x44], 0
push str.__width
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 7
mov word [ebp - 0x44], ax
call fcn.00411b40
push esi
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x1b
push eax
push dword [ebp - 0x16c]
lea ecx, [ebp - 0x2c]
call fcn.00413c00
or edi, 0x2000
mov byte [ebp - 4], 0x1c
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x18], 8
lea ecx, [ebp - 0x74]
push dword [ebp - 0x1c]
cmovae eax, dword [ebp - 0x2c]
push eax
call fcn.00412220
mov byte [ebp - 4], 0x1b
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x4068f8
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4068ee
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40768e
push edx
push ecx
call fcn.00451449
add esp, 8
mov byte [ebp - 4], 0x1a
mov edx, dword [ebp - 0x30]
cmp edx, 8
jb 0x406936
mov ecx, dword [ebp - 0x44]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40692c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40768e
push edx
push ecx
call fcn.00451449
add esp, 8
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x48]
cmp edx, 8
jb 0x406974
mov ecx, dword [ebp - 0x5c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40696a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40768e
push edx
push ecx
call fcn.00451449
add esp, 8
mov edx, dword [ebp - 0x150]
lea ecx, [ebp - 0x5c]
sub edx, dword [ebp - 0x158]
call fcn.004016f0
mov esi, eax
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x44]
push 9
xor eax, eax
mov dword [ebp - 0x44], 0
push str.__height
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 7
mov word [ebp - 0x44], ax
call fcn.00411b40
push esi
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x1e
push eax
push dword [ebp - 0x16c]
lea ecx, [ebp - 0x2c]
call fcn.00413c00
or edi, 0x4000
mov byte [ebp - 4], 0x1f
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x18], 8
lea ecx, [ebp - 0x74]
push dword [ebp - 0x1c]
cmovae eax, dword [ebp - 0x2c]
push eax
call fcn.00412220
mov byte [ebp - 4], 0x1e
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x406a2e
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x406a24
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407693
push edx
push ecx
call fcn.00451449
add esp, 8
mov byte [ebp - 4], 0x1d
mov edx, dword [ebp - 0x30]
cmp edx, 8
jb 0x406a6c
mov ecx, dword [ebp - 0x44]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x406a62
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407693
push edx
push ecx
call fcn.00451449
add esp, 8
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x48]
cmp edx, 8
jb 0x406aaa
mov ecx, dword [ebp - 0x5c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x406aa0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407693
push edx
push ecx
call fcn.00451449
add esp, 8
cmp byte [0x4d1a5c], 0
lea ecx, [ebp - 0x5c]
mov eax, 0x494b88
mov dword [ebp - 0x5c], 0
mov esi, 0x494b84
mov dword [ebp - 0x4c], 0
cmove esi, eax
mov dword [ebp - 0x48], 7
push 0xc
xor eax, eax
push 0x494b8c
mov word [ebp - 0x5c], ax
call fcn.00411b40
mov ecx, esi
mov byte [ebp - 4], 0x20
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x406af1
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x5c]
call fcn.00412220
xor ecx, ecx
or edi, 0x8000
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
movups xmmword [ebp - 0x2c], xmm1
mov dword [eax + 0x10], 0
movq qword [ebp - 0x1c], xmm0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x2c]
cmp dword [ebp - 0x18], 8
push dword [ebp - 0x1c]
movd eax, xmm1
cmovae ecx, eax
push ecx
lea ecx, [ebp - 0x74]
call fcn.00412220
mov byte [ebp - 4], 0x20
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x406b90
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x406b86
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407698
push edx
push ecx
call fcn.00451449
add esp, 8
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x48]
cmp edx, 8
jb 0x406bce
mov ecx, dword [ebp - 0x5c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x406bc4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407698
push edx
push ecx
call fcn.00451449
add esp, 8
xor eax, eax
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 7
mov word [ebp - 0x5c], ax
mov edx, 0x7ffffffe
mov eax, dword [0x4d2ecc]
mov esi, dword [0x4d2ec8]
mov dword [ebp - 0x164], eax
cmp esi, eax
je 0x406ce4
mov ecx, dword [esi + 0x10]
sub edx, ecx
cmp edx, 2
jb 0x40769d
cmp dword [esi + 0x14], 8
mov eax, esi
jb 0x406c18
mov eax, dword [esi]
push ecx
push eax
push 2
push 0x494ba8
push ecx
push dword [ebp - 0x16c]
lea ecx, [ebp - 0x2c]
call fcn.00413db0
or edi, 0x40000
push 0x22
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x24
call fcn.00411a20
movups xmm1, xmmword [ebp - 0x2c]
xor eax, eax
or edi, 0x80000
movq xmm0, qword [ebp - 0x1c]
movups xmmword [ebp - 0x44], xmm1
mov dword [ebp - 0x1c], 0
movq qword [ebp - 0x34], xmm0
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], ax
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x44]
cmp dword [ebp - 0x30], 8
push dword [ebp - 0x34]
movd eax, xmm1
cmovae ecx, eax
push ecx
lea ecx, [ebp - 0x74]
call fcn.00412220
mov byte [ebp - 4], 0x24
mov edx, dword [ebp - 0x30]
cmp edx, 8
jb 0x406ccc
mov ecx, dword [ebp - 0x44]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x406cc2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4076a2
push edx
push ecx
call fcn.00451449
add esp, 8
add esi, 0x18
mov byte [ebp - 4], 6
mov edx, 0x7ffffffe
cmp esi, dword [ebp - 0x164]
jne 0x406c00
cmp byte [0x4d3332], 0
je 0x406cfc
push 9
push str.__startup
lea ecx, [ebp - 0x74]
call fcn.00412220
mov ecx, dword [0x4d1a8c]
test ecx, ecx
je 0x406ea5
mov eax, 0x7ffffffe
sub eax, ecx
cmp eax, 0xc
jb 0x40769d
jmp 0x406e21
mov eax, dword [0x4d2edc]
mov esi, dword [0x4d2ed8]
mov dword [ebp - 0x164], eax
cmp esi, eax
je 0x406be7
mov ecx, dword [esi + 0x10]
sub edx, ecx
cmp edx, 2
jb 0x40769d
cmp dword [esi + 0x14], 8
mov eax, esi
jb 0x406d50
mov eax, dword [esi]
push ecx
push eax
push 2
push 0x494ba8
push ecx
push dword [ebp - 0x16c]
lea ecx, [ebp - 0x2c]
call fcn.00413db0
or edi, 0x10000
push 0x22
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x22
call fcn.00411a20
movups xmm1, xmmword [ebp - 0x2c]
xor eax, eax
or edi, 0x20000
movq xmm0, qword [ebp - 0x1c]
movups xmmword [ebp - 0x44], xmm1
mov dword [ebp - 0x1c], 0
movq qword [ebp - 0x34], xmm0
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], ax
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x44]
cmp dword [ebp - 0x30], 8
push dword [ebp - 0x34]
movd eax, xmm1
cmovae ecx, eax
push ecx
lea ecx, [ebp - 0x74]
call fcn.00412220
mov byte [ebp - 4], 0x22
mov edx, dword [ebp - 0x30]
cmp edx, 8
jb 0x406e04
mov ecx, dword [ebp - 0x44]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x406dfa
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4076a2
push edx
push ecx
call fcn.00451449
add esp, 8
add esi, 0x18
mov byte [ebp - 4], 6
mov edx, 0x7ffffffe
cmp esi, dword [ebp - 0x164]
jne 0x406d38
jmp 0x406be7
cmp dword [0x4d1a90], 8
mov eax, 0x4d1a7c
push ecx
cmovae eax, dword [0x4d1a7c]
push eax
push 0xc
push str.__launch_id
push ecx
push dword [ebp - 0x16c]
lea ecx, [ebp - 0x2c]
call fcn.00413db0
mov byte [ebp - 4], 0x26
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x18], 8
lea ecx, [ebp - 0x74]
push dword [ebp - 0x1c]
cmovae eax, dword [ebp - 0x2c]
push eax
call fcn.00412220
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x406ea5
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x406e9b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4076a2
push edx
push ecx
call fcn.00451449
add esp, 8
cmp byte [0x4d31ec], 0
je 0x406eb7
push 9
push str.__updated
jmp 0x406ec7
cmp byte [0x4d2ed5], 0
je 0x406ecf
push 0xa
push str.__repaired
lea ecx, [ebp - 0x74]
call fcn.00412220
mov esi, dword [0x4d3314]
test esi, esi
je 0x40700b
cmp word [esi], 0
je 0x40700b
push 0xa
xor eax, eax
mov dword [ebp - 0x44], 0
push str.__migrate
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 7
mov word [ebp - 0x44], ax
call fcn.00411b40
mov ecx, esi
mov byte [ebp - 4], 0x27
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x406f20
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x44]
call fcn.00412220
xor ecx, ecx
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
movups xmmword [ebp - 0x2c], xmm1
mov dword [eax + 0x10], 0
movq qword [ebp - 0x1c], xmm0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x2c]
cmp dword [ebp - 0x18], 8
push dword [ebp - 0x1c]
movd eax, xmm1
cmovae ecx, eax
push ecx
lea ecx, [ebp - 0x74]
call fcn.00412220
mov byte [ebp - 4], 0x27
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x406fb9
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x406faf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4076a7
push edx
push ecx
call fcn.00451449
add esp, 8
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x30]
cmp edx, 8
jb 0x406ff7
mov ecx, dword [ebp - 0x44]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x406fed
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4076a7
push edx
push ecx
call fcn.00451449
add esp, 8
xor eax, eax
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 7
mov word [ebp - 0x44], ax
mov esi, dword [0x4d3324]
test esi, esi
je 0x40712d
cmp word [esi], 0
je 0x40712d
push 0xb
xor eax, eax
mov dword [ebp - 0x2c], 0
push str.__migrated
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], ax
call fcn.00411b40
mov ecx, esi
mov byte [ebp - 4], 0x29
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x407056
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x2c]
call fcn.00412220
xor ecx, ecx
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
movups xmmword [ebp - 0x44], xmm1
mov dword [eax + 0x10], 0
movq qword [ebp - 0x34], xmm0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x44]
cmp dword [ebp - 0x30], 8
push dword [ebp - 0x34]
movd eax, xmm1
cmovae ecx, eax
push ecx
lea ecx, [ebp - 0x74]
call fcn.00412220
mov byte [ebp - 4], 0x29
mov edx, dword [ebp - 0x30]
cmp edx, 8
jb 0x4070ef
mov ecx, dword [ebp - 0x44]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4070e5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4076ac
push edx
push ecx
call fcn.00451449
add esp, 8
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x40712d
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x407123
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4076ac
push edx
push ecx
call fcn.00451449
add esp, 8
cmp byte [0x4d31ee], 0
je 0x407145
push 0xc
push str.__background
lea ecx, [ebp - 0x74]
call fcn.00412220
mov eax, dword [0x4d1b94]
test eax, eax
je 0x4072a5
cmp dword [0x4d1b98], 0x10
lea ecx, [ebp - 0x5c]
mov edx, 0x4d1b84
cmovae edx, dword [0x4d1b84]
push eax
call fcn.00419770
add esp, 4
mov byte [ebp - 4], 0x2b
cmp dword [eax + 0x14], 0x10
jb 0x40717d
mov eax, dword [eax]
mov edx, eax
lea ecx, [ebp - 0x44]
call fcn.00417b40
push 9
push str.__update
push ecx
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x2c
call fcn.00413fc0
xor ecx, ecx
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
movups xmmword [ebp - 0x2c], xmm1
mov dword [eax + 0x10], 0
movq qword [ebp - 0x1c], xmm0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x2c]
cmp dword [ebp - 0x18], 8
push dword [ebp - 0x1c]
movd eax, xmm1
cmovae ecx, eax
push ecx
lea ecx, [ebp - 0x74]
call fcn.00412220
mov byte [ebp - 4], 0x2c
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x40721b
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x407211
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4076b1
push edx
push ecx
call fcn.00451449
add esp, 8
mov byte [ebp - 4], 0x2b
mov edx, dword [ebp - 0x30]
cmp edx, 8
jb 0x407259
mov ecx, dword [ebp - 0x44]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40724f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4076b1
push edx
push ecx
call fcn.00451449
add esp, 8
xor eax, eax
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 7
mov word [ebp - 0x44], ax
cmp edx, 0x10
jb 0x4072a5
mov ecx, dword [ebp - 0x5c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40729b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4076b1
push edx
push ecx
call fcn.00451449
add esp, 8
call fcn.0041e170
sub esp, 0x18
mov edi, eax
mov ecx, esp
mov esi, edx
push 0xe
push str.electronLaunch
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
call fcn.00411c40
push esi
push edi
xor ecx, ecx
call fcn.00402f90
add esp, 0x20
lea ecx, [ebp - 0x5c]
call fcn.00403210
mov byte [ebp - 4], 0x2e
mov eax, dword [0x4d1b1c]
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0xf
lea ecx, [eax - 1]
mov byte [ebp - 0xa4], 0
cmp eax, ecx
cmovb ecx, eax
cmp dword [0x4d1b20], 0x10
mov eax, 0x4d1b0c
cmovae eax, dword [0x4d1b0c]
push ecx
push eax
lea ecx, [ebp - 0xa4]
call fcn.00411c40
mov byte [ebp - 4], 0x2f
cmp dword [ebp - 0x94], 1
jbe 0x40735a
push 0x494c4c
lea ecx, [ebp - 0xa4]
call fcn.00411d70
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp - 0xa4]
call fcn.00411de0
push 0x494c50
lea ecx, [ebp - 0xa4]
call fcn.00411d70
cmp dword [ebp - 0x90], 0x10
lea edx, [ebp - 0xa4]
push dword [ebp - 0x94]
cmovae edx, dword [ebp - 0xa4]
lea ecx, [ebp - 0x2c]
call fcn.00419770
add esp, 4
mov byte [ebp - 4], 0x30
cmp dword [eax + 0x14], 0x10
jb 0x4073aa
mov eax, dword [eax]
mov edx, eax
lea ecx, [ebp - 0x44]
call fcn.00417b40
mov byte [ebp - 4], 0x32
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x4073ec
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4073e2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4076b6
push edx
push ecx
call fcn.00451449
add esp, 8
push 0xa
push 0x494c54
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.00412220
cmp dword [ebp - 0x30], 8
lea eax, [ebp - 0x44]
push dword [ebp - 0x34]
cmovae eax, dword [ebp - 0x44]
lea ecx, [ebp - 0x74]
push eax
call fcn.00412220
cmp byte [0x4d332a], 0
je 0x407454
push str._____
lea ecx, [ebp - 0x74]
call fcn.00411590
push 0x4d1b6c
lea ecx, [ebp - 0x74]
call fcn.004115c0
push 0x494c78
lea ecx, [ebp - 0x74]
call fcn.00411590
lea eax, [ebp - 0x74]
mov ecx, 0x4d1adc
push eax
call fcn.00411610
mov ecx, 0x4d1adc
call fcn.00411580
push eax
call fcn.0045476b
add esp, 4
lea ecx, [ebp - 0x184]
push ecx
lea ecx, [ebp - 0x1d0]
push ecx
push dword [ebp - 0x16c]
push 0
push 0
push 0
push 0
push 0
push eax
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
jne 0x4074e4
xorps xmm0, xmm0
mov byte [0x4d3329], al
movups xmmword [0x4d3300], xmm0
mov dword [0x4d2eac], 0x17
mov dword [0x4d1a44], 0x4946b4
mov dword [0x4d2eb0], 0x3d6
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x4d2ea8], eax
mov byte [ebp - 0x15d], 0
jmp 0x407604
cmp byte [ebp - 0x15d], 0
je 0x4075fd
movups xmm0, xmmword [ebp - 0x184]
push 0x4041c0
push str.MonitorThread
lea ecx, [ebp - 0x15c]
mov byte [0x4d1a60], 0
movups xmmword [0x4d3300], xmm0
mov byte [0x4d3329], 0
call fcn.00412f80
lea ecx, [ebp - 0x15c]
call fcn.00419240
sub esp, 8
lea ecx, [ebp - 0x15c]
call fcn.00412fe0
lea ecx, [ebp - 0x15c]
call fcn.00419240
mov eax, dword [0x4d3310]
push 0
push 0
push dword [eax + 0x10]
call dword [sym.imp.USER32.dll_InvalidateRect]
call fcn.00418790
movsd qword [ebp - 0x168], xmm0
call fcn.00418790
subsd xmm0, qword [ebp - 0x168]
movsd xmm1, qword [0x4ca130]
comisd xmm1, xmm0
jbe 0x4075fd
mov esi, dword [sym.imp.USER32.dll_EnumWindows]
mov edi, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
nop dword [eax]
mov eax, dword [ebp - 0x17c]
xorps xmm0, xmm0
movlpd qword [ebp - 0x170], xmm0
mov dword [ebp - 0x170], eax
lea eax, [ebp - 0x170]
push eax
push 0x403a30
call esi
cmp dword [ebp - 0x16c], 0
jne 0x4075fd
cmp byte [0x4d3329], 0
jne 0x4075fd
push 0
push dword [ebp - 0x184]
call edi
test eax, eax
je 0x4075fd
cmp eax, 0xffffffff
je 0x4075fd
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.00418790
subsd xmm0, qword [ebp - 0x168]
movsd xmm1, qword [0x4ca130]
comisd xmm1, xmm0
ja 0x407590
mov byte [ebp - 0x15d], 1
lea ecx, [ebp - 0x44]
call fcn.00411640
lea ecx, [ebp - 0xa4]
call fcn.004031c0
lea ecx, [ebp - 0x5c]
call fcn.004031c0
lea ecx, [ebp - 0x74]
call fcn.00411640
lea ecx, [ebp - 0x14c]
call fcn.00411640
lea ecx, [ebp - 0x8c]
call fcn.00411640
mov al, byte [ebp - 0x15d]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00450db2
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.00460976
call fcn.00401630
call fcn.00460976
call fcn.00460976
call fcn.00460976
call fcn.00460976
call fcn.00460976
call fcn.00460976
call fcn.00460976
call fcn.00460976
call fcn.00460976
call fcn.00460976
call fcn.00401630
call fcn.00460976
call fcn.00460976
call fcn.00460976
call fcn.00460976
call fcn.00460976
int3