Function at 0x41623b
Capabilities:
Move file

Disassembly:
mov eax, 0x43fe4a
call fcn.00432c38
sub esp, 0x7d4
mov eax, dword [0x451730]
push ebx
push esi
xor esi, esi
cmp eax, esi
push edi
mov dword [ebp - 0x18], ecx
jne 0x416261
mov eax, dword [0x4527b8]
cmp dword [ebp + 0x14], esi
mov dword [ebp - 0x20], eax
jne 0x416276
cmp dword [ebp + 0x18], esi
jne 0x416276
push 1
pop eax
jmp 0x41688a
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp - 0x18]
mov dword [eax], esi
call fcn.00401046
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x19]
push esi
push eax
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x4c], 0x4424dc
mov dword [ebp - 0x2c], 0x4424d4
call fcn.004028be
and byte [ebp - 0x3d0], 0
push 0x40
pop ecx
xor eax, eax
lea edi, [ebp - 0x3cf]
and byte [ebp - 0x1a0], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x40
xor eax, eax
pop ecx
lea edi, [ebp - 0x19f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x58]
push 0x105
push eax
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], esi
call fcn.00402233
mov edi, eax
mov ecx, dword [edi]
mov byte [ebp - 4], 1
call fcn.00402df0
push 1
lea ecx, [ebp - 0x24]
push 1
push ecx
mov ecx, dword [ebp - 0x18]
push esi
mov dword [edi + 8], eax
mov esi, 0x44bfbc
push eax
mov edi, 0x44bfb0
push esi
push edi
call fcn.00418f3c
mov ebx, eax
lea ecx, [ebp - 0x58]
neg ebx
sbb bl, bl
and byte [ebp - 4], 0
inc bl
call fcn.00402345
test bl, bl
je 0x416330
xor esi, esi
jmp 0x41687c
lea eax, [ebp - 0x11]
push 1
push eax
push esi
lea ecx, [ebp - 0x74]
call fcn.00402a41
lea eax, [ebp - 0x74]
lea ecx, [ebp - 0x4c]
push eax
mov byte [ebp - 4], 2
call fcn.0041c122
and byte [ebp - 4], 0
lea ecx, [ebp - 0x74]
mov bl, al
call fcn.00401ce3
test bl, bl
je 0x4163f8
lea eax, [ebp - 0x11]
push 1
push eax
push edi
lea ecx, [ebp - 0x9c]
call fcn.00402a41
push 0
lea eax, [ebp - 0x1c8]
push 0
push eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 3
call fcn.00402af7
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 4
push ecx
lea ecx, [ebp - 0x74]
push ecx
mov ecx, eax
call fcn.0041bf54
lea ecx, [ebp - 0x1c8]
mov byte [ebp - 4], 7
call fcn.00401ce3
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 6
call fcn.00401ce3
lea ecx, [ebp - 0x4c]
call fcn.00402df0
lea ecx, [ebp - 0x74]
mov edi, eax
call fcn.00402df0
push eax
push edi
call dword [sym.imp.KERNEL32.dll_MoveFileA]
test eax, eax
je 0x4163ec
lea eax, [ebp - 0x74]
lea ecx, [ebp - 0x4c]
push eax
call fcn.00401d5d
and byte [ebp - 4], 0
lea ecx, [ebp - 0x74]
call fcn.00401ce3
mov ebx, 0x104
lea ecx, [ebp - 0x4c]
push ebx
call fcn.00402df0
push eax
lea eax, [ebp - 0x3d0]
push eax
call fcn.00432ea0
and byte [ebp - 0x2cd], 0
add esp, 0xc
cmp dword [ebp - 0x24], 1
jne 0x416627
and byte [ebp - 0x5d8], 0
push 0x40
pop ecx
xor eax, eax
lea edi, [ebp - 0x5d7]
and byte [ebp - 0x2cc], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x40
xor eax, eax
pop ecx
lea edi, [ebp - 0x2cb]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov edi, dword [ebp - 0x10]
cmp byte [edi + 0x2b20], 0
je 0x41647a
mov ecx, dword [ebp - 0x18]
lea eax, [ebp - 0x2cc]
push eax
push 0x44bf9c
push dword [ebp + 0xc]
call fcn.0041b65c
jmp 0x4164f5
cmp byte [edi + 0x2b21], 0
je 0x4164da
and byte [ebp - 0x5c], 0
xor eax, eax
lea edi, [ebp - 0x5b]
push 0x10
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x5c]
push eax
mov eax, dword [ebp - 0x10]
push 0x44bf94
push 0x44bf7c
push dword [0x44260c]
lea ecx, [eax + 0x4030]
call fcn.00402606
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x2cc]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp - 0x2cc]
push esi
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov edi, dword [ebp - 0x10]
jmp 0x4164f5
cmp byte [edi + 0x2b22], 0
je 0x4164f5
lea eax, [ebp - 0x2cc]
push 0x44bf6c
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov esi, dword [ebp - 0x18]
lea eax, [ebp - 0x5d8]
push 1
push eax
lea eax, [ebp - 0x2cc]
mov ecx, esi
push eax
call fcn.004195a5
test eax, eax
je 0x416614
cmp byte [edi + 0x2b20], 0
je 0x41652f
push dword [ebp + 0xc]
mov ecx, esi
call fcn.00415ed4
jmp 0x4165b5
cmp byte [edi + 0x2b21], 0
je 0x416590
push dword [ebp + 0x10]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jle 0x41656e
push dword [ebp + 0x18]
mov ecx, esi
push dword [ebp + 0x10]
push 1
call fcn.00415f10
test eax, eax
je 0x416614
push dword [ebp + 0x10]
mov ecx, esi
call fcn.004160a8
test eax, eax
je 0x416614
push 0x44be18
mov ecx, esi
call fcn.004160a8
test eax, eax
je 0x416614
push 0x44bf94
mov ecx, esi
call fcn.004160a8
jmp 0x4165b5
cmp byte [edi + 0x2b22], 0
je 0x4165b9
push dword [ebp + 0x10]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jle 0x4165b9
push dword [ebp + 0x18]
mov ecx, esi
push dword [ebp + 0x10]
push 2
call fcn.00415f10
test eax, eax
je 0x416614
cmp dword [ebp + 0x18], 0
je 0x41662a
and byte [ebp - 0x4d4], 0
push 0x40
pop ecx
xor eax, eax
lea edi, [ebp - 0x4d3]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [ebp - 0x10]
cmp byte [eax + 0x2b21], 0
je 0x4165f2
lea eax, [ebp - 0x4d4]
push 1
push eax
push 0x44bf5c
jmp 0x416609
cmp byte [eax + 0x2b22], 0
je 0x416627
lea eax, [ebp - 0x4d4]
push 1
push eax
push 0x44bf4c
mov ecx, esi
call fcn.004195a5
test eax, eax
jne 0x416627
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4c]
call fcn.00401ce3
xor eax, eax
jmp 0x41688a
mov edi, dword [ebp - 0x10]
cmp byte [edi + 0x2b20], 0
je 0x416686
cmp dword [ebp + 8], 0
je 0x41664b
lea eax, [ebp - 0x1a0]
push 0x44bf34
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
and byte [ebp - 0x60], 0
xor eax, eax
lea edi, [ebp - 0x5f]
push dword [ebp + 0xc]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x60]
push 0x44bf2c
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x1a0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
jmp 0x4167f5
cmp dword [ebp + 0x14], 0
mov esi, 0x450eb0
je 0x416727
lea eax, [ebp - 0x1a0]
push 0x44bf24
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov edi, dword [ebp - 0x18]
push esi
push 0x44bd00
push ebx
push 0x44bf1c
lea eax, [ebp - 0x1a0]
push 0x44b24c
push eax
mov ecx, edi
call fcn.00415c20
cmp dword [ebp + 8], 0
mov eax, 0x44bf10
jne 0x4166d9
mov eax, 0x44bf04
push eax
lea eax, [ebp - 0x1a0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x44befc
push 0x44bef8
push ebx
push esi
lea eax, [ebp - 0x1a0]
push 0x44beec
push eax
mov ecx, edi
call fcn.00415c20
push esi
push 0x44bee8
push ebx
push 0x44bed0
lea eax, [ebp - 0x1a0]
push 0x44bebc
push eax
mov ecx, edi
call fcn.00415c20
jmp 0x416734
cmp dword [ebp + 0x18], 0
je 0x4167f5
mov edi, dword [ebp - 0x18]
push esi
push esi
push ebx
push 0x44beb0
lea eax, [ebp - 0x1a0]
push 0x44bf7c
push eax
mov ecx, edi
call fcn.00415c20
push esi
push esi
push ebx
push 0x44bea4
lea eax, [ebp - 0x1a0]
push 0x44be94
push eax
mov ecx, edi
call fcn.00415c20
cmp dword [ebp + 0x18], 0
je 0x4167f5
push esi
push esi
push ebx
push 0x44be88
lea eax, [ebp - 0x1a0]
push 0x44be7c
push eax
mov ecx, edi
call fcn.00415c20
cmp dword [ebp + 0x14], 0
jne 0x4167d2
cmp dword [ebp + 8], 0
mov eax, 0x44be6c
jne 0x4167a5
mov eax, 0x44be5c
push eax
lea eax, [ebp - 0x1a0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push esi
push 0x44bee8
push ebx
push 0x44bed0
lea eax, [ebp - 0x1a0]
push 0x44bebc
push eax
mov ecx, edi
call fcn.00415c20
push 0x44be50
push 0x44be4c
push ebx
push 0x44be44
lea eax, [ebp - 0x1a0]
push 0x44be38
push eax
mov ecx, edi
call fcn.00415c20
lea eax, [ebp - 0x6dc]
push ebx
push eax
push 0x452
call fcn.0042af98
add esp, 0xc
lea eax, [ebp - 0x6dc]
push 0x44be1c
push eax
lea eax, [ebp - 0x7e0]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
mov ecx, dword [ebp - 0x10]
add esp, 0xc
lea eax, [ebp - 0x7e0]
push eax
call fcn.00421845
xor ebx, ebx
push 2
cmp dword [0x453ed0], ebx
push dword [ebp - 0x20]
sete bl
call dword [sym.imp.USER32.dll_GetDlgItem]
mov edi, dword [sym.imp.USER32.dll_EnableWindow]
mov esi, eax
push 0
push esi
call edi
push dword [ebp - 0x10]
lea eax, [ebp - 0x1a0]
push ebx
push eax
lea eax, [ebp - 0x3d0]
push eax
call fcn.0042c1f6
mov ecx, dword [ebp + 0x1c]
push 1
push esi
mov dword [ecx], eax
call edi
push 1
pop esi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4c]
call fcn.00401ce3
mov eax, esi
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 0x18