Function at 0x414175
Capabilities:
Create thread
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5c
push ebx
push esi
xor esi, esi
lea eax, [ebp - 8]
push eax
push esi
mov ebx, ecx
push ebx
push 0x413daa
push esi
push esi
mov dword [ebp - 8], esi
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebx + 0x390], eax
cmp eax, esi
jne 0x4141cc
push str.actionerrorvaluespawnthreads
lea ecx, [ebp - 0x10]
call fcn.0042f200
push esi
lea eax, [ebp - 0x10]
push eax
mov ecx, ebx
call fcn.004118f7
lea ecx, [ebp - 0x10]
call fcn.0042f1e0
mov eax, 0x80004005
jmp 0x414524
cmp dword [ebx + 0x28], esi
jne 0x4141f6
cmp dword [ebx + 0x228], esi
jne 0x4141f6
push esi
push 0x40d62a
push esi
push 0x7f
push esi
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.USER32.dll_CreateDialogParamA]
mov dword [ebx + 0x228], eax
lea ecx, [ebp - 0x18]
call fcn.0042ef80
lea eax, [ebp - 0x18]
push eax
push 0xb0
mov ecx, ebx
call fcn.0040e38d
cmp byte [ebp - 0x11], 0xff
lea eax, [ebp - 0x18]
jne 0x41421a
mov eax, dword [ebp - 0x18]
push edi
push eax
push dword [ebx + 0x228]
call dword [sym.imp.USER32.dll_SetWindowTextA]
push 0x640000
push esi
push 0x401
push 0x3f0
push dword [ebx + 0x228]
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
push ebx
push 0xffffffffffffffeb
push dword [ebx + 0x228]
call dword [sym.imp.USER32.dll_SetWindowLongA]
push 5
push dword [ebx + 0x228]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [ebx + 0x228]
call dword [sym.imp.USER32.dll_UpdateWindow]
push 6
pop ecx
xor eax, eax
lea edi, [ebp - 0x58]
mov dword [ebp - 0x5c], esi
rep stosd dword es:[edi], eax
jmp 0x4142ac
push 1
push esi
push esi
push esi
lea eax, [ebp - 0x5c]
push eax
call dword [sym.imp.USER32.dll_PeekMessageA]
cmp eax, esi
je 0x4142a5
lea eax, [ebp - 0x5c]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x5c]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
jmp 0x4142ac
push esi
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebx + 0x390], esi
jne 0x41427c
push dword [ebx + 0x228]
call dword [sym.imp.USER32.dll_DestroyWindow]
mov dword [ebx + 0x228], esi
cmp dword [ebx + 0x38], esi
je 0x414516
cmp dword [ebx + 0x3a0], esi
je 0x414516
cmp dword [ebx + 0x28], esi
jne 0x414322
mov ecx, ebx
call fcn.0040e2a1
test eax, eax
je 0x414322
lea ecx, [ebx + 8]
mov eax, dword [ecx]
push 0x461
call dword [eax]
mov edi, eax
cmp edi, 0x45f
jne 0x41435d
push str.actionclickvaluedlg_plus_continue
lea ecx, [ebp - 0x10]
call fcn.0042f200
push esi
lea eax, [ebp - 0x10]
push eax
mov ecx, ebx
call fcn.004118f7
lea ecx, [ebp - 0x10]
call fcn.0042f1e0
lea ecx, [ebx + 0x22c]
call fcn.0040b0fe
test eax, eax
jge 0x4143c2
push str.actionerrorvaluecreatedialog
lea ecx, [ebp - 0x10]
call fcn.0042f200
push esi
lea eax, [ebp - 0x10]
push eax
mov ecx, ebx
call fcn.004118f7
lea ecx, [ebp - 0x10]
call fcn.0042f1e0
mov esi, 0x80004005
jmp 0x4143b3
mov eax, dword [ebx + 0x64]
mov dword [ebx + 0x68], esi
mov dword [ebx + 0x6c], esi
mov dword [ebx + 0x70], esi
cmp eax, esi
je 0x414377
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [ebx + 0x64], esi
mov dword [ebx + 0x30], 1
lea ecx, [ebp - 0x10]
cmp edi, 0x45e
jne 0x414390
push str.actioncancelvaluedlg_plus_cancel
jmp 0x414395
push str.actioncancelvaluedlg_plus_upgrade
call fcn.0042f200
push esi
lea eax, [ebp - 0x10]
push eax
mov ecx, ebx
call fcn.004118f7
lea ecx, [ebp - 0x10]
call fcn.0042f1e0
mov esi, 0x8000aaa3
lea ecx, [ebp - 0x18]
call fcn.0042f1e0
mov eax, esi
jmp 0x414523
cmp dword [ebx + 0x234], esi
je 0x414335
lea eax, [ebp - 0x3d]
lea ecx, [ebx + 0x320]
push eax
call fcn.00411785
mov esi, eax
lea edi, [ebp - 0x30]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
jmp 0x414476
lea ecx, [ebp - 0x30]
call fcn.0040ff21
lea ecx, [ebp - 0x30]
call fcn.0040ff21
mov esi, eax
add esi, 8
cmp dword [esi + 8], 0
jne 0x41446e
lea edi, [esi + 0x44]
push 0x2c
mov ecx, edi
call fcn.0042efc0
xor ecx, ecx
inc ecx
cmp eax, ecx
mov dword [ebp - 0xc], eax
mov dword [ebp - 4], ecx
jl 0x41446e
push dword [ebp - 4]
lea eax, [ebp - 0x20]
push 0x2c
push eax
mov ecx, edi
call fcn.0042fac0
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebx + 0x36e]
call fcn.00413103
test eax, eax
je 0x41445b
cmp dword [ebx + 0x28], 0
jne 0x41445b
push esi
lea ecx, [ebx + 0x2c4]
call fcn.004301c0
mov dword [esi + 8], 1
lea ecx, [ebp - 0x20]
call fcn.0042f1e0
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0xc]
jle 0x41441f
lea ecx, [ebp - 0x30]
call fcn.0040fdf1
lea eax, [ebp - 0x3d]
push eax
lea ecx, [ebx + 0x320]
call fcn.004117b5
push eax
lea ecx, [ebp - 0x30]
call fcn.0040fe23
test al, al
je 0x4143eb
xor edi, edi
cmp dword [ebx + 0x14], edi
je 0x41450a
mov ebx, 0x4727c8
push ebx
mov esi, str.Gemini
push esi
call fcn.0040345e
pop ecx
pop ecx
cmp eax, edi
je 0x41450a
push edi
push edi
push 0x10
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
push ebx
push esi
call fcn.0040345e
pop ecx
pop ecx
cmp eax, edi
je 0x41450a
lea ecx, [ebp - 4]
push ecx
push eax
mov dword [ebp - 4], edi
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
push dword [ebp - 4]
push 1
push 0x1fffff
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov esi, eax
cmp esi, edi
je 0x41450a
push edi
push esi
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x18]
call fcn.0042f1e0
xor eax, eax
jmp 0x414523
lea ecx, [ebp - 0x18]
call fcn.0042f1e0
mov eax, 0x80004005
pop edi
pop esi
pop ebx
leave
ret