Function at 0x1000d800
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xcc0
mov dword [ebp - 0xcc0], ecx
mov dword [ebp - 0x398], 0x10017270
mov dword [ebp - 0x3b0], str.Forth
mov dword [ebp - 0x210], 0
mov dword [ebp - 0x20c], 0
mov dword [ebp - 0x394], 0
mov dword [ebp - 0xba8], 0
mov dword [ebp - 0xba0], 0
mov dword [ebp - 0xba4], 0
mov dword [ebp - 0xb9c], 0
lea ecx, [ebp - 0xb98]
call fcn.100026f0
mov dword [ebp - 0x39c], 1
xor eax, eax
shl eax, 4
mov ecx, dword [ebp - 0xcc0]
lea edx, [ecx + eax + 0x1204]
mov eax, dword [edx]
mov dword [ebp - 0x3c0], eax
mov ecx, dword [edx + 4]
mov dword [ebp - 0x3bc], ecx
mov eax, dword [edx + 8]
mov dword [ebp - 0x3b8], eax
mov ecx, dword [edx + 0xc]
mov dword [ebp - 0x3b4], ecx
xor edx, edx
shl edx, 4
mov eax, dword [ebp - 0xcc0]
lea ecx, [eax + edx + 0xb20]
mov edx, dword [ecx]
mov dword [ebp - 0x300], edx
mov eax, dword [ecx + 4]
mov dword [ebp - 0x2fc], eax
mov edx, dword [ecx + 8]
mov dword [ebp - 0x2f8], edx
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x2f4], eax
mov ecx, dword [ebp - 0x398]
push ecx
lea edx, [ebp - 0x2f0]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [ebp - 0xfc], 0
mov eax, dword [ebp - 0xcc0]
mov ecx, dword [eax + 0xb1c]
mov dword [ebp - 0xc74], ecx
cmp dword [ebp - 0xc74], 0
jne 0x1000d941
mov dword [ebp - 0xbac], 0
lea ecx, [ebp - 0xb98]
call fcn.10002b60
mov eax, dword [ebp - 0xbac]
jmp 0x1000e10b
xor edx, edx
shl edx, 4
mov eax, dword [ebp - 0xcc0]
lea ecx, [eax + edx + 0x1204]
mov edx, dword [ecx]
mov dword [ebp - 0xbbc], edx
mov eax, dword [ecx + 4]
mov dword [ebp - 0xbb8], eax
mov edx, dword [ecx + 8]
mov dword [ebp - 0xbb4], edx
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0xbb0], eax
cmp dword [ebp - 0xbbc], 0
je 0x1000dd1d
xor ecx, ecx
shl ecx, 4
mov edx, dword [ebp - 0xcc0]
lea eax, [edx + ecx + 0x1204]
mov ecx, dword [eax]
mov dword [ebp - 0xbcc], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0xbc8], edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0xbc4], ecx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0xbc0], edx
lea eax, [ebp - 0xfc]
push eax
mov ecx, dword [ebp - 0xbcc]
push ecx
mov ecx, dword [ebp - 0xcc0]
call fcn.1000d2a0
mov dword [ebp - 0x39c], eax
mov edx, dword [ebp - 0x3b0]
push edx
lea eax, [ebp - 0xf8]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov ecx, dword [ebp - 0x3b0]
push ecx
lea edx, [ebp - 0xf8]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
cmp dword [ebp - 0x39c], 0x16
je 0x1000dd18
cmp dword [ebp - 0x39c], 0
jne 0x1000da5c
xor eax, eax
shl eax, 4
mov ecx, dword [ebp - 0xcc0]
lea edx, [ecx + eax + 0x1204]
mov eax, dword [edx]
mov dword [ebp - 0xbdc], eax
mov ecx, dword [edx + 4]
mov dword [ebp - 0xbd8], ecx
mov eax, dword [edx + 8]
mov dword [ebp - 0xbd4], eax
mov ecx, dword [edx + 0xc]
mov dword [ebp - 0xbd0], ecx
mov edx, dword [ebp - 0xfc]
cmp edx, dword [ebp - 0xbd8]
je 0x1000dd18
xor eax, eax
shl eax, 4
mov ecx, dword [ebp - 0xcc0]
lea edx, [ecx + eax + 0xb20]
mov eax, dword [edx]
mov dword [ebp - 0xbec], eax
mov ecx, dword [edx + 4]
mov dword [ebp - 0xbe8], ecx
mov eax, dword [edx + 8]
mov dword [ebp - 0xbe4], eax
mov ecx, dword [edx + 0xc]
mov dword [ebp - 0xbe0], ecx
mov edx, dword [ebp - 0xbec]
mov dword [ebp - 0xc78], edx
push 1
push 0
mov eax, dword [ebp - 0xc78]
push eax
lea ecx, [ebp - 0xb98]
call fcn.100034b0
mov dword [ebp - 0x39c], eax
cmp dword [ebp - 0x39c], 0
jne 0x1000dc34
lea ecx, [ebp - 0xfc]
push ecx
lea edx, [ebp - 0x6bc]
push edx
mov ecx, dword [ebp - 0xcc0]
call fcn.1000d2a0
test eax, eax
jne 0x1000dc2f
lea eax, [ebp - 0x6bc]
push eax
lea ecx, [ebp - 0x208]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push str..exe
lea edx, [ebp - 0x208]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [ebp - 0x208]
push eax
lea ecx, [ebp - 0x6bc]
push ecx
call dword [sym.imp.KERNEL32.dll_MoveFileA]
test eax, eax
jne 0x1000db34
mov dword [ebp - 0x39c], 0xe
jmp 0x1000dc2f
xor edx, edx
shl edx, 4
mov eax, dword [ebp - 0xcc0]
lea ecx, [eax + edx + 0x1204]
mov edx, dword [ecx]
mov dword [ebp - 0xbfc], edx
mov eax, dword [ecx + 4]
mov dword [ebp - 0xbf8], eax
mov edx, dword [ecx + 8]
mov dword [ebp - 0xbf4], edx
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0xbf0], eax
mov ecx, dword [ebp - 0xbf4]
mov dword [ebp - 0x3b8], ecx
mov edx, dword [ebp - 0x394]
mov dword [ebp - 0x210], edx
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
mov byte [ebp - 0x2f0], al
mov ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x3bc], ecx
mov edx, dword [ebp - 0xba4]
mov dword [ebp - 0x3ac], edx
lea eax, [ebp - 0x3ac]
push eax
lea ecx, [ebp - 0xba8]
push ecx
call dword [sym.imp.USER32.dll_EqualRect]
lea edx, [ebp - 0x208]
mov dword [ebp - 0x3c0], edx
mov eax, dword [ebp - 0x3c0]
mov dword [ebp - 0xc88], eax
mov ecx, dword [ebp - 0x3bc]
mov dword [ebp - 0xc84], ecx
mov edx, dword [ebp - 0x3b8]
mov dword [ebp - 0xc80], edx
mov eax, dword [ebp - 0x3b4]
mov dword [ebp - 0xc7c], eax
mov ecx, dword [ebp - 0xc7c]
push ecx
mov edx, dword [ebp - 0xc80]
push edx
mov eax, dword [ebp - 0xc84]
push eax
mov ecx, dword [ebp - 0xc88]
push ecx
xor edx, edx
shl edx, 4
mov eax, dword [ebp - 0xcc0]
lea ecx, [eax + edx + 0x1204]
call fcn.1000eca0
jmp 0x1000dd18
xor ecx, ecx
shl ecx, 4
mov edx, dword [ebp - 0xcc0]
lea eax, [edx + ecx + 0xb20]
mov ecx, dword [eax]
mov dword [ebp - 0xc0c], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0xc08], edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0xc04], ecx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0xc00], edx
mov eax, dword [ebp - 0xc00]
add eax, 1
mov dword [ebp - 0x2f4], eax
mov ecx, dword [ebp - 0x3b0]
push ecx
lea edx, [ebp - 0x390]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [ebp - 0x300]
mov dword [ebp - 0xc98], eax
mov ecx, dword [ebp - 0x2fc]
mov dword [ebp - 0xc94], ecx
mov edx, dword [ebp - 0x2f8]
mov dword [ebp - 0xc90], edx
mov eax, dword [ebp - 0x2f4]
mov dword [ebp - 0xc8c], eax
mov ecx, dword [ebp - 0xc8c]
push ecx
mov edx, dword [ebp - 0xc90]
push edx
mov eax, dword [ebp - 0xc94]
push eax
mov ecx, dword [ebp - 0xc98]
push ecx
xor edx, edx
shl edx, 4
mov eax, dword [ebp - 0xcc0]
lea ecx, [eax + edx + 0xb20]
call fcn.1000eca0
push 0
call dword [sym.imp.KERNEL32.dll_FindAtomA]
movzx ecx, ax
mov dword [ebp - 0x394], ecx
mov edx, 0x3d
sub edx, dword [ebp - 0x210]
imul edx, dword [ebp - 0x394]
mov dword [ebp - 0x394], edx
jmp 0x1000dfdc
xor eax, eax
shl eax, 4
mov ecx, dword [ebp - 0xcc0]
lea edx, [ecx + eax + 0xb20]
mov eax, dword [edx]
mov dword [ebp - 0xc1c], eax
mov ecx, dword [edx + 4]
mov dword [ebp - 0xc18], ecx
mov eax, dword [edx + 8]
mov dword [ebp - 0xc14], eax
mov ecx, dword [edx + 0xc]
mov dword [ebp - 0xc10], ecx
mov edx, dword [ebp - 0xc1c]
mov dword [ebp - 0xc9c], edx
push 1
push 0
mov eax, dword [ebp - 0xc9c]
push eax
lea ecx, [ebp - 0xb98]
call fcn.100034b0
mov dword [ebp - 0x39c], eax
cmp dword [ebp - 0x39c], 0
jne 0x1000df21
mov ecx, dword [ebp - 0x3b0]
movsx edx, byte [ecx]
push edx
mov eax, dword [ebp - 0x394]
push eax
lea ecx, [ebp - 0xba8]
push ecx
call dword [sym.imp.USER32.dll_InflateRect]
lea edx, [ebp - 0xfc]
push edx
lea eax, [ebp - 0x6bc]
push eax
mov ecx, dword [ebp - 0xcc0]
call fcn.1000d2a0
test eax, eax
jne 0x1000df1c
lea ecx, [ebp - 0xba8]
push ecx
push 0
call dword [sym.imp.USER32.dll_GetWindowRect]
mov edx, dword [ebp - 0xba8]
mov dword [ebp - 0x210], edx
lea eax, [ebp - 0x6bc]
push eax
lea ecx, [ebp - 0x208]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push str..exe
lea edx, [ebp - 0x208]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [ebp - 0x208]
push eax
lea ecx, [ebp - 0x6bc]
push ecx
call dword [sym.imp.KERNEL32.dll_MoveFileA]
test eax, eax
jne 0x1000de2e
mov dword [ebp - 0x39c], 0xe
jmp 0x1000df1c
xor edx, edx
shl edx, 4
mov eax, dword [ebp - 0xcc0]
lea ecx, [eax + edx + 0x1204]
mov edx, dword [ecx]
mov dword [ebp - 0xc2c], edx
mov eax, dword [ecx + 4]
mov dword [ebp - 0xc28], eax
mov edx, dword [ecx + 8]
mov dword [ebp - 0xc24], edx
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0xc20], eax
mov ecx, dword [ebp - 0xc24]
mov dword [ebp - 0x3b8], ecx
mov edx, dword [ebp - 0xfc]
mov dword [ebp - 0x3bc], edx
mov eax, dword [ebp - 0x398]
push eax
lea ecx, [ebp - 0x2f0]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea edx, [ebp - 0x208]
mov dword [ebp - 0x3c0], edx
mov eax, dword [ebp - 0x3c0]
mov dword [ebp - 0xcac], eax
mov ecx, dword [ebp - 0x3bc]
mov dword [ebp - 0xca8], ecx
mov edx, dword [ebp - 0x3b8]
mov dword [ebp - 0xca4], edx
mov eax, dword [ebp - 0x3b4]
mov dword [ebp - 0xca0], eax
mov ecx, dword [ebp - 0xca0]
push ecx
mov edx, dword [ebp - 0xca4]
push edx
mov eax, dword [ebp - 0xca8]
push eax
mov ecx, dword [ebp - 0xcac]
push ecx
xor edx, edx
shl edx, 4
mov eax, dword [ebp - 0xcc0]
lea ecx, [eax + edx + 0x1204]
call fcn.1000eca0
mov ecx, dword [ebp - 0x3b0]
movsx edx, byte [ecx]
push edx
mov eax, dword [ebp - 0x394]
push eax
lea ecx, [ebp - 0xba8]
push ecx
call dword [sym.imp.USER32.dll_InflateRect]
jmp 0x1000dfdc
mov edx, dword [ebp - 0x398]
push edx
lea eax, [ebp - 0x2f0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
xor ecx, ecx
shl ecx, 4
mov edx, dword [ebp - 0xcc0]
lea eax, [edx + ecx + 0xb20]
mov ecx, dword [eax]
mov dword [ebp - 0xc3c], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0xc38], edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0xc34], ecx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0xc30], edx
mov eax, dword [ebp - 0xc30]
add eax, 1
mov dword [ebp - 0x2f4], eax
mov ecx, dword [ebp - 0x300]
mov dword [ebp - 0xcbc], ecx
mov edx, dword [ebp - 0x2fc]
mov dword [ebp - 0xcb8], edx
mov eax, dword [ebp - 0x2f8]
mov dword [ebp - 0xcb4], eax
mov ecx, dword [ebp - 0x2f4]
mov dword [ebp - 0xcb0], ecx
mov edx, dword [ebp - 0xcb0]
push edx
mov eax, dword [ebp - 0xcb4]
push eax
mov ecx, dword [ebp - 0xcb8]
push ecx
mov edx, dword [ebp - 0xcbc]
push edx
xor eax, eax
shl eax, 4
mov ecx, dword [ebp - 0xcc0]
lea ecx, [ecx + eax + 0xb20]
call fcn.1000eca0
cmp dword [ebp - 0x39c], 0
jne 0x1000e034
xor edx, edx
shl edx, 4
mov eax, dword [ebp - 0xcc0]
lea ecx, [eax + edx + 0x1204]
mov edx, dword [ecx]
mov dword [ebp - 0xc4c], edx
mov eax, dword [ecx + 4]
mov dword [ebp - 0xc48], eax
mov edx, dword [ecx + 8]
mov dword [ebp - 0xc44], edx
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0xc40], eax
push 0
mov ecx, dword [ebp - 0xc4c]
push ecx
mov ecx, dword [ebp - 0xcc0]
call fcn.1000c760
mov dword [ebp - 0x39c], eax
xor edx, edx
shl edx, 4
mov eax, dword [ebp - 0xcc0]
lea ecx, [eax + edx + 0xb20]
mov edx, dword [ecx]
mov dword [ebp - 0xc5c], edx
mov eax, dword [ecx + 4]
mov dword [ebp - 0xc58], eax
mov edx, dword [ecx + 8]
mov dword [ebp - 0xc54], edx
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0xc50], eax
mov ecx, dword [ebp - 0xcc0]
mov edx, dword [ebp - 0xc54]
mov dword [ecx + 0x434], edx
xor eax, eax
shl eax, 4
mov ecx, dword [ebp - 0xcc0]
lea edx, [ecx + eax + 0x1204]
mov eax, dword [edx]
mov dword [ebp - 0xc6c], eax
mov ecx, dword [edx + 4]
mov dword [ebp - 0xc68], ecx
mov eax, dword [edx + 8]
mov dword [ebp - 0xc64], eax
mov ecx, dword [edx + 0xc]
mov dword [ebp - 0xc60], ecx
push 0
mov edx, dword [ebp - 0xc64]
push edx
mov eax, dword [ebp - 0x39c]
push eax
push 3
mov ecx, dword [ebp - 0xcc0]
call fcn.1000caf0
mov ecx, dword [ebp - 0x39c]
mov dword [ebp - 0xc70], ecx
lea ecx, [ebp - 0xb98]
call fcn.10002b60
mov eax, dword [ebp - 0xc70]
jmp 0x1000e10b
mov esp, ebp
pop ebp
ret