Function at 0x108e86b
Capabilities:
Terminate process

Disassembly:
sub esp, 0x70
mov eax, dword [0x10d58d4]
xor eax, dword [esp + 0x70]
push ebx
push ebp
push esi
push edi
push 0x3ea
mov dword [esp + 0x80], eax
mov esi, ecx
call fcn.0108e58f
push 0x3e8
mov ecx, esi
mov edi, eax
call fcn.0108e58f
xor ebx, ebx
cmp edi, ebx
mov ebp, eax
je 0x108eab4
cmp ebp, ebx
je 0x108eab4
push 0x3f8
push dword [esi]
call dword [sym.imp.USER32.dll_IsDlgButtonChecked]
test eax, eax
mov ecx, esi
je 0x108e9dd
mov dword [esi + 0xc], edi
mov edi, 0x3eb
push edi
mov byte [esi + 8], 1
mov dword [esi + 0x10], ebp
call fcn.0108e610
push 1
push dword [esi + 0x24]
call fcn.0108d977
pop ecx
pop ecx
push eax
push dword [esi + 0x24]
mov ecx, esi
push edi
call fcn.0108e517
push ebx
push edi
mov ecx, esi
call fcn.0108e54d
push ebx
mov ebx, dword [sym.imp.USER32.dll_GetDlgItem]
push edi
push dword [esi]
call ebx
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push dword [esi + 0x1c]
movzx edi, word [esi + 0x1c]
push dword [esi + 0x18]
movzx eax, word [esi + 0x18]
shl edi, 0x10
push 0x1012534
or edi, eax
lea eax, [esp + 0x54]
push 0x32
push eax
call sub.msvcrt.dll__snprintf
and byte [esp + 0x8d], 0
add esp, 0x14
mov ebp, 0x3ec
push ebp
mov ecx, esi
call fcn.0108e610
lea eax, [esp + 0x48]
push eax
push edi
push ebp
mov ecx, esi
call fcn.0108e517
push 0
push ebp
mov ecx, esi
call fcn.0108e54d
push 0
push ebp
push dword [esi]
call ebx
mov edi, dword [sym.imp.USER32.dll_EnableWindow]
push eax
call edi
mov eax, dword [esi + 0x20]
test eax, eax
jne 0x108e98d
push 0x1012524
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x108e9a2
push eax
push 0x101251c
lea eax, [esp + 0x1c]
push 0x32
push eax
call sub.msvcrt.dll__snprintf
add esp, 0x10
and byte [esp + 0x45], 0
mov ebp, 0x3ee
push ebp
mov ecx, esi
call fcn.0108e610
lea eax, [esp + 0x14]
push eax
push dword [esi + 0x20]
mov ecx, esi
push ebp
call fcn.0108e517
push 0
push ebp
mov ecx, esi
call fcn.0108e54d
push 0
push ebp
push dword [esi]
call ebx
push eax
call edi
jmp 0x108eab4
and byte [esi + 8], 0
mov dword [esi + 0x44], edi
mov edi, 0x3eb
push edi
mov dword [esi + 0x48], ebp
call fcn.0108e610
mov ecx, dword [ebp + 0x138]
cmp dword [ecx + 0xc], ebx
mov dword [esp + 0x10], ebx
jbe 0x108ea61
push dword [esp + 0x10]
call fcn.0108e323
cmp byte [eax + 0x10], 0
jne 0x108ea4c
mov ebx, dword [eax + 8]
push 1
push ebx
call fcn.0108d977
pop ecx
pop ecx
push eax
push edi
mov ecx, esi
call fcn.0108e62f
test al, al
jne 0x108ea4c
push 1
push ebx
call fcn.0108d977
pop ecx
pop ecx
push eax
push ebx
push edi
mov ecx, esi
call fcn.0108e517
cmp ebx, dword [esi + 0x5c]
jne 0x108ea4c
push ebx
push edi
mov ecx, esi
call fcn.0108e731
inc dword [esp + 0x10]
mov ecx, dword [ebp + 0x138]
mov eax, dword [esp + 0x10]
cmp eax, dword [ecx + 0xc]
jb 0x108ea01
xor ebx, ebx
push edi
mov ecx, esi
call fcn.0108e5c9
test al, al
jne 0x108ea82
push edi
mov ecx, esi
call fcn.0108e5f1
test eax, eax
jbe 0x108ea82
push ebx
push edi
mov ecx, esi
call fcn.0108e54d
push 1
push edi
push dword [esi]
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
call edi
mov ebx, dword [sym.imp.USER32.dll_EnableWindow]
push eax
call ebx
push 1
push 0x3ec
push dword [esi]
call edi
push eax
call ebx
push 1
push 0x3ee
push dword [esi]
call edi
push eax
call ebx
mov ecx, dword [esp + 0x7c]
xor ecx, dword [esp + 0x80]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x70
jmp fcn.0108f638