Function at 0x408d40
Capabilities:
Create thread
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov eax, dword [0x42f00c]
xor eax, ebp
mov dword [ebp - 4], eax
cmp byte [0x430519], 0
push ebx
push esi
push edi
je 0x408d60
xor eax, eax
mov byte [eax], al
cmp byte [0x43051a], 0
je 0x408d6e
call fcn.00409160
mov ecx, dword [0x4305fc]
mov edx, 0x42b5cc
call fcn.0040cae0
mov esi, eax
mov ecx, esi
call fcn.00409ad0
push esi
call fcn.004130f2
add esp, 4
mov ecx, 0x42f8d0
call fcn.0040b1f0
call fcn.00409f70
cmp dword [0x42f8d0], 0
sete bl
test bl, bl
je 0x408dec
mov esi, dword [0x42a5f0]
mov ecx, str.Thank_you_for_choosing_RepairPartner_
call fcn.00407030
test eax, eax
je 0x408dce
push eax
call fcn.00414e66
add esp, 4
mov edi, eax
jmp 0x408dd0
xor edi, edi
push dword [0x430a80]
call fcn.004130f2
add esp, 4
mov dword [0x430a80], edi
mov dword [0x42f8cc], esi
jmp 0x408df9
call fcn.0040a130
push 0x30
call dword [sym.imp.USER32.dll_MessageBeep]
call fcn.00409dd0
test bl, bl
je 0x409037
mov edi, dword [0x4305f0]
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0
push 0xe
push edi
call ebx
mov dword [ebp - 0x1c], eax
inc eax
push 2
push eax
mov dword [ebp - 0x18], eax
call fcn.004131c4
mov esi, eax
add esp, 8
test esi, esi
je 0x408e68
push esi
push dword [ebp - 0x18]
push 0xd
push edi
call ebx
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov word [esi + eax*2], cx
xor eax, eax
cmp ax, word [esi]
je 0x408e68
push dword [0x4305fc]
call fcn.004130f2
add esp, 4
push esi
call fcn.00414e66
add esp, 4
mov dword [0x4305fc], eax
push esi
call fcn.004130f2
add esp, 4
mov dword [ebp - 0x18], 0
lea eax, [ebp - 0x14]
push eax
push dword [0x4305e8]
call dword [sym.imp.USER32.dll_GetClientRect]
test eax, eax
je 0x408e95
mov eax, dword [ebp - 0xc]
sub eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
fld dword [0x42f8c8]
fmul qword [0x42cdf0]
call fcn.0041f320
mov edx, dword [0x4305f4]
sub esp, 0x10
mov ecx, esp
push ecx
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], edx
lea ecx, [ebp - 0x2c]
call fcn.00407dd0
fld dword [0x42f8c8]
add esp, 0x14
fmul qword [0x42cde0]
mov ebx, dword [eax + 4]
mov edi, dword [eax + 0xc]
call fcn.0041f320
push 0
push 0
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov ecx, dword [ebp - 0x18]
push eax
push 0
push dword [0x4305e8]
lea eax, [esi + esi]
push edi
sub ecx, eax
push ecx
push ebx
push esi
push 0x50000000
push 0
push str.msctls_progress32
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
xor edx, edx
mov dword [0x4305e4], eax
mov esi, 2
cmp dword [0x42f880], edx
je 0x408f4d
xor ecx, ecx
cmp byte [ecx + 0x42f884], 0
je 0x408f3c
inc esi
inc edx
lea ecx, [edx*8]
cmp dword [ecx + 0x42f880], 0
jne 0x408f32
push esi
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0x406
push eax
call esi
push 0
push 1
push 0x404
push dword [0x4305e4]
call esi
mov eax, dword [0x4305a4]
mov esi, dword [sym.imp.USER32.dll_DestroyWindow]
test eax, eax
je 0x408f8b
push eax
call esi
mov dword [0x4305a4], 0
mov eax, dword [0x4305f0]
test eax, eax
je 0x408fa1
push eax
call esi
mov dword [0x4305f0], 0
mov eax, dword [0x430610]
test eax, eax
je 0x408fb7
push eax
call esi
mov dword [0x430610], 0
mov eax, dword [0x4305dc]
test eax, eax
je 0x408fcd
push eax
call esi
mov dword [0x4305dc], 0
push 0
push dword [0x4305e0]
call dword [sym.imp.USER32.dll_EnableWindow]
mov esi, dword [0x42a5f4]
mov ecx, str.Installation_in_progress...
call fcn.00407030
test eax, eax
je 0x408ffc
push eax
call fcn.00414e66
add esp, 4
mov edi, eax
jmp 0x408ffe
xor edi, edi
push dword [0x430a80]
call fcn.004130f2
add esp, 4
mov dword [0x430a80], edi
mov dword [0x42f8cc], esi
call fcn.00409dd0
push 0
push 0
push 0
push fcn.00408c00
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [0x430608], eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0040e38c
mov esp, ebp
pop ebp
ret