Function at 0x406e10
Capabilities:
Check if file exists
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x53d260
mov eax, dword fs:[0]
push eax
sub esp, 0x420
mov eax, dword [0x580280]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x40c], ecx
mov eax, dword [ebp + 8]
push eax
call fcn.0044dd00
add esp, 4
mov dword [ebp - 0x60], eax
lea ecx, [ebp - 0x118]
call fcn.0045f870
lea ecx, [ebp - 0x118]
push ecx
lea ecx, [ebp - 0xf4]
call fcn.0045f960
mov dword [ebp - 4], 0
push 0
lea ecx, [ebp - 0x5c]
call fcn.00465230
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x60]
push edx
lea ecx, [ebp - 0x380]
call fcn.00405f30
mov byte [ebp - 4], 2
push 1
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp - 0x380]
push ecx
lea ecx, [ebp - 0xf4]
call fcn.0045f9f0
mov byte [ebp - 0x61], al
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x380]
call fcn.00405fb0
movzx edx, byte [ebp - 0x61]
test edx, edx
jne 0x406f1f
cmp dword [ebp + 8], 0
je 0x406eec
mov eax, dword [ebp + 8]
mov dword [ebp - 0x384], eax
mov ecx, dword [ebp - 0x384]
push ecx
call fcn.0047b474
add esp, 4
mov dword [ebp + 8], 0
mov dword [ebp - 0x388], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x5c]
call fcn.00465860
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xf4]
call fcn.004041c0
mov eax, dword [ebp - 0x388]
jmp 0x4074e4
push 0x549d5d
lea ecx, [ebp - 0x2c]
call fcn.00405f30
mov byte [ebp - 4], 3
push 0x549d5e
lea ecx, [ebp - 0x48]
call fcn.00405f30
mov byte [ebp - 4], 4
push 0x549d5f
lea ecx, [ebp - 0x114]
call fcn.00405f30
mov byte [ebp - 4], 5
push 0x549dcc
lea ecx, [ebp - 0x5c]
call fcn.00467580
mov ecx, eax
call fcn.00467cf0
movzx edx, al
test edx, edx
jne 0x406fda
push 0x549dd0
lea ecx, [ebp - 0x5c]
call fcn.00467580
mov ecx, eax
call fcn.00467e40
movzx eax, al
test eax, eax
je 0x406fda
lea ecx, [ebp - 0x3a4]
push ecx
push 0x549dd4
lea ecx, [ebp - 0x5c]
call fcn.00467580
mov ecx, eax
call fcn.00465f30
mov dword [ebp - 0x410], eax
mov edx, dword [ebp - 0x410]
mov dword [ebp - 0x414], edx
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x414]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00404260
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x3a4]
call fcn.00405fb0
push 0x549dd8
lea ecx, [ebp - 0x5c]
call fcn.00467580
mov ecx, eax
call fcn.00467cf0
movzx ecx, al
test ecx, ecx
jne 0x40705f
push 0x549ddc
lea ecx, [ebp - 0x5c]
call fcn.00467580
mov ecx, eax
call fcn.00467e40
movzx edx, al
test edx, edx
je 0x40705f
lea eax, [ebp - 0x3c0]
push eax
push 0x549de0
lea ecx, [ebp - 0x5c]
call fcn.00467580
mov ecx, eax
call fcn.00465f30
mov dword [ebp - 0x418], eax
mov ecx, dword [ebp - 0x418]
mov dword [ebp - 0x41c], ecx
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x41c]
push edx
lea ecx, [ebp - 0x48]
call fcn.00404260
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x3c0]
call fcn.00405fb0
push 0x549de4
lea ecx, [ebp - 0x5c]
call fcn.00467580
mov ecx, eax
call fcn.00467cf0
movzx eax, al
test eax, eax
jne 0x4070e7
push 0x549dec
lea ecx, [ebp - 0x5c]
call fcn.00467580
mov ecx, eax
call fcn.00467e40
movzx ecx, al
test ecx, ecx
je 0x4070e7
lea edx, [ebp - 0x3dc]
push edx
push 0x549df4
lea ecx, [ebp - 0x5c]
call fcn.00467580
mov ecx, eax
call fcn.00465f30
mov dword [ebp - 0x420], eax
mov eax, dword [ebp - 0x420]
mov dword [ebp - 0x424], eax
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x424]
push ecx
lea ecx, [ebp - 0x114]
call fcn.00404260
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x3dc]
call fcn.00405fb0
cmp dword [ebp + 8], 0
je 0x40710c
mov edx, dword [ebp + 8]
mov dword [ebp - 0x3e0], edx
mov eax, dword [ebp - 0x3e0]
push eax
call fcn.0047b474
add esp, 4
mov dword [ebp + 8], 0
push 0
push 0x549dfc
call dword [sym.imp.USER32.dll_FindWindowW]
mov dword [ebp - 0xf8], eax
push str.no_file
lea ecx, [ebp - 0x114]
push ecx
call fcn.004059e0
add esp, 8
movzx edx, al
test edx, edx
je 0x4071c4
push 0x64
push 0
push 0x1f58
mov eax, dword [ebp - 0xf8]
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
push 0
push 0
push 0x1f5a
mov ecx, dword [ebp - 0xf8]
push ecx
call dword [sym.imp.USER32.dll_PostMessageW]
mov dword [ebp - 0x3e4], 0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x114]
call fcn.00405fb0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x48]
call fcn.00405fb0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2c]
call fcn.00405fb0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x5c]
call fcn.00465860
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xf4]
call fcn.004041c0
mov eax, dword [ebp - 0x3e4]
jmp 0x4074e4
push 0x549d6f
lea edx, [ebp - 0x48]
push edx
call fcn.00407b00
add esp, 8
movzx eax, al
test eax, eax
je 0x407420
lea ecx, [ebp - 0x48]
push ecx
lea edx, [ebp - 0x400]
push edx
call fcn.0044ed60
add esp, 8
mov dword [ebp - 0x428], eax
mov eax, dword [ebp - 0x428]
mov dword [ebp - 0x42c], eax
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x42c]
push ecx
mov ecx, dword [ebp - 0x40c]
add ecx, 0x24
call fcn.004078a0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x400]
call fcn.00406040
xor edx, edx
mov word [ebp - 0x324], dx
push 0x206
push 0
lea eax, [ebp - 0x322]
push eax
call fcn.00486c20
add esp, 0xc
lea ecx, [ebp - 0x324]
push ecx
mov ecx, dword [ebp - 0x40c]
add ecx, 0x24
call fcn.004012c0
push eax
call fcn.0044dc80
add esp, 8
lea edx, [ebp - 0x324]
push edx
lea ecx, [ebp - 0x340]
call fcn.00401280
mov byte [ebp - 4], 0xa
call fcn.004058c0
mov ecx, eax
call fcn.00447840
push eax
lea ecx, [ebp - 0x360]
call fcn.00401280
mov byte [ebp - 4], 0xb
push 0x549e28
lea ecx, [ebp - 0x360]
call fcn.004078c0
lea eax, [ebp - 0x324]
push eax
lea ecx, [ebp - 0x360]
call fcn.004078c0
lea ecx, [ebp - 0x360]
push ecx
mov ecx, dword [ebp - 0x40c]
add ecx, 0x40
call fcn.004078a0
mov ecx, dword [ebp - 0x40c]
add ecx, 0x40
call fcn.004012c0
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x407303
mov ecx, dword [ebp - 0x40c]
add ecx, 0x40
call fcn.004012c0
push eax
call fcn.0044e440
add esp, 4
push 0
push 0
mov edx, dword [ebp - 0x40c]
push edx
push 0x407840
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0x344], eax
mov eax, dword [ebp - 0x344]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, 1
test ecx, ecx
je 0x407402
mov edx, dword [ebp - 0x40c]
fld dword [edx + 0x10]
call fcn.00487bc0
mov dword [ebp - 0x364], eax
mov eax, dword [ebp - 0x40c]
movzx ecx, byte [eax + 0x5d]
test ecx, ecx
je 0x40739b
cmp dword [ebp - 0xf8], 0
je 0x407399
mov edx, dword [ebp - 0x364]
push edx
push 0
push 0x1f58
mov eax, dword [ebp - 0xf8]
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
push 0
push 0
push 0x1f5a
mov ecx, dword [ebp - 0xf8]
push ecx
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x407402
mov edx, dword [ebp - 0x40c]
movzx eax, byte [edx + 0x5c]
test eax, eax
je 0x4073d7
cmp dword [ebp - 0xf8], 0
je 0x4073cd
mov ecx, dword [ebp - 0x364]
push ecx
push 0
push 0x1f58
mov edx, dword [ebp - 0xf8]
push edx
call dword [sym.imp.USER32.dll_PostMessageW]
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x4073fd
cmp dword [ebp - 0xf8], 0
je 0x4073fb
mov eax, dword [ebp - 0x364]
push eax
push 1
push 0x1f58
mov ecx, dword [ebp - 0xf8]
push ecx
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x407402
jmp 0x407330
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x360]
call fcn.00406040
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x340]
call fcn.00406040
push 0x549e38
lea edx, [ebp - 0x2c]
push edx
call fcn.004059e0
add esp, 8
movzx eax, al
test eax, eax
je 0x40748f
mov dword [ebp - 0x404], 1
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x114]
call fcn.00405fb0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x48]
call fcn.00405fb0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2c]
call fcn.00405fb0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x5c]
call fcn.00465860
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xf4]
call fcn.004041c0
mov eax, dword [ebp - 0x404]
jmp 0x4074e4
mov dword [ebp - 0x408], 0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x114]
call fcn.00405fb0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x48]
call fcn.00405fb0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2c]
call fcn.00405fb0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x5c]
call fcn.00465860
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xf4]
call fcn.004041c0
mov eax, dword [ebp - 0x408]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00486c08
mov esp, ebp
pop ebp
ret 4