Function at 0x40bbb0
Capabilities:
Create thread
Get common file path
Get graphical window text
Hide graphical window

Disassembly:
sub esp, 0x440
mov eax, dword [0x44a2b8]
xor eax, esp
mov dword [esp + 0x438], eax
push ebx
movzx eax, cx
cmp eax, 0x3f6
push esi
push edi
mov esi, edx
jg 0x40bd11
je 0x40bce5
cmp eax, 0x3ea
jg 0x40bcb9
cmp eax, 0x3e8
jge 0x40bc1a
sub eax, 2
je 0x40bbfd
sub eax, 6
jne 0x40c135
call fcn.004077e0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x438]
xor ecx, esp
call fcn.00424e88
add esp, 0x440
ret
cmp cx, 0x3e9
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
jne 0x40bc70
push 5
push 0x414
push esi
call edi
mov ebx, dword [sym.imp.USER32.dll_ShowWindow]
push eax
call ebx
push 5
push 0x415
push esi
call edi
push eax
call ebx
push 1
push 0x415
push esi
call edi
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x438]
xor ecx, esp
call fcn.00424e88
add esp, 0x440
ret
push 0
push 0x414
push esi
call edi
mov ebx, dword [sym.imp.USER32.dll_ShowWindow]
push eax
call ebx
push 0
push 0x415
push esi
call edi
push eax
call ebx
push 0
push 0x415
push esi
call edi
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x438]
xor ecx, esp
call fcn.00424e88
add esp, 0x440
ret
cmp eax, 0x3f5
jne 0x40c135
push 6
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x438]
xor ecx, esp
call fcn.00424e88
add esp, 0x440
ret
mov ecx, dword [0x44cd94]
add ecx, 0xffffffff
js 0x40c135
call fcn.00407700
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x438]
xor ecx, esp
call fcn.00424e88
add esp, 0x440
ret
sub eax, 0x3f8
je 0x40bf0f
sub eax, 0x19
je 0x40be07
sub eax, 4
jne 0x40c135
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
push 0x104
push 0x44b490
push 0x414
push esi
call edi
push eax
call dword [sym.imp.USER32.dll_GetWindowTextW]
lea eax, [esp + 0xc]
push eax
push 0
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
test eax, eax
jne 0x40c135
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x10]
lea edx, [esp + 0x238]
push eax
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], 0x44233c
mov dword [esp + 0x24], 0x45
mov dword [esp + 0x28], 0x409e50
call dword [sym.imp.SHELL32.dll_SHBrowseForFolderW]
test eax, eax
je 0x40c135
lea ecx, [esp + 0x30]
push ecx
push eax
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
lea eax, [esp + 0x30]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x40bdc1
sub eax, edx
sar eax, 1
cmp eax, 0x96
ja 0x40bee2
lea edx, [esp + 0x30]
push edx
push 0x414
push esi
call edi
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x438]
xor ecx, esp
call fcn.00424e88
add esp, 0x440
ret
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
push 0x104
push 0x44b490
push 0x410
push esi
call edi
push eax
call dword [sym.imp.USER32.dll_GetWindowTextW]
lea eax, [esp + 0xc]
push eax
push 0
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
test eax, eax
jne 0x40c135
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x10]
lea edx, [esp + 0x238]
push eax
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], 0x442304
mov dword [esp + 0x24], 0x45
mov dword [esp + 0x28], 0x409e50
call dword [sym.imp.SHELL32.dll_SHBrowseForFolderW]
test eax, eax
je 0x40c135
lea ecx, [esp + 0x30]
push ecx
push eax
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
lea eax, [esp + 0x30]
lea edx, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x40bea0
sub eax, edx
sar eax, 1
cmp eax, 0x96
ja 0x40bee2
lea edx, [esp + 0x30]
push edx
push 0x410
push esi
call edi
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x438]
xor ecx, esp
call fcn.00424e88
add esp, 0x440
ret
push 0x10
push 0x4418d4
push esi
mov ecx, 0x442318
call fcn.00407d60
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x438]
xor ecx, esp
call fcn.00424e88
add esp, 0x440
ret
push 0
push 0
push esi
push 0x409ed0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push 0x104
push 0x44f018
push 0x410
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_GetWindowTextW]
call fcn.0040bab0
test eax, eax
jne 0x40bf76
push 0x10
push 0x4418d4
push esi
mov ecx, 0x442290
call fcn.00407d60
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x438]
xor ecx, esp
call fcn.00424e88
add esp, 0x440
ret
mov eax, 0x44f018
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x40bf80
sub eax, edx
sar eax, 1
cmp word [eax*2 + 0x44f016], 0x5c
jne 0x40bfb9
mov eax, 0x44f018
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x40bfa2
sub eax, edx
sar eax, 1
mov word [eax*2 + 0x44f016], cx
cmp dword [0x44e65c], 0
jne 0x40c063
mov edi, dword [0x44b224]
xor eax, eax
cmp eax, dword [0x4514fc]
jl 0x40c063
jg 0x40bfe4
cmp edi, dword [0x4514f8]
jb 0x40c063
push 0x206
lea eax, [esp + 0x36]
push 0
push eax
mov word [esp + 0x3c], 0
call fcn.00429d70
test edi, edi
mov dword [esp + 0x18], edi
fild dword [esp + 0x18]
jge 0x40c00e
fadd dword [0x445b88]
fld qword [0x445b80]
add esp, 4
fmul st(1), st(0)
lea ecx, [esp + 0x38]
fmulp st(1)
fstp qword [esp]
push 0x4422b8
push 0x208
push 0x104
push ecx
call fcn.00425032
push 0x30
push 0x4418d4
push esi
lea ecx, [esp + 0x54]
call fcn.00407d60
add esp, 0x24
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x438]
xor ecx, esp
call fcn.00424e88
add esp, 0x440
ret
call fcn.0040de60
mov edi, esi
call fcn.0040e430
test eax, eax
je 0x40c135
mov ebx, esi
call fcn.0040e860
test eax, eax
je 0x40c135
push esi
call fcn.0040e9c0
add esp, 4
test eax, eax
je 0x40c135
push esi
call fcn.0040c410
add esp, 4
test eax, eax
je 0x40c135
push esi
mov ecx, 0x44f018
call fcn.0040ec70
add esp, 4
test eax, eax
jne 0x40c0eb
push 0
push 0
push 0xf5
push 2
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x438]
xor ecx, esp
call fcn.00424e88
add esp, 0x440
ret
push 0x44f018
push 0x44dd48
call fcn.004255c9
add esp, 8
test eax, eax
je 0x40c113
push esi
mov ecx, 0x44dd48
call fcn.0040ec70
add esp, 4
test eax, eax
je 0x40c0ba
call fcn.004077c0
mov edx, dword [0x44ecb8]
push 0
push 0x32
push 0
push edx
mov dword [0x44eca8], 1
call dword [sym.imp.USER32.dll_SetTimer]
mov ecx, dword [esp + 0x444]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00424e88
add esp, 0x440
ret