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

Disassembly:
push 0xffffffffffffffff
push 0x5127b7
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x278
mov eax, dword [0x5581a0]
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.00469ee0
cmp eax, 2
je 0x470cad
lea ecx, [esp + 0xc]
push 0xcf
push ecx
call fcn.0042e0a0
add esp, 8
mov eax, dword [eax]
push ebx
push eax
mov ecx, esi
mov byte [esp + 0x290], 1
call fcn.00452680
lea ecx, [esp + 0xc]
mov byte [esp + 0x288], bl
call fcn.004dd151
jmp 0x470f13
cmp dword [esi + 0x4ac], ebx
je 0x470cc4
push ebx
push ebx
push ebx
push str.REST_0_r_n
mov ecx, esi
call fcn.00469ee0
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 0x5566f0
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.004d26f0
push ebx
lea ecx, [esp + 0x28]
mov byte [esp + 0x290], 2
call fcn.004d28f6
lea ecx, [esp + 0x10]
push 0x117
push ecx
call fcn.0042e0a0
add esp, 8
mov eax, dword [eax]
push ebx
push eax
mov ecx, esi
mov byte [esp + 0x294], 3
call fcn.00452680
lea ecx, [esp + 0x10]
mov byte [esp + 0x28c], 2
call fcn.004dd151
push str.LIST
lea ecx, [esp + 0x10]
call fcn.004dd2da
mov edi, dword [esp + 0x29c]
cmp edi, ebx
je 0x470d9d
cmp byte [edi], bl
je 0x470d9d
cmp dword [0x55e9fc], ebx
je 0x470d8f
push str.__lLd
lea ecx, [esp + 0x10]
call fcn.004dd52d
push 0x20
lea ecx, [esp + 0x10]
call fcn.004dd554
push edi
jmp 0x470daa
cmp dword [0x55e9fc], ebx
je 0x470db3
push 0x556e2c
lea ecx, [esp + 0x10]
call fcn.004dd52d
push 0x5526b0
lea ecx, [esp + 0x10]
call fcn.004dd52d
mov edx, dword [esi + 0x4b0]
pop edi
cmp dword [edx + 0x5c], ebx
je 0x470ddb
push str.NLST_r_n
lea ecx, [esp + 0xc]
call fcn.004dd2da
mov ecx, dword [esp + 8]
push ebx
lea eax, [esp + 0x18]
push ebx
push eax
push ecx
mov ecx, esi
call fcn.0046eec0
cmp eax, ebx
jne 0x470ee4
cmp dword [0x55e2f0], ebx
je 0x470e0b
push ebx
push str.___________parsing_started____________
mov ecx, esi
call fcn.00452680
push ebx
lea ecx, [esp + 0x18]
call fcn.004d2824
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.00470580
lea ecx, [esp + 0x14]
call fcn.004d27cc
cmp dword [esi + 0x410], ebx
je 0x470e5b
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 [0x55e2f0], ebx
je 0x470e70
push ebx
push str.___________parsing_finished____________
mov ecx, esi
call fcn.00452680
lea eax, [esp + 0x78]
push eax
call fcn.004c47fe
lea ecx, [esp + 0x14]
push 0x10d
push ecx
call fcn.0042e0a0
add esp, 0xc
mov eax, dword [eax]
push ebx
push eax
mov ecx, esi
mov byte [esp + 0x290], 4
call fcn.00452680
lea ecx, [esp + 0x10]
mov byte [esp + 0x288], 2
call fcn.004dd151
lea ecx, [esp + 0x28]
mov byte [esp + 0x288], bl
call fcn.004d27b9
lea ecx, [esp + 0x28]
call fcn.004d1e5c
lea ecx, [esp + 8]
mov dword [esp + 0x288], 0xffffffff
call fcn.004dd151
mov eax, 1
jmp 0x470f29
lea ecx, [esp + 0x14]
call fcn.004d27cc
lea edx, [esp + 0x78]
push edx
call fcn.004c47fe
add esp, 4
lea ecx, [esp + 0x28]
mov byte [esp + 0x288], bl
call fcn.004d27b9
lea ecx, [esp + 0x28]
call fcn.004d1e5c
lea ecx, [esp + 8]
mov dword [esp + 0x288], 0xffffffff
call fcn.004dd151
xor eax, eax
mov ecx, dword [esp + 0x280]
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x284
ret 0xc