Function at 0x41fc90
Capabilities:
Hide graphical window
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x459da3
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xd8
push esi
mov esi, ecx
push edi
mov dword [ebp - 0x10], esi
push dword [esi + 4]
call dword [sym.imp.USER32.dll_IsWindow]
push 0xfffffffffffffff0
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov ecx, eax
and ecx, 0xfefeffff
cmp eax, ecx
je 0x41fce1
push ecx
push 0xfffffffffffffff0
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SetWindowLongW]
push 0xffffff
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov ecx, dword [esi + 0x6c]
mov edi, eax
test ecx, ecx
je 0x41fd00
cmp ecx, edi
je 0x41fd00
push ecx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov dword [esi + 0x6c], edi
mov eax, dword [0x476478]
mov dword [ebp - 0x80], eax
mov dword [ebp - 4], 0
mov dword [ebp - 0x88], SysReAllocString
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x7c], 0x100
mov dword [ebp - 0x74], 0
mov dword [ebp - 4], 1
lea eax, [ebp - 0x2c]
push 0xf003f
push 1
push eax
mov ecx, 0x47ffc8
mov dword [ebp - 0x88], reloc.OLEAUT32.dll_SysReAllocString
call fcn.00416fc0
mov byte [ebp - 4], 2
push ecx
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
push str.SOFTWAREMicrosoftWindowsCurrentVersionUninstall_
push ecx
call fcn.00409520
mov byte [ebp - 4], 3
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x8c]
call fcn.0042b170
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x2c]
lea ecx, [eax - 0x20]
cmp ecx, dword [0x476474]
je 0x41fdbd
lea ecx, [eax - 0x20]
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x41fdbd
mov eax, dword [ebp - 0x2c]
add eax, 0xffffffe0
push eax
call fcn.004471aa
add esp, 4
mov eax, dword [0x476478]
push ecx
mov edi, esp
mov dword [ebp - 0x18], esp
mov ecx, 0x46155c
mov dword [edi], eax
mov eax, ecx
shr eax, 0x10
test eax, eax
jne 0x41fde5
movzx eax, cx
mov ecx, edi
push eax
call fcn.0041c880
jmp 0x41fe18
push 0x46155c
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x41fe18
push eax
mov ecx, edi
call fcn.0040a900
test eax, eax
je 0x41fe18
mov eax, dword [ebp - 0x14]
add eax, eax
push eax
push 0x46155c
push dword [edi]
call fcn.004480a0
add esp, 0xc
mov byte [ebp - 4], 4
mov eax, dword [0x476478]
push ecx
mov edi, esp
mov dword [ebp - 0x40], esp
mov ecx, str.InstallLocation
mov dword [edi], eax
mov eax, ecx
shr eax, 0x10
test eax, eax
jne 0x41fe44
movzx eax, cx
mov ecx, edi
push eax
call fcn.0041c880
jmp 0x41fe77
push str.InstallLocation
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x41fe77
push eax
mov ecx, edi
call fcn.0040a900
test eax, eax
je 0x41fe77
mov eax, dword [ebp - 0x14]
add eax, eax
push eax
push str.InstallLocation
push dword [edi]
call fcn.004480a0
add esp, 0xc
mov byte [ebp - 4], 5
lea eax, [ebp - 0x58]
push eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x8c]
call fcn.00427880
mov byte [ebp - 4], 6
lea edi, [esi + 0x12f0]
mov dword [esi + 0x70], 1
mov dword [esi + 0x138], 0x226
mov dword [esi + 0x13c], 0x1a1
test edi, edi
je 0x41fec4
push 0x30
push 0
push edi
call fcn.004486f0
add esp, 0xc
push str.install
lea eax, [ebp - 0x14]
mov ecx, 0x476494
push eax
call fcn.0043e6c0
mov eax, dword [ebp - 0x14]
cmp eax, dword [0x47649c]
je 0x41feec
mov dword [esi + 0x1328], 0
push str.repair
lea eax, [ebp - 0x14]
mov ecx, 0x476494
push eax
call fcn.0043e6c0
mov eax, dword [ebp - 0x14]
cmp eax, dword [0x47649c]
je 0x41ff14
mov dword [esi + 0x1328], 1
push str.update
lea eax, [ebp - 0x14]
mov ecx, 0x476494
push eax
call fcn.0043e6c0
mov eax, dword [ebp - 0x14]
cmp eax, dword [0x47649c]
je 0x41ff3c
mov dword [esi + 0x1328], 2
push str.remove
lea eax, [ebp - 0x14]
mov ecx, 0x476494
push eax
call fcn.0043e6c0
mov eax, dword [ebp - 0x14]
cmp eax, dword [0x47649c]
je 0x41ff64
mov dword [esi + 0x1328], 3
push str.auto
lea eax, [ebp - 0x14]
mov ecx, 0x476494
push eax
call fcn.0043e6c0
mov eax, dword [ebp - 0x14]
cmp eax, dword [0x47649c]
je 0x4201c1
xor eax, eax
mov ecx, 0x47ffc8
cmp dword [esi + 0x1328], 2
sete al
mov dword [0x4802d4], eax
lea eax, [ebp - 0x2c]
push eax
call fcn.00414d70
mov byte [ebp - 4], 7
lea eax, [ebp - 0x14]
push str.path
push eax
mov ecx, 0x476494
call fcn.0043e6c0
mov eax, dword [ebp - 0x14]
cmp eax, dword [0x47649c]
je 0x41fffa
mov eax, dword [eax + 0x14]
cmp dword [eax - 8], 0
je 0x41fffa
push str.path
lea eax, [ebp - 0x14]
mov ecx, 0x476494
push eax
call fcn.0043e6c0
mov eax, dword [ebp - 0x14]
cmp eax, dword [0x47649c]
je 0x41fffa
add eax, 0x14
lea ecx, [ebp - 0x2c]
push eax
call fcn.00408f00
push ecx
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x10], esp
mov ecx, esp
push eax
call fcn.00405440
mov byte [ebp - 4], 8
mov byte [ebp - 4], 7
mov ecx, 0x47ffc8
call fcn.0042b040
mov eax, dword [esi + 0x1328]
cmp eax, 2
ja 0x420059
mov eax, dword [0x476478]
push ecx
mov ecx, esp
mov dword [ebp - 0x10], esp
mov dword [ecx], eax
mov byte [ebp - 4], 9
push 0
push 1
push 0
mov byte [ebp - 4], 7
mov ecx, 0x47ffc8
call fcn.0042c3a0
push 0
mov ecx, 0x47ffc8
call fcn.004309a0
jmp 0x420083
cmp eax, 3
jne 0x420083
mov eax, dword [0x476478]
push ecx
mov ecx, esp
mov dword [ebp - 0x10], esp
mov dword [ecx], eax
mov byte [ebp - 4], 0xa
push 0
push 0
push 0
mov byte [ebp - 4], 7
mov ecx, 0x47ffc8
call fcn.0042c3a0
push 0x5dc
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [0x480200]
test eax, eax
je 0x4200a0
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea eax, [ebp - 0x38]
mov ecx, 0x47ffc8
push eax
call fcn.00417010
mov byte [ebp - 4], 0xb
mov eax, dword [eax]
mov esi, dword [eax - 8]
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x38]
lea ecx, [eax - 0x20]
cmp ecx, dword [0x476474]
je 0x4200e7
add eax, 0xffffffe0
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4200e7
mov eax, dword [ebp - 0x38]
add eax, 0xffffffe0
push eax
call fcn.004471aa
add esp, 4
test esi, esi
je 0x4201b9
push 0x44
lea eax, [ebp - 0xe4]
mov dword [ebp - 0x90], 0
push 0
push eax
call fcn.004486f0
push 0
xorps xmm0, xmm0
mov dword [ebp - 0xe4], 0x44
push 0
push 6
movdqu xmmword [ebp - 0xa0], xmm0
call fcn.0041a660
add esp, 0x18
test eax, eax
je 0x42016d
push 0
push 1
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x10], esp
push 0x46155c
call fcn.00405580
mov byte [ebp - 4], 0xc
push ecx
mov eax, esp
mov dword [ebp - 0x18], esp
push eax
mov ecx, 0x47ffc8
call fcn.00417010
mov byte [ebp - 4], 0xd
mov byte [ebp - 4], 7
call fcn.0040dbc0
add esp, 0x14
jmp 0x4201b9
push ecx
mov ecx, esp
mov dword [ebp - 0x10], esp
push 0x46155c
call fcn.00405580
mov byte [ebp - 4], 0xe
push ecx
mov ecx, esp
mov dword [ebp - 0x18], esp
push 0x46155c
call fcn.00405580
mov byte [ebp - 4], 0xf
push ecx
mov eax, esp
mov dword [ebp - 0x40], esp
push eax
mov ecx, 0x47ffc8
call fcn.00417010
mov byte [ebp - 4], 0x10
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xe4]
call fcn.0040d280
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov eax, dword [ebp - 0x58]
mov dword [esi + 0x1324], 0
cmp dword [eax - 8], 0
jne 0x42022e
mov dword [edi], 1
mov eax, dword [esi + 0x1324]
inc eax
mov dword [esi + 0x1324], eax
mov dword [esi + eax*4 + 0x12f0], 3
mov eax, dword [esi + 0x1324]
inc eax
mov dword [esi + 0x1324], eax
mov dword [esi + eax*4 + 0x12f0], 4
mov eax, dword [esi + 0x1324]
inc eax
mov dword [esi + 0x1324], eax
mov dword [esi + eax*4 + 0x12f0], 5
mov dword [esi + 0xcc8], 1
jmp 0x42027d
mov eax, dword [esi + 0x1328]
test eax, eax
jne 0x420240
mov dword [edi], 9
jmp 0x420295
cmp eax, 1
jne 0x42024d
mov dword [edi], 3
jmp 0x42027d
cmp eax, 2
jne 0x42025a
mov dword [edi], 3
jmp 0x42027d
cmp eax, 3
jne 0x42029b
mov dword [edi], 7
mov eax, dword [esi + 0x1324]
inc eax
mov dword [esi + 0x1324], eax
mov dword [esi + eax*4 + 0x12f0], 8
mov eax, dword [esi + 0x1324]
inc eax
mov dword [esi + 0x1324], eax
mov dword [esi + eax*4 + 0x12f0], 6
inc dword [esi + 0x1324]
mov dword [esi + 0x1320], 0
mov eax, dword [0x476478]
mov dword [ebp - 0x38], eax
mov byte [ebp - 4], 0x11
lea eax, [ebp - 0x14]
push str.update
push eax
mov ecx, 0x476494
call fcn.0043e6c0
mov eax, dword [ebp - 0x14]
cmp eax, dword [0x47649c]
je 0x420336
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x18], esp
push str.Aktualisierung
call fcn.004054c0
mov byte [ebp - 4], 0x12
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 4], 0x11
call fcn.00417060
add esp, 0xc
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x38]
push eax
call fcn.00408f00
mov byte [ebp - 4], 0x11
or edi, 0xffffffff
mov eax, dword [ebp - 0x2c]
lea ecx, [eax - 0x20]
cmp ecx, dword [0x476474]
je 0x420346
lea ecx, [eax - 0x20]
mov eax, edi
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x420346
mov eax, dword [ebp - 0x2c]
add eax, 0xffffffe0
push eax
call fcn.004471aa
add esp, 4
jmp 0x420346
push 0x4801c4
lea ecx, [ebp - 0x38]
call fcn.00408f00
or edi, 0xffffffff
lea eax, [ebp - 0x30]
mov ecx, 0x47ffc8
push eax
call fcn.00416fc0
mov byte [ebp - 4], 0x14
push 0x461928
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.00409410
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x38]
push ecx
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.004093a0
mov byte [ebp - 4], 0x16
mov edx, dword [eax]
mov ecx, dword [edx - 8]
add ecx, ecx
mov dword [edx - 4], ecx
push dword [eax]
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov byte [ebp - 4], 0x15
mov eax, dword [ebp - 0x2c]
lea ecx, [eax - 0x20]
cmp ecx, dword [0x476474]
je 0x4203c1
lea ecx, [eax - 0x20]
mov eax, edi
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x4203c1
mov eax, dword [ebp - 0x2c]
add eax, 0xffffffe0
push eax
call fcn.004471aa
add esp, 4
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0x3c]
lea ecx, [eax - 0x20]
cmp ecx, dword [0x476474]
je 0x4203f0
lea ecx, [eax - 0x20]
mov eax, edi
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x4203f0
mov eax, dword [ebp - 0x3c]
add eax, 0xffffffe0
push eax
call fcn.004471aa
add esp, 4
mov byte [ebp - 4], 0x11
mov eax, dword [ebp - 0x30]
lea ecx, [eax - 0x20]
cmp ecx, dword [0x476474]
je 0x42041f
lea ecx, [eax - 0x20]
mov eax, edi
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x42041f
mov eax, dword [ebp - 0x30]
add eax, 0xffffffe0
push eax
call fcn.004471aa
add esp, 4
push 0x12
push dword [esi + 0x13c]
mov ecx, esi
push dword [esi + 0x138]
push 0
push 0
push 0
call fcn.0042b660
push dword [esi + 4]
xorps xmm0, xmm0
movdqu xmmword [ebp - 0x68], xmm0
call dword [sym.imp.USER32.dll_IsWindow]
lea eax, [ebp - 0x68]
push eax
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetClientRect]
cmp dword [esi + 0x70], 0
je 0x4204a2
push dword [ebp - 0x5c]
mov ecx, 0x476420
call fcn.00435e00
push dword [ebp - 0x64]
mov ecx, 0x476420
mov dword [ebp - 0x5c], eax
call fcn.00435e00
push dword [ebp - 0x60]
mov ecx, 0x476420
mov dword [ebp - 0x64], eax
call fcn.00435e00
push dword [ebp - 0x68]
mov ecx, 0x476420
mov dword [ebp - 0x60], eax
call fcn.00435e00
mov ecx, eax
mov dword [ebp - 0x68], ecx
jmp 0x4204a5
mov ecx, dword [ebp - 0x68]
mov eax, dword [esi + 0x13c]
add eax, eax
sub eax, dword [ebp - 0x5c]
add eax, dword [ebp - 0x64]
push 0x12
push eax
mov eax, dword [esi + 0x138]
add eax, eax
sub eax, dword [ebp - 0x60]
add eax, ecx
mov ecx, esi
push eax
push 0
push 0
push 0
call fcn.0042b660
push 0
mov ecx, esi
call fcn.0040ba40
mov eax, dword [esi + 0x138]
lea ecx, [esi + 0x320]
push 0
push 0
push 0
push 0x40000007
add eax, 5
mov dword [esi + 0x390], 1
push 0
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x28]
push eax
push dword [esi + 4]
mov dword [ebp - 0x28], 0xfffffffb
push 0x462cf0
mov dword [ebp - 0x24], 0xfffffff1
mov dword [ebp - 0x1c], 0x32
call fcn.0040d4e0
mov eax, dword [esi + 0x13c]
mov ecx, dword [esi + 0x138]
push 0
push 0
push 0
lea edx, [eax + 6]
mov dword [esi + 0x318], 1
push 0x50000007
add eax, 0xffffffcc
mov dword [ebp - 0x28], 0xfffffffb
push 0
mov dword [ebp - 0x24], eax
add ecx, 0x14
lea eax, [ebp - 0x28]
mov dword [ebp - 0x20], ecx
push eax
push dword [esi + 4]
lea ecx, [esi + 0x2a8]
mov dword [ebp - 0x1c], edx
push 0x462cf0
call fcn.0040d4e0
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x18], esp
push 0x465a30
mov dword [esi + 0x1b0], 1
call fcn.004054c0
mov byte [ebp - 4], 0x17
lea eax, [ebp - 0x30]
push eax
mov byte [ebp - 4], 0x11
call fcn.00417060
add esp, 0xc
mov byte [ebp - 4], 0x18
mov edx, dword [eax]
mov ecx, dword [edx - 8]
add ecx, ecx
mov dword [edx - 4], ecx
mov eax, dword [eax]
mov ecx, dword [esi + 0x13c]
mov dword [ebp - 0x14], eax
mov eax, dword [esi + 0x138]
lea edi, [ecx - 0xa]
push 0
push 0
push 0
lea edx, [eax - 0xb4]
mov dword [ebp - 0x1c], edi
push 0x40010000
push dword [ebp - 0x14]
add eax, 0xfffffefc
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x28], eax
add ecx, 0xffffffdd
lea eax, [ebp - 0x28]
mov dword [ebp - 0x24], ecx
push eax
push dword [esi + 4]
lea ecx, [esi + 0x140]
push 0x462cf0
call fcn.0040d4e0
mov byte [ebp - 4], 0x11
mov eax, dword [ebp - 0x30]
lea ecx, [eax - 0x20]
cmp ecx, dword [0x476474]
je 0x42063d
lea ecx, [eax - 0x20]
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x42063d
mov eax, dword [ebp - 0x30]
add eax, 0xffffffe0
push eax
call fcn.004471aa
add esp, 4
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x18], esp
push str.Weiter
mov dword [esi + 0x228], 1
call fcn.004054c0
mov byte [ebp - 4], 0x19
lea eax, [ebp - 0x30]
push eax
mov byte [ebp - 4], 0x11
call fcn.00417060
add esp, 0xc
mov byte [ebp - 4], 0x1a
mov edx, dword [eax]
push 0
push 0
push 0
mov ecx, dword [edx - 8]
add ecx, ecx
mov dword [edx - 4], ecx
mov eax, dword [eax]
mov ecx, dword [esi + 0x13c]
mov dword [ebp - 0x14], eax
mov eax, dword [esi + 0x138]
push 0x50010000
push dword [ebp - 0x14]
lea edi, [ecx - 0xa]
add ecx, 0xffffffdd
lea edx, [eax - 0x61]
mov dword [ebp - 0x24], ecx
add eax, 0xffffff4f
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x28], eax
lea ecx, [esi + 0x1b8]
lea eax, [ebp - 0x28]
mov dword [ebp - 0x1c], edi
push eax
push dword [esi + 4]
push 0x462cf0
call fcn.0040d4e0
mov byte [ebp - 4], 0x11
mov eax, dword [ebp - 0x30]
lea ecx, [eax - 0x20]
cmp ecx, dword [0x476474]
je 0x4206fb
lea ecx, [eax - 0x20]
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x4206fb
mov eax, dword [ebp - 0x30]
add eax, 0xffffffe0
push eax
call fcn.004471aa
add esp, 4
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x18], esp
push str.Abbrechen
mov dword [esi + 0x2a0], 1
call fcn.004054c0
mov byte [ebp - 4], 0x1b
lea eax, [ebp - 0x30]
push eax
mov byte [ebp - 4], 0x11
call fcn.00417060
add esp, 0xc
mov byte [ebp - 4], 0x1c
mov edx, dword [eax]
push 0
push 0
push 0
mov ecx, dword [edx - 8]
add ecx, ecx
mov dword [edx - 4], ecx
mov eax, dword [eax]
mov ecx, dword [esi + 0x13c]
mov dword [ebp - 0x14], eax
mov eax, dword [esi + 0x138]
push 0x50010000
push dword [ebp - 0x14]
lea edi, [ecx - 0xa]
add ecx, 0xffffffdd
lea edx, [eax - 8]
mov dword [ebp - 0x24], ecx
add eax, 0xffffffa6
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x28], eax
lea ecx, [esi + 0x230]
lea eax, [ebp - 0x28]
mov dword [ebp - 0x1c], edi
push eax
push dword [esi + 4]
push 0x462cf0
call fcn.0040d4e0
mov byte [ebp - 4], 0x11
mov eax, dword [ebp - 0x30]
lea ecx, [eax - 0x20]
cmp ecx, dword [0x476474]
je 0x4207b7
lea ecx, [eax - 0x20]
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x4207b7
mov eax, dword [ebp - 0x30]
add eax, 0xffffffe0
push eax
call fcn.004471aa
add esp, 4
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x18], esp
push str.Sprachauswahl
mov dword [esi + 0x130], 1
call fcn.004054c0
mov byte [ebp - 4], 0x1d
lea eax, [ebp - 0x30]
push eax
mov byte [ebp - 4], 0x11
call fcn.00417060
add esp, 0xc
mov byte [ebp - 4], 0x1e
mov edx, dword [eax]
push 0
push 0x41e
push 0
mov ecx, dword [edx - 8]
add ecx, ecx
mov dword [ebp - 0x28], 0xa
mov dword [edx - 4], ecx
mov edx, dword [eax]
mov eax, dword [esi + 0x13c]
push 0x50010003
push edx
mov dword [ebp - 0x20], 0xbe
lea ecx, [eax - 6]
add eax, 0xffffffde
mov dword [ebp - 0x1c], ecx
lea ecx, [ebp - 0x28]
push ecx
push dword [esi + 4]
mov dword [ebp - 0x24], eax
lea eax, [esi + 0xc0]
push str.COMBOBOX
mov ecx, eax
mov dword [ebp - 0x3c], eax
call fcn.0040d4e0
mov byte [ebp - 4], 0x11
mov eax, dword [ebp - 0x30]
lea ecx, [eax - 0x20]
cmp ecx, dword [0x476474]
je 0x420872
lea ecx, [eax - 0x20]
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x420872
mov eax, dword [ebp - 0x30]
add eax, 0xffffffe0
push eax
call fcn.004471aa
add esp, 4
mov dword [ebp - 0x54], 0x4616d4
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 4
mov byte [ebp - 4], 0x1f
mov dword [ebp - 0x54], 0x4616dc
mov byte [ebp - 4], 0x20
mov dword [ebp - 0x54], 0x4616e4
mov byte [ebp - 4], 0x21
lea eax, [ebp - 0x54]
push eax
mov ecx, 0x47ff48
call fcn.00415f90
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x4c], eax
jle 0x420a24
or esi, 0xffffffff
mov edi, edi
lea edx, [eax*4]
mov eax, dword [ebp - 0x48]
push ecx
mov ecx, esp
mov dword [ebp - 0x40], esp
mov dword [ebp - 0x18], edx
push dword [edx + eax]
call fcn.00405440
mov byte [ebp - 4], 0x22
mov byte [ebp - 4], 0x21
mov ecx, 0x47fe18
call fcn.00414720
movzx eax, ax
mov ecx, 0x47fe18
push eax
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x30]
push eax
call fcn.004157c0
mov byte [ebp - 4], 0x23
mov edx, dword [eax]
mov ecx, dword [edx - 8]
add ecx, ecx
mov dword [edx - 4], ecx
mov edi, dword [eax]
mov eax, dword [ebp - 0x3c]
push dword [eax + 4]
call dword [sym.imp.USER32.dll_IsWindow]
push edi
mov edi, dword [ebp - 0x3c]
push 0
push 0x143
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0x6c], eax
mov byte [ebp - 4], 0x21
mov ecx, dword [ebp - 0x30]
lea edx, [ecx - 0x20]
cmp edx, dword [0x476474]
je 0x420974
add ecx, 0xffffffe0
mov eax, esi
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x420974
mov eax, dword [ebp - 0x30]
add eax, 0xffffffe0
push eax
call fcn.004471aa
add esp, 4
push dword [edi + 4]
call dword [sym.imp.USER32.dll_IsWindow]
mov ecx, dword [ebp - 0x40]
movzx eax, cx
push eax
push dword [ebp - 0x6c]
push 0x151
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
lea eax, [ebp - 0x2c]
mov ecx, 0x47ff48
push eax
call fcn.00414c40
mov byte [ebp - 4], 0x24
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x18]
push dword [eax]
mov ecx, dword [edx + ecx]
push dword [ecx]
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
sete byte [ebp - 0x31]
mov byte [ebp - 4], 0x21
mov eax, dword [ebp - 0x2c]
lea ecx, [eax - 0x20]
cmp ecx, dword [0x476474]
je 0x4209ef
lea ecx, [eax - 0x20]
mov eax, esi
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x4209ef
mov eax, dword [ebp - 0x2c]
add eax, 0xffffffe0
push eax
call fcn.004471aa
add esp, 4
cmp byte [ebp - 0x31], 0
je 0x420a11
push dword [edi + 4]
call dword [sym.imp.USER32.dll_IsWindow]
push 0
push dword [ebp - 0x6c]
push 0x14e
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x4c]
jl 0x4208d0
mov esi, dword [ebp - 0x10]
mov ecx, dword [esi + 0x12f0]
lea eax, [esi + 0x12f0]
test ecx, ecx
jle 0x420b52
mov edx, eax
lea ebx, [ebx]
cmp ecx, 1
je 0x420a54
mov ecx, dword [edx + 4]
add edx, 4
test ecx, ecx
jg 0x420a40
jmp 0x420b52
mov ecx, dword [0x47fde0]
mov edi, dword [esi + 4]
call fcn.0042b5c0
push 0
lea ecx, [esi + 0x398]
mov dword [ebp - 0x10], eax
push 0x434ec0
mov dword [eax], ecx
mov ecx, dword [0x47fde0]
push edi
push 0x66
push dword [ecx + 0x20]
call dword [sym.imp.USER32.dll_CreateDialogParamW]
mov dword [esi + 0x39c], eax
test eax, eax
jne 0x420a9a
push eax
push eax
push eax
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
mov eax, dword [ebp - 0x10]
push 1
mov dword [eax], 0
push dword [esi + 0x39c]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [esi + 0x39c]
mov edi, dword [sym.imp.USER32.dll_IsWindow]
call edi
push dword [esi + 0x39c]
call dword [sym.imp.USER32.dll_UpdateWindow]
mov ecx, dword [esi + 0x13c]
mov eax, dword [esi + 0x138]
sub ecx, 0x3c
mov dword [esi + 0x408], 1
sub eax, 0xa
push dword [esi + 0x39c]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x28], 0xa
mov dword [ebp - 0x24], 0x3c
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], ecx
call edi
cmp dword [esi + 0x408], 0
je 0x420b28
lea eax, [ebp - 0x28]
mov ecx, 0x476420
push eax
call fcn.004295f0
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
jmp 0x420b2e
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x24]
sub ecx, edx
push 0x10
push ecx
mov ecx, dword [ebp - 0x28]
sub eax, ecx
push eax
push edx
push ecx
push 0
push dword [esi + 0x39c]
call dword [sym.imp.USER32.dll_SetWindowPos]
lea eax, [esi + 0x12f0]
mov ecx, dword [eax]
test ecx, ecx
jle 0x420ccc
mov edx, eax
mov edi, edi
cmp ecx, 2
je 0x420b74
mov ecx, dword [edx + 4]
add edx, 4
test ecx, ecx
jg 0x420b60
jmp 0x420ccc
mov ecx, dword [0x47fde0]
mov edi, dword [esi + 4]
call fcn.0042b5c0
push 0
lea ecx, [esi + 0x668]
mov dword [ebp - 0x10], eax
push 0x434ec0
mov dword [eax], ecx
mov ecx, dword [0x47fde0]
push edi
push 0x67
push dword [ecx + 0x20]
call dword [sym.imp.USER32.dll_CreateDialogParamW]
mov dword [esi + 0x66c], eax
test eax, eax
jne 0x420bba
push eax
push eax
push eax
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
mov eax, dword [ebp - 0x10]
push 1
mov dword [eax], 0
push dword [esi + 0x66c]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [esi + 0x66c]
mov edi, dword [sym.imp.USER32.dll_IsWindow]
call edi
push dword [esi + 0x66c]
call dword [sym.imp.USER32.dll_UpdateWindow]
mov ecx, dword [esi + 0x13c]
mov eax, dword [esi + 0x138]
sub ecx, 0x3c
mov dword [esi + 0x6d8], 1
sub eax, 0xa
push dword [esi + 0x66c]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x28], 0xa
mov dword [ebp - 0x24], 0x3c
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], ecx
call edi
cmp dword [esi + 0x6d8], 0
je 0x420c48
lea eax, [ebp - 0x28]
mov ecx, 0x476420
push eax
call fcn.004295f0
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
jmp 0x420c4e
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x24]
sub ecx, edx
push 0x10
push ecx
mov ecx, dword [ebp - 0x28]
sub eax, ecx
push eax
push edx
push ecx
push 0
push dword [esi + 0x66c]
call dword [sym.imp.USER32.dll_SetWindowPos]
lea eax, [ebp - 0x14]
mov ecx, 0x47ffc8
push eax
call fcn.00416f40
mov byte [ebp - 4], 0x25
mov edx, dword [eax]
mov ecx, dword [edx - 8]
add ecx, ecx
mov dword [edx - 4], ecx
push dword [eax]
push dword [esi + 0x6e4]
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov byte [ebp - 4], 0x21
mov eax, dword [ebp - 0x14]
lea ecx, [eax - 0x20]
cmp ecx, dword [0x476474]
je 0x420cc6
lea ecx, [eax - 0x20]
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x420cc6
mov eax, dword [ebp - 0x14]
add eax, 0xffffffe0
push eax
call fcn.004471aa
add esp, 4
lea eax, [esi + 0x12f0]
mov ecx, dword [eax]
test ecx, ecx
jle 0x420e85
mov edx, ecx
mov edi, eax
lea ebx, [ebx]
cmp edx, 3
je 0x420d14
mov edx, dword [edi + 4]
add edi, 4
test edx, edx
jg 0x420ce0
test ecx, ecx
jle 0x420e85
mov edx, eax
lea esp, [esp]
cmp ecx, 9
je 0x420d14
mov ecx, dword [edx + 4]
add edx, 4
test ecx, ecx
jg 0x420d00
jmp 0x420e85
mov ecx, dword [0x47fde0]
mov edi, dword [esi + 4]
call fcn.0042b5c0
push 0
lea ecx, [esi + 0x758]
mov dword [ebp - 0x10], eax
push 0x434ec0
mov dword [eax], ecx
mov ecx, dword [0x47fde0]
push edi
push 0x68
push dword [ecx + 0x20]
call dword [sym.imp.USER32.dll_CreateDialogParamW]
mov dword [esi + 0x75c], eax
test eax, eax
jne 0x420d5a
push eax
push eax
push eax
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
mov eax, dword [ebp - 0x10]
push 1
mov dword [eax], 0
push dword [esi + 0x75c]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [esi + 0x75c]
mov edi, dword [sym.imp.USER32.dll_IsWindow]
call edi
push dword [esi + 0x75c]
call dword [sym.imp.USER32.dll_UpdateWindow]
mov ecx, dword [esi + 0x13c]
mov eax, dword [esi + 0x138]
sub ecx, 0x3c
mov dword [esi + 0x7c8], 1
sub eax, 0xa
push dword [esi + 0x75c]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x28], 0xa
mov dword [ebp - 0x24], 0x3c
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], ecx
call edi
cmp dword [esi + 0x7c8], 0
je 0x420de8
lea eax, [ebp - 0x28]
mov ecx, 0x476420
push eax
call fcn.004295f0
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
jmp 0x420dee
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
sub ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
sub eax, edx
push 0x10
push ecx
push eax
push dword [ebp - 0x24]
push edx
push 0
push dword [esi + 0x75c]
call dword [sym.imp.USER32.dll_SetWindowPos]
push ecx
mov eax, esp
mov dword [ebp - 0x10], esp
push eax
mov ecx, 0x47fe18
call fcn.00417a70
mov byte [ebp - 4], 0x26
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x21
mov ecx, 0x47ffc8
call fcn.00416300
mov byte [ebp - 4], 0x27
mov edx, dword [eax]
mov ecx, dword [edx - 8]
add ecx, ecx
mov dword [edx - 4], ecx
push dword [eax]
push dword [esi + 0x84c]
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov byte [ebp - 4], 0x21
mov eax, dword [ebp - 0x14]
lea ecx, [eax - 0x20]
cmp ecx, dword [0x476474]
je 0x420e7f
lea ecx, [eax - 0x20]
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x420e7f
mov eax, dword [ebp - 0x14]
add eax, 0xffffffe0
push eax
call fcn.004471aa
add esp, 4
lea eax, [esi + 0x12f0]
mov ecx, dword [eax]
test ecx, ecx
jle 0x420ffd
mov edx, eax
cmp ecx, 4
je 0x420ea5
mov ecx, dword [edx + 4]
add edx, 4
test ecx, ecx
jg 0x420e91
jmp 0x420ffd
mov ecx, dword [0x47fde0]
mov edi, dword [esi + 4]
call fcn.0042b5c0
push 0
lea ecx, [esi + 0x938]
mov dword [ebp - 0x10], eax
push 0x434ec0
mov dword [eax], ecx
mov ecx, dword [0x47fde0]
push edi
push 0x69
push dword [ecx + 0x20]
call dword [sym.imp.USER32.dll_CreateDialogParamW]
mov dword [esi + 0x93c], eax
test eax, eax
jne 0x420eeb
push eax
push eax
push eax
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
mov eax, dword [ebp - 0x10]
push 1
mov dword [eax], 0
push dword [esi + 0x93c]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [esi + 0x93c]
mov edi, dword [sym.imp.USER32.dll_IsWindow]
call edi
push dword [esi + 0x93c]
call dword [sym.imp.USER32.dll_UpdateWindow]
mov ecx, dword [esi + 0x13c]
mov eax, dword [esi + 0x138]
sub ecx, 0x3c
mov dword [esi + 0x9a8], 1
sub eax, 0xa
push dword [esi + 0x93c]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x28], 0xa
mov dword [ebp - 0x24], 0x3c
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], ecx
call edi
cmp dword [esi + 0x9a8], 0
je 0x420f79
lea eax, [ebp - 0x28]
mov ecx, 0x476420
push eax
call fcn.004295f0
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
jmp 0x420f7f
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x24]
sub ecx, edx
push 0x10
push ecx
mov ecx, dword [ebp - 0x28]
sub eax, ecx
push eax
push edx
push ecx
push 0
push dword [esi + 0x93c]
call dword [sym.imp.USER32.dll_SetWindowPos]
lea eax, [ebp - 0x14]
mov ecx, 0x47ffc8
push eax
call fcn.00414d70
mov byte [ebp - 4], 0x28
mov edx, dword [eax]
mov ecx, dword [edx - 8]
add ecx, ecx
mov dword [edx - 4], ecx
push dword [eax]
push dword [esi + 0x9b4]
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov byte [ebp - 4], 0x21
mov eax, dword [ebp - 0x14]
lea ecx, [eax - 0x20]
cmp ecx, dword [0x476474]
je 0x420ff7
lea ecx, [eax - 0x20]
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x420ff7
mov eax, dword [ebp - 0x14]
add eax, 0xffffffe0
push eax
call fcn.004471aa
add esp, 4
lea eax, [esi + 0x12f0]
mov ecx, dword [eax]
test ecx, ecx
jle 0x421122
mov edx, eax
lea esp, [esp]
cmp ecx, 5
je 0x421024
mov ecx, dword [edx + 4]
add edx, 4
test ecx, ecx
jg 0x421010
jmp 0x421122
mov ecx, dword [0x47fde0]
mov edi, dword [esi + 4]
call fcn.0042b5c0
push 0
lea ecx, [esi + 0xb20]
mov dword [ebp - 0x10], eax
push 0x434ec0
mov dword [eax], ecx
mov ecx, dword [0x47fde0]
push edi
push 0x6d
push dword [ecx + 0x20]
call dword [sym.imp.USER32.dll_CreateDialogParamW]
mov dword [esi + 0xb24], eax
test eax, eax
jne 0x42106a
push eax
push eax
push eax
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
mov eax, dword [ebp - 0x10]
push 1
mov dword [eax], 0
push dword [esi + 0xb24]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [esi + 0xb24]
mov edi, dword [sym.imp.USER32.dll_IsWindow]
call edi
push dword [esi + 0xb24]
call dword [sym.imp.USER32.dll_UpdateWindow]
mov ecx, dword [esi + 0x13c]
mov eax, dword [esi + 0x138]
sub ecx, 0x3c
mov dword [esi + 0xb90], 1
sub eax, 0xa
push dword [esi + 0xb24]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x28], 0xa
mov dword [ebp - 0x24], 0x3c
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], ecx
call edi
cmp dword [esi + 0xb90], 0
je 0x4210f8
lea eax, [ebp - 0x28]
mov ecx, 0x476420
push eax
call fcn.004295f0
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
jmp 0x4210fe
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x24]
sub ecx, edx
push 0x10
push ecx
mov ecx, dword [ebp - 0x28]
sub eax, ecx
push eax
push edx
push ecx
push 0
push dword [esi + 0xb24]
call dword [sym.imp.USER32.dll_SetWindowPos]
lea eax, [esi + 0x12f0]
mov ecx, dword [eax]
test ecx, ecx
jle 0x421154
mov edx, ecx
mov edi, eax
lea esp, [esp]
cmp edx, 6
je 0x42117c
mov edx, dword [edi + 4]
add edi, 4
test edx, edx
jg 0x421130
test ecx, ecx
jle 0x421154
mov edx, eax
cmp ecx, 9
je 0x42117c
mov ecx, dword [edx + 4]
add edx, 4
test ecx, ecx
jg 0x421145
mov edi, dword [sym.imp.USER32.dll_IsWindow]
mov ecx, dword [eax]
test ecx, ecx
jle 0x421396
cmp ecx, 9
je 0x42129e
mov ecx, dword [eax + 4]
add eax, 4
test ecx, ecx
jg 0x421164
jmp 0x421396
mov ecx, dword [0x47fde0]
mov edi, dword [esi + 4]
call fcn.0042b5c0
push 0
lea ecx, [esi + 0xf30]
mov dword [ebp - 0x10], eax
push 0x434ec0
mov dword [eax], ecx
mov ecx, dword [0x47fde0]
push edi
push 0x6a
push dword [ecx + 0x20]
call dword [sym.imp.USER32.dll_CreateDialogParamW]
mov dword [esi + 0xf34], eax
test eax, eax
jne 0x4211c2
push eax
push eax
push eax
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
mov eax, dword [ebp - 0x10]
push 1
mov dword [eax], 0
push dword [esi + 0xf34]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [esi + 0xf34]
mov edi, dword [sym.imp.USER32.dll_IsWindow]
call edi
push dword [esi + 0xf34]
call dword [sym.imp.USER32.dll_UpdateWindow]
mov ecx, dword [esi + 0x13c]
mov eax, dword [esi + 0x138]
sub ecx, 0x3c
mov dword [esi + 0xfa0], 1
sub eax, 0xa
push dword [esi + 0xf34]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x28], 0xa
mov dword [ebp - 0x24], 0x3c
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], ecx
call edi
cmp dword [esi + 0xfa0], 0
lea eax, [esi + 0xf30]
je 0x42125c
lea eax, [ebp - 0x28]
mov ecx, 0x476420
push eax
call fcn.004295f0
mov edx, dword [ebp - 0x1c]
lea eax, [esi + 0xf30]
mov ecx, dword [ebp - 0x20]
jmp 0x421262
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x18]
sub edx, dword [ebp - 0x24]
push 0x10
push edx
mov edx, dword [ebp - 0x28]
sub ecx, edx
push ecx
push dword [ebp - 0x24]
push edx
push 0
push dword [eax + 4]
call dword [sym.imp.USER32.dll_SetWindowPos]
mov eax, dword [esi + 0x1024]
mov dword [0x480244], eax
mov eax, dword [esi + 0xfac]
mov dword [0x480260], eax
lea eax, [esi + 0x12f0]
jmp 0x42115a
mov ecx, dword [0x47fde0]
mov edi, dword [esi + 4]
call fcn.0042b5c0
push 0
lea ecx, [esi + 0x1110]
mov dword [ebp - 0x10], eax
push 0x434ec0
mov dword [eax], ecx
mov ecx, dword [0x47fde0]
push edi
push 0x6e
push dword [ecx + 0x20]
call dword [sym.imp.USER32.dll_CreateDialogParamW]
mov dword [esi + 0x1114], eax
test eax, eax
jne 0x4212e4
push eax
push eax
push eax
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
mov eax, dword [ebp - 0x10]
push 1
mov dword [eax], 0
push dword [esi + 0x1114]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [esi + 0x1114]
mov edi, dword [sym.imp.USER32.dll_IsWindow]
call edi
push dword [esi + 0x1114]
call dword [sym.imp.USER32.dll_UpdateWindow]
mov ecx, dword [esi + 0x13c]
mov eax, dword [esi + 0x138]
sub ecx, 0x3c
mov dword [esi + 0x1180], 1
sub eax, 0xa
push dword [esi + 0x1114]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x28], 0xa
mov dword [ebp - 0x24], 0x3c
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], ecx
call edi
cmp dword [esi + 0x1180], 0
je 0x421372
lea eax, [ebp - 0x28]
mov ecx, 0x476420
push eax
call fcn.004295f0
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
jmp 0x421378
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x24]
sub ecx, edx
push 0x10
push ecx
mov ecx, dword [ebp - 0x28]
sub eax, ecx
push eax
push edx
push ecx
push 0
push dword [esi + 0x1114]
call dword [sym.imp.USER32.dll_SetWindowPos]
push str.continue
lea eax, [ebp - 0x10]
mov ecx, 0x476494
push eax
call fcn.0043e6c0
mov eax, dword [ebp - 0x10]
cmp eax, dword [0x47649c]
je 0x421468
mov eax, dword [esi + 0x1324]
mov ecx, esi
dec eax
mov dword [esi + 0x1320], eax
push dword [esi + eax*4 + 0x12f0]
call fcn.0041c280
mov ecx, dword [0x47fe00]
add ecx, 0x212
mov dword [ebp - 0x10], ecx
jne 0x4213e8
xor eax, eax
jmp 0x4213ef
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push eax
lea ecx, [esi + 0xa28]
mov dword [ebp - 0x2c], eax
call fcn.0040a880
test eax, eax
je 0x42143c
mov eax, dword [ebp - 0x2c]
lea edi, [eax + eax]
push edi
push dword [ebp - 0x10]
lea eax, [edi + 2]
push eax
push dword [esi + 0xa28]
call fcn.00445948
mov eax, dword [esi + 0xa28]
add esp, 0x10
mov ecx, dword [ebp - 0x2c]
mov dword [eax - 8], ecx
xor ecx, ecx
mov eax, dword [esi + 0xa28]
mov word [edi + eax], cx
mov edi, dword [sym.imp.USER32.dll_IsWindow]
push 0
push 0
push 0
push 0
push esi
push 0x418df0
lea ecx, [esi + 0x80]
mov dword [esi + 0x1328], 0
call fcn.0040e550
mov ecx, esi
call fcn.00437c80
jmp 0x4214a1
push str.AdminRequest
lea eax, [ebp - 0x10]
mov ecx, 0x476494
push eax
call fcn.0043e6c0
mov eax, dword [ebp - 0x10]
mov ecx, esi
cmp eax, dword [0x47649c]
je 0x42148f
add dword [esi + 0x1320], 2
mov eax, dword [esi + 0x1320]
push dword [esi + eax*4 + 0x12f0]
call fcn.0041c280
push 5
push dword [esi + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [esi + 4]
call edi
push 0
push 0xbb8
push 2
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SetTimer]
push 3
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
mov ecx, esi
call fcn.0042b660
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SetForegroundWindow]
push dword [esi + 4]
call edi
push dword [esi + 4]
call dword [sym.imp.USER32.dll_UpdateWindow]
mov byte [ebp - 4], 0x11
mov dword [ebp - 0x54], 0x4616e4
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x54]
push dword [ebp - 0x4c]
mov eax, dword [ebp - 0x54]
push 0
call dword [eax + 4]
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x54]
push dword [ebp - 0x4c]
mov dword [ebp - 0x54], 0x4616d4
push 0
call dword [0x4616d8]
push dword [ebp - 0x48]
call fcn.004471aa
add esp, 4
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
mov byte [ebp - 4], 6
or esi, 0xffffffff
mov eax, dword [ebp - 0x38]
lea ecx, [eax - 0x20]
cmp ecx, dword [0x476474]
je 0x42156f
lea ecx, [eax - 0x20]
mov eax, esi
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x42156f
push ecx
call fcn.004471aa
add esp, 4
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x58]
lea ecx, [eax - 0x20]
cmp ecx, dword [0x476474]
je 0x42159e
lea ecx, [eax - 0x20]
mov eax, esi
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x42159e
mov eax, dword [ebp - 0x58]
add eax, 0xffffffe0
push eax
call fcn.004471aa
add esp, 4
mov dword [ebp - 4], 0x2b
mov edi, dword [ebp - 0x80]
cmp dword [edi - 8], 0
je 0x421643
cmp dword [edi - 0x20], 0
lea ecx, [edi - 0x20]
mov dword [ebp - 0x10], ecx
jl 0x421602
lea eax, [edi - 0x20]
cmp eax, dword [0x476474]
je 0x421643
mov eax, esi
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x4215f7
mov eax, dword [ecx + 0x10]
test eax, eax
je 0x4215ee
push eax
call fcn.00446dea
mov ecx, dword [ebp - 0x10]
add esp, 4
mov dword [ecx + 0x10], 0
push ecx
call fcn.004471aa
add esp, 4
mov edi, dword [0x476478]
mov dword [ebp - 0x80], edi
jmp 0x421643
push 0x46155c
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov esi, eax
lea ecx, [ebp - 0x80]
push esi
mov dword [ebp - 0x10], esi
call fcn.0040a880
mov edi, dword [ebp - 0x80]
test eax, eax
je 0x421643
add esi, esi
push esi
push 0x46155c
lea eax, [esi + 2]
push eax
push edi
call fcn.00445948
mov eax, dword [ebp - 0x10]
add esp, 0x10
mov dword [edi - 8], eax
xor eax, eax
mov word [esi + edi], ax
mov dword [ebp - 0x88], SysReAllocString
mov dword [ebp - 0x84], 1
mov dword [ebp - 4], 0xffffffff
lea eax, [edi - 0x20]
cmp eax, dword [0x476474]
je 0x421681
add edi, 0xffffffe0
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x421681
push edi
call fcn.004471aa
add esp, 4
mov ecx, dword [ebp - 0xc]
xor eax, eax
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret 4