Function at 0x470bf0
Capabilities:
Copy file
Get common file path

Disassembly:
push 0xffffffffffffffff
push 0x512777
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x278
mov eax, dword [0x5580a0]
push ebx
push esi
mov esi, ecx
mov dword [esp + 8], eax
xor ebx, ebx
push ebx
push ebx
push ebx
push str.TYPE_A_r_n
mov dword [esp + 0x298], ebx
call fcn.00469ea0
cmp eax, 2
je 0x470c6d
lea ecx, [esp + 0xc]
push 0xcf
push ecx
call fcn.0042e080
add esp, 8
mov eax, dword [eax]
push ebx
push eax
mov ecx, esi
mov byte [esp + 0x290], 1
call fcn.00452660
lea ecx, [esp + 0xc]
mov byte [esp + 0x288], bl
call fcn.004dd111
jmp 0x470ed3
cmp dword [esi + 0x4ac], ebx
je 0x470c84
push ebx
push ebx
push ebx
push str.REST_0_r_n
mov ecx, esi
call fcn.00469ea0
lea edx, [esp + 0x17c]
push edi
push edx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea eax, [esp + 0x7c]
lea ecx, [esp + 0x180]
push eax
push 0x270f
push 0x5565f0
push ecx
call dword [sym.imp.KERNEL32.dll_GetTempFileNameA]
mov edx, dword [0x53267c]
push 1
push edx
lea eax, [esp + 0x84]
push 0x93
push eax
lea ecx, [esp + 0x28]
call fcn.004d26b0
push ebx
lea ecx, [esp + 0x28]
mov byte [esp + 0x290], 2
call fcn.004d28b6
lea ecx, [esp + 0x10]
push 0x117
push ecx
call fcn.0042e080
add esp, 8
mov eax, dword [eax]
push ebx
push eax
mov ecx, esi
mov byte [esp + 0x294], 3
call fcn.00452660
lea ecx, [esp + 0x10]
mov byte [esp + 0x28c], 2
call fcn.004dd111
push str.LIST
lea ecx, [esp + 0x10]
call fcn.004dd29a
mov edi, dword [esp + 0x29c]
cmp edi, ebx
je 0x470d5d
cmp byte [edi], bl
je 0x470d5d
cmp dword [0x55e8fc], ebx
je 0x470d4f
push str.__lLd
lea ecx, [esp + 0x10]
call fcn.004dd4ed
push 0x20
lea ecx, [esp + 0x10]
call fcn.004dd514
push edi
jmp 0x470d6a
cmp dword [0x55e8fc], ebx
je 0x470d73
push 0x556d2c
lea ecx, [esp + 0x10]
call fcn.004dd4ed
push 0x5526b0
lea ecx, [esp + 0x10]
call fcn.004dd4ed
mov edx, dword [esi + 0x4b0]
pop edi
cmp dword [edx + 0x5c], ebx
je 0x470d9b
push str.NLST_r_n
lea ecx, [esp + 0xc]
call fcn.004dd29a
mov ecx, dword [esp + 8]
push ebx
lea eax, [esp + 0x18]
push ebx
push eax
push ecx
mov ecx, esi
call fcn.0046ee80
cmp eax, ebx
jne 0x470ea4
cmp dword [0x55e1f0], ebx
je 0x470dcb
push ebx
push str.___________parsing_started____________
mov ecx, esi
call fcn.00452660
push ebx
lea ecx, [esp + 0x18]
call fcn.004d27e4
mov eax, dword [esp + 0x294]
mov ecx, dword [esp + 0x290]
lea edx, [esp + 0x14]
push edx
push eax
push ecx
mov ecx, esi
call fcn.00470540
lea ecx, [esp + 0x14]
call fcn.004d278c
cmp dword [esi + 0x410], ebx
je 0x470e1b
mov eax, dword [esi + 0x414]
push ebx
lea edx, [esp + 0x7c]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov dword [esi + 0x410], ebx
cmp dword [0x55e1f0], ebx
je 0x470e30
push ebx
push str.___________parsing_finished____________
mov ecx, esi
call fcn.00452660
lea eax, [esp + 0x78]
push eax
call fcn.004c47be
lea ecx, [esp + 0x14]
push 0x10d
push ecx
call fcn.0042e080
add esp, 0xc
mov eax, dword [eax]
push ebx
push eax
mov ecx, esi
mov byte [esp + 0x290], 4
call fcn.00452660
lea ecx, [esp + 0x10]
mov byte [esp + 0x288], 2
call fcn.004dd111
lea ecx, [esp + 0x28]
mov byte [esp + 0x288], bl
call fcn.004d2779
lea ecx, [esp + 0x28]
call fcn.004d1e1c
lea ecx, [esp + 8]
mov dword [esp + 0x288], 0xffffffff
call fcn.004dd111
mov eax, 1
jmp 0x470ee9
lea ecx, [esp + 0x14]
call fcn.004d278c
lea edx, [esp + 0x78]
push edx
call fcn.004c47be
add esp, 4
lea ecx, [esp + 0x28]
mov byte [esp + 0x288], bl
call fcn.004d2779
lea ecx, [esp + 0x28]
call fcn.004d1e1c
lea ecx, [esp + 8]
mov dword [esp + 0x288], 0xffffffff
call fcn.004dd111
xor eax, eax
mov ecx, dword [esp + 0x280]
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x284
ret 0xc