Function at 0x403da0
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2a4
mov eax, dword [0x4a9bf0]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [0x5200b8], 0
push ebx
push esi
push edi
mov dword [ebp - 0x290], 0
mov dword [ebp - 0x294], 0
mov dword [ebp - 0x2a0], 0
je 0x403edc
cmp dword [0x5200b4], 0
je 0x403edc
lea edx, [ebp - 0x158]
sub edx, ecx
mov al, byte [ecx]
mov byte [edx + ecx], al
inc ecx
test al, al
jne 0x403df6
push str._s.tmp
lea eax, [ebp - 0x158]
push eax
push 0x110
push str.D:MyProjectsProPilotTestEncoderMain.c
push str._s.tmp
lea eax, [ebp - 0x288]
push 0x12c
push eax
call fcn.0040dc20
add esp, 0x1c
lea eax, [ebp - 0x288]
push 0
push 0
push 2
push 0
push 1
push 0x40000000
push eax
call fcn.00408d40
mov edi, eax
add esp, 0x1c
mov dword [ebp - 0x29c], edi
cmp edi, 0xffffffff
jne 0x403eef
call fcn.0041fd60
test eax, eax
je 0x403edc
call fcn.0041fd60
cmp dword [eax], 0
je 0x403edc
mov eax, dword [0x4bd720]
test eax, eax
je 0x403e82
mov esi, dword [eax + 0x190]
jmp 0x403e88
mov esi, dword [0x4bd724]
call fcn.0041fd60
test eax, eax
je 0x403e9a
call fcn.0041fd60
mov edi, dword [eax]
jmp 0x403e9c
xor edi, edi
push str.Error_creating_file__s:__s
push 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.0040b160
add esp, 8
push eax
lea eax, [ebp - 0x158]
push eax
push str.Error_creating_file__s:__s
push dword [0x4bd720]
push esi
push 0
push 0x113
push str.D:MyProjectsProPilotTestEncoderMain.c
push 0x103
call edi
add esp, 0x28
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046300c
mov esp, ebp
pop ebp
ret
push 1
push ecx
push dword [0x5200b8]
lea edx, [ebp - 0x290]
push str._::RRS::_
push str.RdpRegistrationSettings
call fcn.00403790
add esp, 0x14
test eax, eax
je 0x4040f2
push 0
call fcn.0040d4e0
xor edx, edx
mov ecx, 0x384
div ecx
add esp, 4
mov ecx, 0x3e8
xor eax, eax
mov dword [ebp - 0x298], eax
lea edi, [edx + 0x64]
movzx esi, byte [edi + 0x491250]
mov bl, byte [esi + 0x491250]
add eax, esi
add eax, edi
cdq
idiv ecx
movzx eax, bl
movzx ecx, byte [edx + 0x491250]
imul eax, ecx
mov ecx, 0x3e8
add eax, esi
cdq
idiv ecx
mov eax, dword [ebp - 0x298]
mov esi, edx
mov bl, byte [esi + 0x491250]
mov byte [ebp + eax - 0x28], bl
inc eax
add eax, esi
add eax, edi
cdq
idiv ecx
movzx eax, bl
movzx ecx, byte [edx + 0x491250]
imul eax, ecx
mov ecx, 0x3e8
add eax, esi
cdq
idiv ecx
mov eax, dword [ebp - 0x298]
mov esi, edx
mov bl, byte [esi + 0x491250]
mov byte [ebp + eax - 0x27], bl
add eax, 2
add eax, esi
add eax, edi
cdq
idiv ecx
movzx eax, bl
movzx ecx, byte [edx + 0x491250]
imul eax, ecx
mov ecx, 0x3e8
add eax, esi
cdq
idiv ecx
mov eax, dword [ebp - 0x298]
mov esi, edx
mov bl, byte [esi + 0x491250]
mov byte [ebp + eax - 0x26], bl
add eax, 3
add eax, esi
add eax, edi
cdq
idiv ecx
movzx eax, bl
movzx ecx, byte [edx + 0x491250]
imul eax, ecx
mov ecx, 0x3e8
add eax, esi
cdq
idiv ecx
mov eax, dword [ebp - 0x298]
mov esi, edx
mov bl, byte [esi + 0x491250]
mov byte [ebp + eax - 0x25], bl
add eax, 4
mov dword [ebp - 0x298], eax
cmp eax, 0x20
jl 0x403f48
push 0x14
lea eax, [ebp - 0x28]
mov byte [ebp - 8], 0
push eax
lea eax, [ebp - 0x294]
push eax
mov eax, dword [ebp - 0x290]
add eax, 4
push 0
push eax
call fcn.0040a610
mov edi, dword [ebp - 0x29c]
add esp, 0x14
test eax, eax
je 0x404377
cmp dword [ebp - 0x290], 0
je 0x404084
lea eax, [ebp - 0x290]
push eax
call fcn.00409d90
add esp, 4
push dword [ebp - 0x290]
call fcn.00468056
add esp, 4
mov dword [ebp - 0x290], 0
push 0x127
push str.D:MyProjectsProPilotTestEncoderMain.c
push fcn.00466ae4
push 0
push dword [ebp - 0x294]
push dword [0x5200b4]
call fcn.00408760
mov eax, dword [0x5200b4]
push 0x128
push str.D:MyProjectsProPilotTestEncoderMain.c
push fcn.00466ae4
push 0
add eax, 4
push 0x491148
push eax
call fcn.00408760
add esp, 0x30
lea edx, [ebp - 0x290]
push 3
push ecx
push dword [0x5200b4]
push str._::_0x
push 0x4916dc
call fcn.00403790
add esp, 0x14
test eax, eax
jne 0x40413a
push 2
push edi
call fcn.004083a0
add esp, 8
cmp dword [ebp - 0x290], 0
je 0x403edc
lea eax, [ebp - 0x290]
push eax
call fcn.00409d90
add esp, 4
push dword [ebp - 0x290]
call fcn.00468056
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046300c
mov esp, ebp
pop ebp
ret
push 0
call fcn.0040d4e0
xor edx, edx
mov ecx, 0x384
div ecx
add esp, 4
mov ecx, 0x3e8
xor eax, eax
mov dword [ebp - 0x298], eax
lea edi, [edx + 0x64]
movzx esi, byte [edi + 0x490d58]
mov bl, byte [esi + 0x490d58]
nop word [eax + eax]
add eax, esi
add eax, edi
cdq
idiv ecx
movzx eax, bl
movzx ecx, byte [edx + 0x490d58]
imul eax, ecx
mov ecx, 0x3e8
add eax, esi
cdq
idiv ecx
mov eax, dword [ebp - 0x298]
mov esi, edx
mov bl, byte [esi + 0x490d58]
mov byte [ebp + eax - 0x28], bl
inc eax
add eax, esi
add eax, edi
cdq
idiv ecx
movzx eax, bl
movzx ecx, byte [edx + 0x490d58]
imul eax, ecx
mov ecx, 0x3e8
add eax, esi
cdq
idiv ecx
mov eax, dword [ebp - 0x298]
mov esi, edx
mov bl, byte [esi + 0x490d58]
mov byte [ebp + eax - 0x27], bl
add eax, 2
add eax, esi
add eax, edi
cdq
idiv ecx
movzx eax, bl
movzx ecx, byte [edx + 0x490d58]
imul eax, ecx
mov ecx, 0x3e8
add eax, esi
cdq
idiv ecx
mov eax, dword [ebp - 0x298]
mov esi, edx
mov bl, byte [esi + 0x490d58]
mov byte [ebp + eax - 0x26], bl
add eax, 3
add eax, esi
add eax, edi
cdq
idiv ecx
movzx eax, bl
movzx ecx, byte [edx + 0x490d58]
imul eax, ecx
mov ecx, 0x3e8
add eax, esi
cdq
idiv ecx
mov eax, dword [ebp - 0x298]
mov esi, edx
mov bl, byte [esi + 0x490d58]
mov byte [ebp + eax - 0x25], bl
add eax, 4
mov dword [ebp - 0x298], eax
cmp eax, 0x20
jl 0x404170
push 0x10
lea eax, [ebp - 0x28]
mov byte [ebp - 8], 0
push eax
lea eax, [ebp - 0x294]
push eax
mov eax, dword [ebp - 0x290]
add eax, 4
push 0
push eax
call fcn.0040a610
mov edi, dword [ebp - 0x29c]
mov esi, eax
add esp, 0x14
test esi, esi
je 0x404377
push 0
lea eax, [ebp - 0x28c]
push eax
push esi
push dword [ebp - 0x294]
push edi
call fcn.0040d000
add esp, 0x14
test eax, eax
je 0x404377
cmp esi, dword [ebp - 0x28c]
jne 0x404377
push 1
push edi
call fcn.004083a0
mov ebx, dword [sym.imp.KERNEL32.dll_MoveFileExA]
add esp, 8
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
xor esi, esi
mov dword [ebp - 0x2a0], 1
nop
push 1
lea eax, [ebp - 0x158]
push eax
lea eax, [ebp - 0x288]
push eax
call ebx
test eax, eax
jne 0x404382
push 0x64
call edi
inc esi
cmp esi, 0xa
jl 0x4042d0
jne 0x404382
call fcn.0041fd60
test eax, eax
je 0x404382
call fcn.0041fd60
cmp dword [eax], 0
je 0x404382
mov eax, dword [0x4bd720]
test eax, eax
je 0x40431e
mov esi, dword [eax + 0x190]
jmp 0x404324
mov esi, dword [0x4bd724]
call fcn.0041fd60
test eax, eax
je 0x404336
call fcn.0041fd60
mov edi, dword [eax]
jmp 0x404338
xor edi, edi
push str.Error_replacing_file__s:__s
push 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.0040b160
add esp, 8
push eax
lea eax, [ebp - 0x158]
push eax
push str.Error_replacing_file__s:__s
push dword [0x4bd720]
push esi
push 0
push 0x141
push str.D:MyProjectsProPilotTestEncoderMain.c
push 3
call edi
add esp, 0x28
jmp 0x404382
push 2
push edi
call fcn.004083a0
add esp, 8
cmp dword [ebp - 0x294], 0
je 0x4043b2
lea eax, [ebp - 0x294]
push eax
call fcn.00409d90
add esp, 4
push dword [ebp - 0x294]
call fcn.00468056
add esp, 4
mov dword [ebp - 0x294], 0
cmp dword [ebp - 0x290], 0
je 0x4043d8
lea eax, [ebp - 0x290]
push eax
call fcn.00409d90
add esp, 4
push dword [ebp - 0x290]
call fcn.00468056
add esp, 4
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x2a0]
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.0046300c
mov esp, ebp
pop ebp
ret