Function at 0x4a2771
Capabilities:
Move file

Disassembly:
push 0x168
mov eax, 0x52d280
call fcn.004dad4b
mov esi, dword [ebp + 0xc]
lea eax, [ebp - 0x74]
mov edi, dword [ebp + 8]
xor ebx, ebx
push str..commit
push esi
push eax
mov dword [ebp - 0xa4], edi
mov dword [ebp - 0xb8], ebx
call fcn.0042811a
lea eax, [ebp - 0x74]
mov dword [ebp - 4], ebx
push eax
call fcn.004a771f
add esp, 0x10
test al, al
je 0x4a295e
push esi
call fcn.004a771f
pop ecx
test al, al
je 0x4a2896
cmp dword [esi + 0x14], 0x10
jb 0x4a27d3
mov eax, dword [esi]
jmp 0x4a27d5
mov eax, esi
push eax
call fcn.00505b9f
mov dword [ebp - 0x90], eax
pop ecx
test eax, eax
je 0x4a2896
push str.FileLoad
lea ecx, [ebp - 0x2c]
call fcn.004180bb
push str.C:Users_a.pritchardcodecode_psiphonpsicashpsicash_lib_androidpsicashlib_srcmaincpppsicashlibdatastore.cpp
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 1
call fcn.004180bb
mov byte [ebp - 4], 2
call fcn.005029c0
push eax
push str.__errno
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x44]
push str.removing_file_path_failed__err
push eax
call fcn.004a1b02
add esp, 0x14
push 0x81
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 3
push ecx
lea ecx, [ebp - 0x5c]
xor esi, esi
push ecx
push eax
inc esi
lea ecx, [ebp - 0xa0]
push esi
call fcn.00488974
push eax
mov ecx, edi
mov byte [ebp - 4], 4
call fcn.004909a9
lea ecx, [ebp - 0x9c]
call fcn.004235d4
push ebx
push esi
lea ecx, [ebp - 0x44]
call fcn.0041a391
push ebx
push esi
lea ecx, [ebp - 0x5c]
call fcn.0041a391
lea ecx, [ebp - 0x2c]
push ebx
push esi
call fcn.0041a391
push ebx
push esi
lea ecx, [ebp - 0x74]
call fcn.0041a391
mov eax, edi
jmp 0x4a2c9f
cmp dword [esi + 0x14], 0x10
jb 0x4a28a0
mov ecx, dword [esi]
jmp 0x4a28a2
mov ecx, esi
cmp dword [ebp - 0x60], 0x10
lea eax, [ebp - 0x74]
push ecx
cmovae eax, dword [ebp - 0x74]
push eax
call fcn.00505bec
mov dword [ebp - 0x90], eax
pop ecx
pop ecx
test eax, eax
je 0x4a295e
push str.FileLoad
lea ecx, [ebp - 0x5c]
call fcn.004180bb
push str.C:Users_a.pritchardcodecode_psiphonpsicashpsicash_lib_androidpsicashlib_srcmaincpppsicashlibdatastore.cpp
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 5
call fcn.004180bb
mov byte [ebp - 4], 6
call fcn.005029c0
push eax
push str.__errno
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x44]
push str.renaming_commit_file_path_to_file_path_failed__err
push eax
call fcn.004a1b02
add esp, 0x14
push 0x84
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 7
push ecx
lea ecx, [ebp - 0x2c]
push ecx
push eax
push 1
lea ecx, [ebp - 0xa0]
call fcn.00488974
push eax
mov ecx, edi
mov byte [ebp - 4], 8
call fcn.004909a9
lea ecx, [ebp - 0x9c]
call fcn.004235d4
xor esi, esi
lea ecx, [ebp - 0x44]
push ebx
inc esi
push esi
call fcn.0041a391
push ebx
push esi
lea ecx, [ebp - 0x2c]
call fcn.0041a391
lea ecx, [ebp - 0x5c]
jmp 0x4a287e
push esi
call fcn.004a771f
pop ecx
test al, al
jne 0x4a2a5f
push ecx
push ecx
mov eax, esp
mov dword [eax], ebx
mov dword [eax + 4], ebx
lea eax, [ebp - 0x54]
push eax
call fcn.00497aae
lea eax, [ebp - 0x54]
mov byte [ebp - 4], 9
push eax
push esi
lea eax, [ebp - 0xa0]
push ebx
push eax
call fcn.004a2cf0
add esp, 0x1c
cmp byte [ebp - 0xa0], 0
mov byte [ebp - 4], 0xa
je 0x4a2a46
push str.FileLoad
lea ecx, [ebp - 0x44]
call fcn.004180bb
push str.C:Users_a.pritchardcodecode_psiphonpsicashpsicash_lib_androidpsicashlib_srcmaincpppsicashlibdatastore.cpp
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0xb
call fcn.004180bb
push str.file_doesnt_exist_and_FileStore_failed
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xc
call fcn.004180bb
push 0x8c
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0xd
push eax
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0xa0]
call fcn.00488af2
push eax
mov ecx, edi
call fcn.004909a9
push ebx
push 1
lea ecx, [ebp - 0x2c]
call fcn.0041a391
xor esi, esi
lea ecx, [ebp - 0x8c]
push ebx
inc esi
push esi
call fcn.0041a391
push ebx
push esi
lea ecx, [ebp - 0x44]
call fcn.0041a391
lea ecx, [ebp - 0x9c]
call fcn.004235d4
push dword [ebp - 0x54]
lea ecx, [ebp - 0x4c]
call fcn.0043408e
jmp 0x4a2885
lea ecx, [ebp - 0x9c]
call fcn.004235d4
push dword [ebp - 0x54]
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], bl
call fcn.0043408e
push 1
lea ecx, [ebp - 0x174]
call fcn.004a1d7b
cmp dword [esi + 0x14], 0x10
mov byte [ebp - 4], 0xe
jb 0x4a2a78
mov esi, dword [esi]
push 0x40
push 0x21
push esi
lea ecx, [ebp - 0x174]
call fcn.004a39ce
mov eax, dword [ebp - 0x174]
mov eax, dword [eax + 4]
test byte [ebp + eax - 0x168], 6
je 0x4a2b47
push str.FileLoad
lea ecx, [ebp - 0x8c]
call fcn.004180bb
push str.C:Users_a.pritchardcodecode_psiphonpsicashpsicash_lib_androidpsicashlib_srcmaincpppsicashlibdatastore.cpp
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0xf
call fcn.004180bb
mov byte [ebp - 4], 0x10
call fcn.005029c0
push eax
lea eax, [ebp - 0x2c]
push str.file_open_failed__errno
push eax
call fcn.004a1aa0
add esp, 0xc
push 0x95
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0x11
push ecx
lea ecx, [ebp - 0x44]
xor esi, esi
push ecx
push eax
inc esi
lea ecx, [ebp - 0xa0]
push esi
call fcn.00488974
push eax
mov ecx, edi
mov byte [ebp - 4], 0x12
call fcn.004909a9
lea ecx, [ebp - 0x9c]
call fcn.004235d4
push ebx
push esi
lea ecx, [ebp - 0x2c]
call fcn.0041a391
push ebx
push esi
lea ecx, [ebp - 0x44]
call fcn.0041a391
push ebx
push esi
lea ecx, [ebp - 0x8c]
call fcn.0041a391
lea ecx, [ebp - 0x174]
call fcn.004a22da
jmp 0x4a2885
push ebx
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x13
mov byte [ebp - 0xb4], bl
call fcn.004445be
lea eax, [ebp - 0xb4]
mov byte [ebp - 4], 0x15
push eax
lea eax, [ebp - 0x174]
push eax
call fcn.004a2126
pop ecx
pop ecx
lea eax, [ebp - 0xb4]
mov dword [ebp - 4], 0x14
push eax
mov ecx, edi
call fcn.004a1e5b
push dword [ebp - 0xb4]
lea ecx, [ebp - 0xac]
call fcn.0043408e
lea ecx, [ebp - 0x174]
call fcn.004a22da
xor esi, esi
inc esi
jmp 0x4a2885
call fcn.004dac98
ret