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

Disassembly:
mov eax, dword [0x4142f8]
push esi
push 0
push 0
push pe_nt_image_headers32
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
cmp eax, 1
mov esi, dword [sym.imp.USER32.dll_EnableWindow]
push 0
jne 0x402f4e
mov ecx, dword [0x4142fc]
push ecx
call esi
mov edx, dword [0x414300]
push 1
push edx
call esi
mov eax, dword [0x414304]
push 1
push eax
call esi
mov ecx, dword [0x414308]
push 1
push ecx
call esi
pop esi
ret
mov edx, dword [0x4142fc]
push edx
call esi
mov eax, dword [0x414300]
push 0
push eax
call esi
mov ecx, dword [0x414304]
push 0
push ecx
call esi
mov edx, dword [0x414308]
push 0
push edx
call esi
pop esi
ret
sub esp, 0x22c
push edi
push 2
xor edi, edi
push edi
call dword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
jl 0x403042
mov ecx, dword [esp + 0x234]
xor eax, eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
push esi
lea eax, [esp + 0xc]
lea edx, [esp + 0x2c]
push eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], str.Specify_the_location_of_DOS_system_files
mov dword [esp + 0x20], 0x201
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
call dword [sym.imp.SHELL32.dll_SHBrowseForFolderW]
mov esi, eax
cmp esi, edi
je 0x40303b
lea ecx, [esp + 0x2c]
push ecx
push esi
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
lea edx, [esp + 8]
push edx
mov dword [esp + 0xc], edi
call dword [sym.imp.SHELL32.dll_SHGetMalloc]
mov eax, dword [esp + 8]
mov ecx, dword [eax]
push esi
push eax
call dword [ecx + 0x14]
mov eax, dword [esp + 8]
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov ecx, dword [0x414304]
lea eax, [esp + 0x2c]
push eax
push ecx
call dword [sym.imp.USER32.dll_SetWindowTextW]
call dword [sym.imp.ole32.dll_CoUninitialize]
pop esi
pop edi
add esp, 0x22c
ret
mov eax, dword [0x41431c]
sub esp, 0xb3c
test eax, eax
push esi
je 0x4053d9
mov ecx, dword [0x4129d0]
mov esi, dword [sym.imp.USER32.dll_LoadStringW]
push 0x80
lea eax, [esp + 0x3c]
push eax
push 1
push ecx
call esi
mov eax, dword [0x4129d0]
push 0x400
lea edx, [esp + 0x344]
push edx
push 8
push eax
call esi
mov eax, dword [esp + 0xb44]
push 0x24
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x348]
push edx
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 7
je 0x405997
mov ecx, dword [0x414314]
push 0
push ecx
mov dword [0x4129fc], 1
call dword [sym.imp.USER32.dll_EnableWindow]
pop esi
add esp, 0xb3c
ret
mov edx, dword [0x4142f8]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push ebx
push 0
push 0
push pe_nt_image_headers32
push edx
call esi
cmp eax, 1
mov ebx, dword [sym.imp.USER32.dll_GetWindowTextW]
jne 0x40551f
mov eax, dword [0x4142fc]
push 0
push 0
push pe_nt_image_headers32
push eax
call esi
cmp eax, 1
jne 0x405423
mov word [esp + 0x13c], 0
jmp 0x405459
mov edx, dword [0x414304]
push 0x104
lea ecx, [esp + 0x140]
push ecx
push edx
call ebx
cmp word [esp + 0x13c], 0
jne 0x405459
lea eax, [esp + 0x13c]
push 0x40f890
push eax
call fcn.004066a3
add esp, 8
lea ecx, [esp + 0x13c]
push 0x412a20
push ecx
call fcn.00403050
add esp, 8
test eax, eax
jne 0x4054d6
mov eax, dword [0x4129d0]
mov esi, dword [sym.imp.USER32.dll_LoadStringW]
push 0x80
lea edx, [esp + 0x40]
push edx
push 9
push eax
call esi
mov edx, dword [0x4129d0]
push 0x400
lea ecx, [esp + 0x348]
push ecx
push 0xc
push edx
call esi
mov edx, dword [esp + 0xb48]
push 0x10
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x34c]
push ecx
push edx
call dword [sym.imp.USER32.dll_MessageBoxW]
mov eax, dword [0x414304]
push eax
call dword [sym.imp.USER32.dll_SetFocus]
pop ebx
pop esi
add esp, 0xb3c
ret
mov eax, dword [0x412a20]
cmp eax, 2
je 0x40551f
cmp eax, 3
je 0x40551f
mov ecx, dword [0x4142e8]
push 0x104
push 0x412e48
push ecx
call ebx
mov edx, dword [str.FAT32]
push edx
push 0x412e48
call fcn.00406b5e
add esp, 8
test eax, eax
jne 0x40551f
push eax
push eax
mov eax, dword [0x4142e8]
push 0x14e
push eax
call esi
mov edx, dword [0x4129d0]
push edi
mov edi, dword [sym.imp.USER32.dll_LoadStringW]
push 0x104
lea ecx, [esp + 0x144]
push ecx
push 0x22
push edx
call edi
mov ecx, dword [0x41430c]
lea eax, [esp + 0x140]
push eax
push ecx
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov edx, dword [0x4142e4]
push 0
push 0
push 0x147
push edx
call esi
cmp eax, 0xffffffff
je 0x405995
push ebp
mov ebp, eax
imul ebp, ebp, 0x84
xor edx, edx
mov dl, byte [ebp + 0x413260]
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x18]
push ecx
push edx
call fcn.00401190
add esp, 0xc
test eax, eax
je 0x4055bc
mov ecx, dword [ebp + 0x4132a4]
mov eax, dword [esp + 0x14]
cmp ecx, eax
mov ecx, dword [esp + 0x10]
jne 0x4055b0
cmp dword [ebp + 0x4132a8], ecx
je 0x4055bc
mov dword [ebp + 0x4132a4], eax
mov dword [ebp + 0x4132a8], ecx
cmp dword [ebp + 0x4132a4], 0xb40
jae 0x405629
mov ecx, dword [0x4129d0]
push 0x80
lea eax, [esp + 0x48]
push eax
push 9
push ecx
call edi
mov eax, dword [0x4129d0]
push 0x400
lea edx, [esp + 0x350]
push edx
push 0xe
push eax
call edi
mov eax, dword [esp + 0xb50]
push 0x10
lea ecx, [esp + 0x48]
push ecx
lea edx, [esp + 0x354]
push edx
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
mov ecx, dword [0x4142e4]
push ecx
call dword [sym.imp.USER32.dll_SetFocus]
pop ebp
pop edi
pop ebx
pop esi
add esp, 0xb3c
ret
mov ax, word [ebp + 0x4132ac]
test ax, ax
je 0x40570b
movzx edx, ax
push edx
lea eax, [esp + 0x28]
push str.._c:
push eax
call fcn.0040660a
add esp, 0xc
push 0
push 0
push 3
push 0
push 3
push 0xc0000000
lea ecx, [esp + 0x3c]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
cmp edi, 0xffffffff
je 0x40569e
push 0
lea edx, [esp + 0x24]
push edx
push 0
push 0
push 0
push 0
push 0x90018
push edi
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
push edi
mov dword [esp + 0x1c], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x405705
mov ecx, dword [0x4129d0]
mov esi, dword [sym.imp.USER32.dll_LoadStringW]
push 0x80
lea eax, [esp + 0x48]
push eax
push 9
push ecx
call esi
mov eax, dword [0x4129d0]
push 0x400
lea edx, [esp + 0x350]
push edx
push 0xf
push eax
call esi
mov eax, dword [esp + 0xb50]
push 0x10
lea ecx, [esp + 0x48]
push ecx
lea edx, [esp + 0x354]
push edx
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
mov ecx, dword [0x4142e4]
push ecx
call dword [sym.imp.USER32.dll_SetFocus]
pop ebp
pop edi
pop ebx
pop esi
add esp, 0xb3c
ret
mov edi, dword [sym.imp.USER32.dll_LoadStringW]
mov edx, dword [0x4142e4]
push 0x104
push 0x413050
push edx
call ebx
mov ecx, dword [0x4129d0]
push 0x80
lea eax, [esp + 0x48]
push eax
push 1
push ecx
call edi
mov eax, dword [0x4129d0]
push 0x104
lea edx, [esp + 0x148]
push edx
push 6
push eax
call edi
push 0x413050
lea ecx, [esp + 0x148]
push ecx
lea edx, [esp + 0x354]
push edx
call fcn.0040660a
mov edx, dword [esp + 0xb5c]
add esp, 0xc
push 0x24
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x354]
push ecx
push edx
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 7
je 0x405994
xor eax, eax
push 0x104
mov ecx, 0x12
mov edi, 0x4129d8
rep stosd dword es:[edi], eax
mov eax, dword [0x4142e8]
push 0x412e48
push eax
call ebx
mov ecx, dword [0x4142ec]
push 0x104
push 0x412c40
push ecx
call ebx
mov edx, dword [0x4142f0]
push 0
push 0
push pe_nt_image_headers32
push edx
call esi
dec eax
neg eax
sbb eax, eax
push 0
inc eax
push 0
mov dword [0x412c38], eax
mov eax, dword [0x4142f4]
push pe_nt_image_headers32
push eax
call esi
mov ecx, dword [0x4142f8]
dec eax
push 0
neg eax
push 0
sbb eax, eax
push pe_nt_image_headers32
inc eax
push ecx
mov dword [0x412c34], eax
call esi
mov edx, dword [0x414304]
dec eax
neg eax
push 0x104
sbb eax, eax
push 0x412a28
inc eax
push edx
mov dword [0x412c30], eax
call ebx
mov al, byte [ebp + 0x413260]
mov edx, dword [0x412c38]
mov ecx, dword [0x412a20]
mov byte [0x4129d8], al
mov eax, dword [0x412c30]
mov dword [0x4129dc], eax
neg eax
sbb eax, eax
mov dword [0x4129e8], edx
mov edx, dword [esp + 0xb50]
and eax, 0x19
add eax, 0x64
mov dword [0x412a18], edx
movzx edx, ax
mov eax, dword [0x414310]
shl edx, 0x10
push edx
mov dword [0x4129e4], ecx
mov ecx, dword [0x412c34]
push 0
mov dword [0x4129ec], ecx
mov ecx, dword [0x41430c]
push 0x401
mov dword [0x4129e0], 0x412a28
mov dword [0x4129f0], 0x412c40
mov dword [0x4129f4], 0x412e48
mov dword [0x4129f8], 0
mov dword [0x412a1c], ecx
push eax
call esi
mov ecx, dword [0x41430c]
mov edi, dword [sym.imp.USER32.dll_SetWindowTextW]
push 0x40e350
push ecx
call edi
mov edx, dword [0x414310]
push 0
push 0
push 0x402
push edx
call esi
lea eax, [esp + 0x1c]
push eax
push 0
push 0x4129d8
push 0x405210
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
test eax, eax
jne 0x405931
mov ecx, dword [0x412a18]
push eax
push eax
push 0x8002
push ecx
mov dword [0x412a00], 0x80010000
call dword [sym.imp.USER32.dll_PostMessageW]
pop ebp
pop edi
pop ebx
pop esi
add esp, 0xb3c
ret
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x4129d0]
push 0x104
lea edx, [esp + 0x148]
push edx
push 7
push eax
call dword [sym.imp.USER32.dll_LoadStringW]
mov edx, dword [0x414314]
lea ecx, [esp + 0x144]
push ecx
push edx
call edi
mov eax, dword [0x4142e4]
mov esi, dword [sym.imp.USER32.dll_EnableWindow]
push 0
push eax
call esi
mov ecx, dword [0x4142e8]
push 0
push ecx
call esi
mov edx, dword [0x4142ec]
push 0
push edx
call esi
mov dword [0x41431c], 1
pop ebp
pop edi
pop ebx
pop esi
add esp, 0xb3c
ret
mov eax, dword [esp + 8]
cmp eax, 0x3f1
jg 0x405cec
je 0x405cc7
cmp eax, 0x3eb
jg 0x405c9b
je 0x405c5d
test eax, eax
jle 0x405d1e
cmp eax, 2
jle 0x405c42
cmp eax, 0x3e9
jne 0x405d1e
mov eax, dword [esp + 0x10]
dec eax
jne 0x405d1e
mov eax, dword [esp + 0xc]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x103e9
mov dword [esp + 8], 0x111
jmp fcn.00402d10
mov ecx, dword [0x41431c]
test ecx, ecx
jne 0x405d1e
mov edx, dword [esp + 4]
push eax
push edx
call dword [sym.imp.USER32.dll_EndDialog]
ret
mov eax, dword [esp + 0x10]
dec eax
jne 0x405d1e
call fcn.00402ca0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 4]
push eax
push 0x103eb
push 0x111
push ecx
call fcn.00405290
mov eax, dword [0x414320]
add esp, 0x10
test eax, eax
je 0x405d1e
jmp fcn.00402c20
cmp eax, 0x3ef
jne 0x405d1e
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x405d1e
mov edx, dword [esp + 0xc]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], 0x3ef
mov dword [esp + 8], 0x111
jmp 0x402f00
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x405d1e
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], 0x3f1
mov dword [esp + 8], 0x111
jmp 0x402f80
sub eax, 0x3f3
je 0x405d44
dec eax
push esi
je 0x405d1f
dec eax
jne 0x405d1d
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x405d1d
mov eax, dword [0x414304]
mov esi, dword [sym.imp.USER32.dll_EnableWindow]
push 0
push eax
call esi
mov ecx, dword [0x414308]
push 0
push ecx
call esi
pop esi
ret
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x405d1d
mov edx, dword [0x414304]
mov esi, dword [sym.imp.USER32.dll_EnableWindow]
push 1
push edx
call esi
mov eax, dword [0x414308]
push 1
push eax
call esi
pop esi
ret
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x405d1e
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], 0x3f3
mov dword [esp + 8], 0x111
jmp 0x405350