Function at 0x44b700
Capabilities:
Access peb ldr_data
Check if file exists
Copy file
Delete file
Get file attributes
Move file
Set file attributes

Disassembly:
push 0xffffffffffffffff
push 0x533bd2
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x434
mov eax, dword [0x598d50]
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x20], eax
xor ebp, ebp
mov dword [esp + 0x44c], ebp
mov dword [esp + 0x18], eax
mov byte [esp + 0x44c], 1
mov dword [esp + 0x10], eax
push 0x5a17b0
lea ecx, [esp + 0x18]
mov byte [esp + 0x450], 2
call fcn.00511f59
lea eax, [esp + 0x34]
push 0x104
push eax
mov byte [esp + 0x454], 3
call fcn.00433ca0
add esp, 8
lea ecx, [esp + 0x34]
push 0x596608
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x57a00c
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, dword [esp + 0x454]
push 0x104
lea edx, [esp + 0x13c]
mov dword [esp + 0x2c], eax
lea edi, [esi + 0xc]
push edi
push edx
call fcn.00461ad6
mov eax, dword [esp + 0x34]
add esp, 0xc
cmp eax, ebp
mov dword [esp + 0x30], ebp
je 0x44b80f
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x5967e8
push eax
call ebx
test eax, eax
je 0x44b80f
lea ecx, [esp + 0x138]
push ecx
call eax
test eax, eax
jne 0x44b80f
mov edx, dword [esp + 0x28]
push 0x5967d4
push edx
call ebx
test eax, eax
je 0x44b80f
lea ecx, [esp + 0x138]
push ecx
call eax
test eax, eax
jne 0x44b80f
mov edx, dword [esp + 0x28]
push 0x5967bc
push edx
mov ebp, 1
call ebx
mov dword [esp + 0x30], eax
lea eax, [esp + 0x340]
push edi
push eax
call fcn.00433470
add esp, 8
lea ecx, [esp + 0x340]
push ecx
lea ecx, [esp + 0x24]
call fcn.00512074
lea edx, [esp + 0x340]
lea ecx, [esp + 0x2c]
push edx
call fcn.00511f59
test ebp, ebp
mov byte [esp + 0x44c], 4
je 0x44b87b
push 0x5967a8
lea ecx, [esp + 0x30]
call fcn.005122c7
lea eax, [esp + 0x2c]
push eax
call fcn.00433f10
add esp, 4
test eax, eax
je 0x44b874
lea ecx, [esp + 0x2c]
push ecx
jmp 0x44b89f
push 0x596790
jmp 0x44b8b4
push 0x59677c
lea ecx, [esp + 0x30]
call fcn.005122c7
lea edx, [esp + 0x2c]
push edx
call fcn.00433f10
add esp, 4
test eax, eax
je 0x44b8af
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x24]
call fcn.00512024
push 0x5909e8
jmp 0x44b8b4
push 0x596768
lea ecx, [esp + 0x24]
call fcn.005122c7
lea ecx, [esp + 0x34]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00512074
lea edx, [esp + 0x34]
lea ecx, [esp + 0x14]
push edx
call fcn.00512074
push 0x5c
lea ecx, [esp + 0x18]
call fcn.0050a59d
cmp eax, 0xffffffff
je 0x44b91c
inc eax
lea ecx, [esp + 0x14]
push eax
lea eax, [esp + 0x20]
push eax
call fcn.0050a3f0
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x450], 5
call fcn.00512024
lea ecx, [esp + 0x1c]
mov byte [esp + 0x44c], 4
call fcn.00511eeb
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x14]
call fcn.00512024
lea edx, [esp + 0x14]
lea ecx, [esp + 0x10]
push edx
call fcn.00512303
mov eax, dword [esp + 0x18]
mov edi, dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
push eax
call edi
mov ebx, dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
cmp eax, 0xffffffff
je 0x44b95a
mov ecx, dword [esp + 0x18]
and al, 0xfe
push eax
push ecx
call ebx
mov edx, dword [esp + 0x10]
push edx
call edi
cmp eax, 0xffffffff
je 0x44b970
and al, 0xfe
push eax
mov eax, dword [esp + 0x14]
push eax
call ebx
mov ebp, dword [sym.imp.KERNEL32.dll_MoveFileA]
mov bl, 6
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
push 0
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov edi, eax
test edi, edi
jne 0x44baff
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x4c8
jne 0x44baa9
push edi
call fcn.00461dec
push eax
call fcn.00461dbd
mov eax, dword [0x598d50]
add esp, 8
mov dword [esp + 0x24], eax
mov byte [esp + 0x44c], bl
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x10]
lea ecx, [esp + 0x24]
push eax
mov byte [esp + 0x450], 7
mov edi, 1
call fcn.00512024
push edi
lea ecx, [esp + 0x20]
push 0x596760
push ecx
call fcn.0050a945
add esp, 0xc
lea ecx, [esp + 0x24]
call fcn.0051241f
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x24]
push edx
push 0x596758
call fcn.0050a28d
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
push eax
push ecx
call ebp
test eax, eax
jne 0x44ba83
mov edx, dword [esp + 0x24]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
inc edi
lea eax, [esp + 0x1c]
push edi
push 0x596760
push eax
call fcn.0050a945
mov ecx, dword [esp + 0x28]
add esp, 0xc
push ecx
push 0x596758
lea ecx, [esp + 0x2c]
call fcn.0050a28d
cmp edi, 0xfa
jg 0x44ba6e
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
push edx
push eax
call ebp
test eax, eax
je 0x44ba22
jmp 0x44ba83
push 0x4c8
mov dword [esi + 0x114], 0x4c8
call dword [sym.imp.KERNEL32.dll_SetLastError]
lea ecx, [esp + 0x1c]
mov byte [esp + 0x44c], bl
call fcn.00511eeb
lea ecx, [esp + 0x24]
mov byte [esp + 0x44c], 4
call fcn.00511eeb
jmp 0x44b978
test edi, edi
jne 0x44baff
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [esp + 0x18]
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea edx, [esi + 0x11c]
push ecx
push edx
mov dword [esi + 0x114], eax
call edi
mov eax, dword [esp + 0x10]
lea ecx, [esi + 0x220]
push eax
push ecx
call edi
mov eax, dword [esp + 0x30]
test eax, eax
je 0x44baed
lea edx, [esp + 0x138]
push edx
call eax
mov eax, dword [esi + 0x114]
push eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x44c58f
lea ecx, [esp + 0x34]
push 0x104
push ecx
call fcn.00433ca0
mov ebp, dword [sym.imp.KERNEL32.dll_lstrcatA]
add esp, 8
lea edx, [esp + 0x34]
push 0x5965f0
push edx
call ebp
lea eax, [esp + 0x34]
lea ecx, [esp + 0x18]
push eax
call fcn.00512074
lea ecx, [esp + 0x34]
push ecx
lea ecx, [esp + 0x18]
call fcn.00512074
push 0x5c
lea ecx, [esp + 0x18]
call fcn.0050a59d
cmp eax, 0xffffffff
je 0x44bb82
inc eax
lea edx, [esp + 0x1c]
push eax
push edx
lea ecx, [esp + 0x1c]
call fcn.0050a3f0
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x450], 8
call fcn.00512024
lea ecx, [esp + 0x1c]
mov byte [esp + 0x44c], 4
call fcn.00511eeb
lea eax, [esp + 0x20]
lea ecx, [esp + 0x10]
push eax
call fcn.00512024
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x14]
call fcn.00512303
mov edx, dword [esp + 0x18]
mov edi, dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
push edx
call edi
cmp eax, 0xffffffff
je 0x44bbc2
mov ebx, dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
and al, 0xfe
push eax
mov eax, dword [esp + 0x1c]
push eax
call ebx
jmp 0x44bbc8
mov ebx, dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov ecx, dword [esp + 0x10]
push ecx
call edi
cmp eax, 0xffffffff
je 0x44bbde
mov edx, dword [esp + 0x10]
and al, 0xfe
push eax
push edx
call ebx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
push 0
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
jne 0x44bc33
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [esp + 0x18]
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [esi + 0x114], eax
lea eax, [esi + 0x11c]
push edx
push eax
call edi
mov ecx, dword [esp + 0x10]
lea edx, [esi + 0x220]
push ecx
push edx
call edi
mov eax, dword [esp + 0x30]
test eax, eax
je 0x44c538
jmp 0x44c52e
lea eax, [esp + 0x34]
push 0x104
push eax
call fcn.00433ca0
add esp, 8
lea ecx, [esp + 0x34]
push 0x5965fc
push ecx
call ebp
lea edx, [esp + 0x34]
lea ecx, [esp + 0x18]
push edx
call fcn.00512074
lea eax, [esp + 0x34]
lea ecx, [esp + 0x14]
push eax
call fcn.00512074
push 0x5c
lea ecx, [esp + 0x18]
call fcn.0050a59d
cmp eax, 0xffffffff
je 0x44bcb0
inc eax
lea ecx, [esp + 0x1c]
push eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.0050a3f0
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x450], 9
call fcn.00512024
lea ecx, [esp + 0x1c]
mov byte [esp + 0x44c], 4
call fcn.00511eeb
lea edx, [esp + 0x20]
lea ecx, [esp + 0x10]
push edx
call fcn.00512024
lea eax, [esp + 0x14]
lea ecx, [esp + 0x10]
push eax
call fcn.00512303
mov ecx, dword [esp + 0x18]
push ecx
call edi
cmp eax, 0xffffffff
je 0x44bce2
mov edx, dword [esp + 0x18]
and al, 0xfe
push eax
push edx
call ebx
mov eax, dword [esp + 0x10]
push eax
call edi
cmp eax, 0xffffffff
je 0x44bcf8
mov ecx, dword [esp + 0x10]
and al, 0xfe
push eax
push ecx
call ebx
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
push 0
push edx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
je 0x44baad
lea ecx, [esp + 0x34]
push 0x104
push ecx
call fcn.00433ca0
add esp, 8
lea edx, [esp + 0x34]
push 0x592818
push edx
call ebp
lea eax, [esp + 0x34]
lea ecx, [esp + 0x18]
push eax
call fcn.00512074
lea ecx, [esp + 0x34]
push ecx
lea ecx, [esp + 0x18]
call fcn.00512074
push 0x5c
lea ecx, [esp + 0x18]
call fcn.0050a59d
cmp eax, 0xffffffff
je 0x44bd8f
inc eax
lea edx, [esp + 0x1c]
push eax
push edx
lea ecx, [esp + 0x1c]
call fcn.0050a3f0
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x450], 0xa
call fcn.00512024
lea ecx, [esp + 0x1c]
mov byte [esp + 0x44c], 4
call fcn.00511eeb
lea eax, [esp + 0x20]
lea ecx, [esp + 0x10]
push eax
call fcn.00512024
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x14]
call fcn.00512303
mov edx, dword [esp + 0x18]
push edx
call edi
cmp eax, 0xffffffff
je 0x44bdc1
and al, 0xfe
push eax
mov eax, dword [esp + 0x1c]
push eax
call ebx
mov ecx, dword [esp + 0x10]
push ecx
call edi
cmp eax, 0xffffffff
je 0x44bdd7
mov edx, dword [esp + 0x10]
and al, 0xfe
push eax
push edx
call ebx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
push 0
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
je 0x44bbf4
lea eax, [esp + 0x34]
push 0x104
push eax
call fcn.00433ca0
add esp, 8
lea ecx, [esp + 0x34]
push 0x5965e0
push ecx
call ebp
lea edx, [esp + 0x34]
lea ecx, [esp + 0x18]
push edx
call fcn.00512074
lea eax, [esp + 0x34]
lea ecx, [esp + 0x14]
push eax
call fcn.00512074
push 0x5c
lea ecx, [esp + 0x18]
call fcn.0050a59d
cmp eax, 0xffffffff
je 0x44be6e
inc eax
lea ecx, [esp + 0x1c]
push eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.0050a3f0
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x450], 0xb
call fcn.00512024
lea ecx, [esp + 0x1c]
mov byte [esp + 0x44c], 4
call fcn.00511eeb
lea edx, [esp + 0x20]
lea ecx, [esp + 0x10]
push edx
call fcn.00512024
lea eax, [esp + 0x14]
lea ecx, [esp + 0x10]
push eax
call fcn.00512303
push 0x596750
push 0x596748
lea ecx, [esp + 0x18]
call fcn.0050a28d
mov ecx, dword [esp + 0x18]
push ecx
call edi
cmp eax, 0xffffffff
je 0x44beb3
mov edx, dword [esp + 0x18]
and al, 0xfe
push eax
push edx
call ebx
mov eax, dword [esp + 0x10]
push eax
call edi
cmp eax, 0xffffffff
je 0x44bec9
mov ecx, dword [esp + 0x10]
and al, 0xfe
push eax
push ecx
call ebx
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
push 0
push edx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
mov ebp, 0x20
jne 0x44c017
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, ebp
mov dword [esi + 0x114], eax
je 0x44c017
mov ecx, dword [esp + 0x18]
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea edx, [esi + 0x11c]
push ecx
push edx
call edi
mov eax, dword [esp + 0x10]
lea ecx, [esi + 0x220]
push eax
push ecx
call edi
mov edx, dword [0x598d50]
mov edi, dword [esi + 0x114]
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
push eax
push ecx
lea edx, [esp + 0x30]
push 0xb2
push edx
mov byte [esp + 0x45c], 0xc
call fcn.0050a958
mov eax, dword [0x598d50]
add esp, 0x10
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x28]
mov bl, 0xd
push edi
mov byte [esp + 0x450], bl
mov eax, dword [ecx - 8]
lea ecx, [esp + 0x2c]
push eax
call fcn.0051231b
lea edx, [esp + 0x28]
push eax
push edx
call fcn.00434040
mov eax, dword [0x598d50]
add esp, 0xc
mov dword [esp + 0x1c], eax
push 0xc6
lea ecx, [esp + 0x20]
mov byte [esp + 0x450], 0xe
call fcn.00512508
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
mov eax, dword [esi]
push 0x50010
push ecx
push edx
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
mov eax, dword [esp + 0x30]
test eax, eax
je 0x44bfcd
lea ecx, [esp + 0x138]
push ecx
call eax
mov edx, dword [esi + 0x114]
push edx
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov esi, dword [esi + 0x114]
lea ecx, [esp + 0x1c]
mov byte [esp + 0x44c], bl
call fcn.00511eeb
lea ecx, [esp + 0x24]
mov byte [esp + 0x44c], 0xc
call fcn.00511eeb
lea ecx, [esp + 0x28]
mov byte [esp + 0x44c], 4
call fcn.00511eeb
jmp 0x44c595
cmp dword [esi + 0x114], ebp
jne 0x44c0fe
lea eax, [esp + 0x34]
push 0x104
push eax
call fcn.00433ca0
add esp, 8
lea ecx, [esp + 0x34]
push 0x5965e0
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea edx, [esp + 0x34]
lea ecx, [esp + 0x18]
push edx
call fcn.00512074
lea eax, [esp + 0x34]
lea ecx, [esp + 0x14]
push eax
call fcn.00512074
push 0x5c
lea ecx, [esp + 0x18]
call fcn.0050a59d
cmp eax, 0xffffffff
je 0x44c0a4
inc eax
lea ecx, [esp + 0x1c]
push eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.0050a3f0
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x450], 0xf
call fcn.00512024
lea ecx, [esp + 0x1c]
mov byte [esp + 0x44c], 4
call fcn.00511eeb
lea edx, [esp + 0x20]
lea ecx, [esp + 0x10]
push edx
call fcn.00512024
lea eax, [esp + 0x14]
lea ecx, [esp + 0x10]
push eax
call fcn.00512303
mov ecx, dword [esp + 0x18]
push ecx
call edi
cmp eax, 0xffffffff
je 0x44c0d6
mov edx, dword [esp + 0x18]
and al, 0xfe
push eax
push edx
call ebx
mov eax, dword [esp + 0x10]
push eax
call edi
cmp eax, 0xffffffff
je 0x44c0ec
mov ecx, dword [esp + 0x10]
and al, 0xfe
push eax
push ecx
call ebx
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
push 0
push edx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
lea ecx, [esp + 0x34]
push 0x104
push ecx
call fcn.00433ca0
add esp, 8
lea edx, [esp + 0x34]
push 0x5965b8
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [esp + 0x34]
lea ecx, [esp + 0x18]
push eax
call fcn.00512074
lea ecx, [esp + 0x34]
push ecx
lea ecx, [esp + 0x18]
call fcn.00512074
push 0x5c
lea ecx, [esp + 0x18]
call fcn.0050a59d
cmp eax, 0xffffffff
je 0x44c17f
inc eax
lea edx, [esp + 0x1c]
push eax
push edx
lea ecx, [esp + 0x1c]
call fcn.0050a3f0
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x450], 0x10
call fcn.00512024
lea ecx, [esp + 0x1c]
mov byte [esp + 0x44c], 4
call fcn.00511eeb
lea eax, [esp + 0x20]
lea ecx, [esp + 0x10]
push eax
call fcn.00512024
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x14]
call fcn.00512303
push 0x596750
push 0x596748
lea ecx, [esp + 0x18]
call fcn.0050a28d
mov edx, dword [esp + 0x18]
push edx
call edi
cmp eax, 0xffffffff
je 0x44c1c4
and al, 0xfe
push eax
mov eax, dword [esp + 0x1c]
push eax
call ebx
mov ecx, dword [esp + 0x10]
push ecx
call edi
cmp eax, 0xffffffff
je 0x44c1da
mov edx, dword [esp + 0x10]
and al, 0xfe
push eax
push edx
call ebx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
push 0
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
jne 0x44c324
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, ebp
mov dword [esi + 0x114], eax
je 0x44c324
mov edx, dword [esp + 0x18]
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [esi + 0x11c]
push edx
push eax
call edi
mov ecx, dword [esp + 0x10]
lea edx, [esi + 0x220]
push ecx
push edx
call edi
mov eax, dword [0x598d50]
mov edi, dword [esi + 0x114]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
push ecx
push edx
lea eax, [esp + 0x30]
push 0xb2
push eax
mov byte [esp + 0x45c], 0x11
call fcn.0050a958
mov ecx, dword [0x598d50]
add esp, 0x10
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x28]
mov bl, 0x12
push edi
lea ecx, [esp + 0x2c]
mov eax, dword [edx - 8]
mov byte [esp + 0x450], bl
push eax
call fcn.0051231b
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.00434040
mov ecx, dword [0x598d50]
add esp, 0xc
mov dword [esp + 0x1c], ecx
push 0xc6
lea ecx, [esp + 0x20]
mov byte [esp + 0x450], 0x13
call fcn.00512508
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
mov ecx, dword [esi]
push 0x50010
push edx
push eax
push ecx
call dword [sym.imp.USER32.dll_MessageBoxA]
mov eax, dword [esp + 0x30]
test eax, eax
je 0x44c2da
lea edx, [esp + 0x138]
push edx
call eax
mov eax, dword [esi + 0x114]
push eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov esi, dword [esi + 0x114]
lea ecx, [esp + 0x1c]
mov byte [esp + 0x44c], bl
call fcn.00511eeb
lea ecx, [esp + 0x24]
mov byte [esp + 0x44c], 0x11
call fcn.00511eeb
lea ecx, [esp + 0x28]
mov byte [esp + 0x44c], 4
call fcn.00511eeb
jmp 0x44c595
cmp dword [esi + 0x114], ebp
jne 0x44c40b
lea ecx, [esp + 0x34]
push 0x104
push ecx
call fcn.00433ca0
add esp, 8
lea edx, [esp + 0x34]
push 0x5965b8
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [esp + 0x34]
lea ecx, [esp + 0x18]
push eax
call fcn.00512074
lea ecx, [esp + 0x34]
push ecx
lea ecx, [esp + 0x18]
call fcn.00512074
push 0x5c
lea ecx, [esp + 0x18]
call fcn.0050a59d
cmp eax, 0xffffffff
je 0x44c3b1
inc eax
lea edx, [esp + 0x1c]
push eax
push edx
lea ecx, [esp + 0x1c]
call fcn.0050a3f0
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x450], 0x14
call fcn.00512024
lea ecx, [esp + 0x1c]
mov byte [esp + 0x44c], 4
call fcn.00511eeb
lea eax, [esp + 0x20]
lea ecx, [esp + 0x10]
push eax
call fcn.00512024
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x14]
call fcn.00512303
mov edx, dword [esp + 0x18]
push edx
call edi
cmp eax, 0xffffffff
je 0x44c3e3
and al, 0xfe
push eax
mov eax, dword [esp + 0x1c]
push eax
call ebx
mov ecx, dword [esp + 0x10]
push ecx
call edi
cmp eax, 0xffffffff
je 0x44c3f9
mov edx, dword [esp + 0x10]
and al, 0xfe
push eax
push edx
call ebx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
push 0
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov eax, dword [esi + 0x328]
test eax, eax
je 0x44c547
lea edx, [esp + 0x34]
push 0x104
push edx
call fcn.00433ca0
add esp, 8
lea eax, [esp + 0x34]
push 0x59673c
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea ecx, [esp + 0x34]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00512074
lea edx, [esp + 0x34]
lea ecx, [esp + 0x14]
push edx
call fcn.00512074
push 0x5c
lea ecx, [esp + 0x18]
call fcn.0050a59d
cmp eax, 0xffffffff
je 0x44c49a
inc eax
lea ecx, [esp + 0x14]
push eax
lea eax, [esp + 0x20]
push eax
call fcn.0050a3f0
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x450], 0x15
call fcn.00512024
lea ecx, [esp + 0x1c]
mov byte [esp + 0x44c], 4
call fcn.00511eeb
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x14]
call fcn.00512024
lea edx, [esp + 0x14]
lea ecx, [esp + 0x10]
push edx
call fcn.00512303
mov eax, dword [esp + 0x18]
push eax
call edi
cmp eax, 0xffffffff
je 0x44c4cc
mov ecx, dword [esp + 0x18]
and al, 0xfe
push eax
push ecx
call ebx
mov edx, dword [esp + 0x10]
push edx
call edi
cmp eax, 0xffffffff
je 0x44c4e2
and al, 0xfe
push eax
mov eax, dword [esp + 0x14]
push eax
call ebx
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
push 0
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
jne 0x44c547
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [esi + 0x114], eax
mov eax, dword [esp + 0x18]
lea ecx, [esi + 0x11c]
push eax
push ecx
call edi
mov edx, dword [esp + 0x10]
lea eax, [esi + 0x220]
push edx
push eax
call edi
mov eax, dword [esp + 0x30]
test eax, eax
je 0x44c538
lea ecx, [esp + 0x138]
push ecx
call eax
mov edx, dword [esi + 0x114]
push edx
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x44c58f
lea eax, [esp + 0x20]
lea ecx, [esp + 0x10]
push eax
call fcn.00512024
push 0x5925d0
lea ecx, [esp + 0x14]
call fcn.005122c7
mov ecx, dword [esp + 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, dword [esp + 0x30]
test eax, eax
je 0x44c580
lea edx, [esp + 0x138]
push edx
call eax
mov eax, dword [esp + 0x28]
test eax, eax
je 0x44c58f
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov esi, dword [esi + 0x114]
lea ecx, [esp + 0x2c]
mov byte [esp + 0x44c], 3
call fcn.00511eeb
lea ecx, [esp + 0x14]
mov byte [esp + 0x44c], 2
call fcn.00511eeb
lea ecx, [esp + 0x10]
mov byte [esp + 0x44c], 1
call fcn.00511eeb
lea ecx, [esp + 0x18]
mov byte [esp + 0x44c], 0
call fcn.00511eeb
lea ecx, [esp + 0x20]
mov dword [esp + 0x44c], 0xffffffff
call fcn.00511eeb
mov ecx, dword [esp + 0x444]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x440
ret