Function at 0x424990
Capabilities:
Check if file exists
Copy file
Delete file
Resolve function by parsing pe exports
Write file on windows

Disassembly:
push 0xffffffffffffffff
push 0x45c099
mov eax, dword fs:[0]
push eax
sub esp, 0x4cc
mov eax, dword [0x4713c0]
xor eax, esp
mov dword [esp + 0x4c8], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4713c0]
xor eax, esp
push eax
lea eax, [esp + 0x4e0]
mov dword fs:[0], eax
call fcn.004402b0
xor ebp, ebp
push ebp
mov edi, 7
push 0x46278c
lea esi, [esp + 0xc8]
mov dword [esp + 0xe0], edi
mov dword [esp + 0xdc], ebp
mov word [esp + 0xcc], bp
call fcn.00406f80
mov dword [esp + 0x4e8], ebp
push ebp
push 0x46278c
lea esi, [esp + 0x74]
mov dword [esp + 0x8c], edi
mov dword [esp + 0x88], ebp
mov word [esp + 0x78], bp
call fcn.00406f80
mov byte [esp + 0x4e8], 1
cmp dword [0x474f6c], ebp
push 0xffffffffffffffff
lea ecx, [esp + 0xc4]
push ebp
je 0x424a53
mov eax, 0x474f74
call fcn.00406d10
mov eax, 0x474f90
jmp 0x424a62
mov eax, 0x475158
call fcn.00406d10
mov eax, 0x4750e8
push 0xffffffffffffffff
push ebp
lea ecx, [esp + 0x74]
call fcn.00406d10
lea eax, [esp + 0xc0]
push eax
call fcn.0041e3a0
add esp, 4
cmp eax, 3
mov ebx, 4
je 0x424ae9
cmp eax, 2
je 0x424ae9
cmp eax, ebx
je 0x424ae9
cmp eax, 6
je 0x424ae9
cmp eax, 5
je 0x424ae9
mov esi, 8
cmp dword [esp + 0x84], esi
jb 0x424ab6
mov ecx, dword [esp + 0x70]
push ecx
call fcn.004415cb
add esp, 4
cmp dword [esp + 0xd8], esi
mov dword [esp + 0x84], edi
mov dword [esp + 0x80], ebp
mov word [esp + 0x70], bp
jb 0x424ae2
mov edx, dword [esp + 0xc4]
push edx
call fcn.004415cb
add esp, 4
xor eax, eax
jmp 0x4250a5
push 0xffffffffffffffff
push ebp
mov eax, 0x475120
lea ecx, [esp + 0xac]
mov dword [esp + 0xc4], edi
mov dword [esp + 0xc0], ebp
mov word [esp + 0xb0], bp
call fcn.00406d10
mov byte [esp + 0x4e8], 2
cmp dword [esp + 0xb8], ebp
je 0x424c14
lea eax, [esp + 0xa4]
push eax
lea eax, [esp + 0x8c]
call fcn.0041dd10
add esp, 4
push 0xffffffffffffffff
push ebp
lea ecx, [esp + 0xac]
mov byte [esp + 0x4f0], 3
call fcn.00406d10
mov byte [esp + 0x4e8], 2
cmp dword [esp + 0xa0], 8
jb 0x424b78
mov ecx, dword [esp + 0x8c]
push ecx
call fcn.004415cb
add esp, 4
mov edi, 0x472728
lea ecx, [ecx]
push 0xffffffffffffffff
push ebp
lea eax, [esp + 0xac]
lea ecx, [esp + 0x3c]
mov dword [esp + 0x54], 7
mov dword [esp + 0x50], ebp
mov word [esp + 0x40], bp
call fcn.00406d10
push ebp
push edi
or eax, 0xffffffff
lea esi, [esp + 0x3c]
mov byte [esp + 0x4f0], bl
call fcn.00406df0
cmp dword [esp + 0x4c], 8
mov eax, dword [esp + 0x38]
jae 0x424bc8
lea eax, [esp + 0x38]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x424be9
cmp dword [esp + 0x4c], 8
mov eax, dword [esp + 0x38]
jae 0x424be2
lea eax, [esp + 0x38]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov byte [esp + 0x4e8], 2
cmp dword [esp + 0x4c], 8
jb 0x424c05
mov edx, dword [esp + 0x38]
push edx
call fcn.004415cb
add esp, 4
add edi, 0x1c
cmp edi, 0x4727b4
jl 0x424b80
mov ebx, 0x472728
lea esp, [esp]
push ebp
mov edi, 7
push 0x46278c
lea esi, [esp + 0x58]
mov dword [esp + 0x70], edi
mov dword [esp + 0x6c], ebp
mov word [esp + 0x5c], bp
call fcn.00406f80
mov byte [esp + 0x4e8], 5
push ebp
push 0x46278c
lea esi, [esp + 0x3c]
mov dword [esp + 0x54], edi
mov dword [esp + 0x50], ebp
mov word [esp + 0x40], bp
call fcn.00406f80
push 0xffffffffffffffff
push ebp
lea eax, [esp + 0x74]
lea ecx, [esp + 0x58]
mov byte [esp + 0x4f0], 6
call fcn.00406d10
push 1
push 0x4624bc
lea ecx, [esp + 0x58]
call fcn.00406eb0
mov eax, dword [ebx + 0x14]
push 0x464f08
mov edi, 0xf
mov ecx, ebx
call fcn.00411070
test eax, eax
je 0x424cb5
push 5
push str.Bin_
lea ecx, [esp + 0x58]
call fcn.00406eb0
push ebp
push ebx
or eax, 0xffffffff
lea esi, [esp + 0x58]
call fcn.00406df0
push 0xffffffffffffffff
push ebp
lea eax, [esp + 0xc8]
lea ecx, [esp + 0x3c]
call fcn.00406d10
push 1
push 0x4624bc
lea ecx, [esp + 0x3c]
call fcn.00406eb0
push ebp
push ebx
or eax, 0xffffffff
lea esi, [esp + 0x3c]
call fcn.00406df0
mov eax, dword [esp + 0x54]
mov esi, 8
cmp dword [esp + 0x68], esi
jae 0x424d07
lea eax, [esp + 0x54]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x424ead
cmp dword [esp + 0x4c], esi
mov ecx, dword [esp + 0x38]
jae 0x424d24
lea ecx, [esp + 0x38]
cmp dword [esp + 0x68], esi
mov eax, dword [esp + 0x54]
jae 0x424d32
lea eax, [esp + 0x54]
push ebp
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
mov esi, eax
mov eax, dword [ebx + 0x14]
push str.OPIEModule.dll
mov edi, 0xe
mov ecx, ebx
call fcn.00411070
test eax, eax
mov edi, 8
je 0x424d6f
cmp dword [esp + 0x68], edi
mov eax, dword [esp + 0x54]
jae 0x424d68
lea eax, [esp + 0x54]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp dword [esp + 0x4c], edi
mov ecx, dword [esp + 0x38]
jae 0x424d7d
lea ecx, [esp + 0x38]
cmp dword [esp + 0x68], edi
mov eax, dword [esp + 0x54]
jae 0x424d8b
lea eax, [esp + 0x54]
push esi
push ecx
push eax
push 0x465938
lea eax, [esp + 0xec]
push 0x200
push eax
call fcn.004414db
add esp, 0x18
lea ecx, [esp + 0x88]
mov word [esp + 0x4da], bp
call fcn.0042bd40
mov byte [esp + 0x4e8], 7
mov edi, 7
lea eax, [esp + 0xdc]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], ebp
mov word [esp + 0x1c], bp
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bp
jne 0x424de0
sub eax, edx
sar eax, 1
push eax
lea ecx, [esp + 0xe0]
push ecx
lea esi, [esp + 0x20]
call fcn.00406f80
mov edx, esi
push ebp
push edx
or eax, 0xffffffff
lea esi, [esp + 0x90]
mov byte [esp + 0x4f0], 8
call fcn.00406df0
mov esi, 8
cmp dword [esp + 0x30], esi
jb 0x424e34
mov eax, dword [esp + 0x1c]
push eax
call fcn.004415cb
add esp, 4
cmp dword [esp + 0xa0], esi
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], ebp
mov word [esp + 0x1c], bp
jae 0x424e58
lea edx, [esp + 0x8c]
mov edi, dword [0x474bb0]
cmp edi, ebp
je 0x424e92
mov eax, edx
lea esi, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bp
jne 0x424e67
sub eax, esi
sar eax, 1
push edi
lea ecx, [eax + eax]
push ecx
push 1
push edx
call fcn.004422ed
mov edx, dword [0x474bb0]
push edx
call fcn.004428a9
add esp, 0x14
cmp dword [esp + 0xa0], 8
jb 0x424fdb
mov eax, dword [esp + 0x8c]
push eax
jmp 0x424fd3
cmp dword [esp + 0x68], esi
mov eax, dword [esp + 0x54]
jae 0x424ebb
lea eax, [esp + 0x54]
push eax
push 0x4659d0
lea ecx, [esp + 0xe4]
push 0x200
push ecx
call fcn.004414db
add esp, 0x10
lea ecx, [esp + 0x88]
mov word [esp + 0x4da], bp
call fcn.0042bd40
mov byte [esp + 0x4e8], 9
mov edi, 7
lea eax, [esp + 0xdc]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], ebp
mov word [esp + 0x1c], bp
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
cmp cx, bp
jne 0x424f10
sub eax, edx
sar eax, 1
push eax
lea edx, [esp + 0xe0]
push edx
lea esi, [esp + 0x20]
call fcn.00406f80
mov eax, esi
push ebp
push eax
or eax, 0xffffffff
lea esi, [esp + 0x90]
mov byte [esp + 0x4f0], 0xa
call fcn.00406df0
mov esi, 8
cmp dword [esp + 0x30], esi
jb 0x424f64
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.004415cb
add esp, 4
cmp dword [esp + 0xa0], esi
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], ebp
mov word [esp + 0x1c], bp
jae 0x424f88
lea edx, [esp + 0x8c]
mov edi, dword [0x474bb0]
cmp edi, ebp
je 0x424fc1
mov eax, edx
lea esi, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bp
jne 0x424f97
sub eax, esi
sar eax, 1
push edi
add eax, eax
push eax
push 1
push edx
call fcn.004422ed
mov ecx, dword [0x474bb0]
push ecx
call fcn.004428a9
add esp, 0x14
cmp dword [esp + 0xa0], 8
jb 0x424fdb
mov edx, dword [esp + 0x8c]
push edx
call fcn.004415cb
add esp, 4
mov esi, 8
cmp dword [esp + 0x4c], esi
jb 0x424ff3
mov eax, dword [esp + 0x38]
push eax
call fcn.004415cb
add esp, 4
mov edi, 7
mov byte [esp + 0x4e8], 2
cmp dword [esp + 0x68], esi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x48], ebp
mov word [esp + 0x38], bp
jb 0x425020
mov ecx, dword [esp + 0x54]
push ecx
call fcn.004415cb
add esp, 4
add ebx, 0x1c
cmp ebx, 0x4727b4
jl 0x424c20
cmp dword [esp + 0xbc], esi
jb 0x425048
mov edx, dword [esp + 0xa8]
push edx
call fcn.004415cb
add esp, 4
cmp dword [esp + 0x84], esi
mov dword [esp + 0xbc], edi
mov dword [esp + 0xb8], ebp
mov word [esp + 0xa8], bp
jb 0x425074
mov eax, dword [esp + 0x70]
push eax
call fcn.004415cb
add esp, 4
cmp dword [esp + 0xd8], esi
mov dword [esp + 0x84], edi
mov dword [esp + 0x80], ebp
mov word [esp + 0x70], bp
jb 0x4250a0
mov ecx, dword [esp + 0xc4]
push ecx
call fcn.004415cb
add esp, 4
mov eax, 1
mov ecx, dword [esp + 0x4e0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x4c8]
xor ecx, esp
call fcn.004414cc
add esp, 0x4d8
ret