Function at 0x4314a4
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffa4
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x38], eax
mov eax, 0x52bdb8
call fcn.00503ebc
mov word [ebp - 0x24], 8
lea eax, [ebp - 4]
call fcn.00401d04
inc dword [ebp - 0x18]
mov word [ebp - 0x24], 0x14
mov word [ebp - 0x24], 0x20
lea eax, [ebp - 8]
call fcn.00401d04
inc dword [ebp - 0x18]
mov word [ebp - 0x24], 0x14
cmp dword [0x53d870], 0
jne 0x4314fd
cmp dword [0x54e674], 0
jne 0x43152c
dec dword [ebp - 0x18]
lea eax, [ebp - 8]
mov edx, 2
call fcn.0050f900
dec dword [ebp - 0x18]
lea eax, [ebp - 4]
mov edx, 2
call fcn.0050f900
mov ecx, dword [ebp - 0x34]
mov dword fs:[0], ecx
jmp 0x4317eb
mov eax, dword [ebp - 0x3c]
sub eax, dword [0x54ee88]
add eax, 0x1d
mov dword [ebp - 0x50], eax
mov edx, dword [ebp - 0x40]
sub edx, dword [0x54ee8c]
add edx, 0x13
cmp dword [0x54e664], 2
mov dword [ebp - 0x54], edx
je 0x431582
dec dword [ebp - 0x18]
lea eax, [ebp - 8]
mov edx, 2
call fcn.0050f900
dec dword [ebp - 0x18]
lea eax, [ebp - 4]
mov edx, 2
call fcn.0050f900
mov ecx, dword [ebp - 0x34]
mov dword fs:[0], ecx
jmp 0x4317eb
xor eax, eax
xor edx, edx
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x44], edx
xor ecx, ecx
mov dword [ebp - 0x48], ecx
xor eax, eax
mov dword [ebp - 0x4c], eax
mov edx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x44]
shl ecx, 6
shl edx, 5
lea ecx, [ecx + ecx*2]
lea edx, [edx + edx*2]
add edx, ecx
add edx, 0x2a
cmp edx, dword [ebp - 0x50]
jg 0x43161b
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
shl edx, 6
shl eax, 5
lea edx, [edx + edx*2]
lea eax, [eax + eax*2]
add eax, edx
add eax, 0x5a
cmp eax, dword [ebp - 0x50]
jle 0x43161b
mov ecx, dword [ebp - 0x4c]
add ecx, ecx
lea ecx, [ecx + ecx*2]
lea ecx, [ecx + ecx*4]
add ecx, 0x78
cmp ecx, dword [ebp - 0x54]
jg 0x43161b
mov eax, dword [ebp - 0x4c]
add eax, eax
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
add eax, 0x8c
cmp eax, dword [ebp - 0x54]
jle 0x43161b
mov edx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x4c]
shl edx, 2
add ecx, ecx
mov eax, 0x64
lea edx, [edx + edx*4]
add edx, dword [ebp - 0x48]
add edx, ecx
inc edx
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x4c], eax
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], 0xa
jl 0x431596
inc dword [ebp - 0x48]
cmp dword [ebp - 0x48], 2
jl 0x431591
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 4
jl 0x43158c
cmp dword [ebp - 0x58], 0
je 0x43173c
mov edx, dword [0x54e66c]
lea ecx, [ebp - 4]
push edx
push 0x52b89c
push ecx
call fcn.0050fadc
add esp, 0xc
mov eax, dword [ebp - 0x58]
push eax
push 0x52b8ae
lea edx, [ebp - 8]
push edx
call fcn.0050fadc
add esp, 0xc
cmp dword [0x54ee7c], 0
jne 0x43170f
mov eax, dword [ebp - 8]
call fcn.00484688
test al, al
jne 0x4316a2
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.004848ac
jmp 0x431734
mov word [ebp - 0x24], 0x2c
mov edx, 0x52b8c0
lea eax, [ebp - 0xc]
call fcn.0050f7a0
inc dword [ebp - 0x18]
mov edx, dword [eax]
mov eax, dword [ebp - 4]
call fcn.004848ac
dec dword [ebp - 0x18]
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.0050f900
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 8]
call fcn.004848ac
mov word [ebp - 0x24], 0x38
mov edx, 0x52b8d3
lea eax, [ebp - 0x10]
call fcn.0050f7a0
inc dword [ebp - 0x18]
mov eax, dword [eax]
mov edx, dword [ebp - 8]
call fcn.004848ac
dec dword [ebp - 0x18]
lea eax, [ebp - 0x10]
mov edx, 2
call fcn.0050f900
jmp 0x431734
mov eax, dword [ebp - 8]
call fcn.00484688
test al, al
jne 0x431734
push 1
lea eax, [ebp - 8]
call fcn.00403b0c
push eax
lea eax, [ebp - 4]
call fcn.00403b0c
push eax
call sub.kernel32.dll_CopyFileA
mov eax, dword [ebp - 0x38]
call fcn.0042fab8
cmp dword [0x54e66c], 0
je 0x431797
cmp dword [0x54e66c], 0x63
jge 0x431797
cmp dword [ebp - 0x50], 0x2ad
jl 0x431797
cmp dword [ebp - 0x54], 0x17
jl 0x431797
cmp dword [ebp - 0x50], 0x31c
jge 0x431797
cmp dword [ebp - 0x54], 0x84
jge 0x431797
mov edx, dword [0x54e66c]
lea ecx, [ebp - 4]
push edx
push 0x52b8e6
push ecx
call fcn.0050fadc
add esp, 0xc
mov eax, dword [ebp - 4]
call fcn.0050f714
mov eax, dword [ebp - 0x38]
call fcn.0042fab8
mov ecx, dword [ebp - 0x38]
xor edx, edx
mov dword [0x54e674], edx
mov eax, dword [ecx + 0x3dc]
push eax
mov edx, dword [ebp - 0x38]
mov ecx, dword [edx + 0x2f8]
mov eax, dword [ecx + 0x160]
xor ecx, ecx
xor edx, edx
call fcn.004bd270
dec dword [ebp - 0x18]
lea eax, [ebp - 8]
mov edx, 2
call fcn.0050f900
dec dword [ebp - 0x18]
lea eax, [ebp - 4]
mov edx, 2
call fcn.0050f900
mov ecx, dword [ebp - 0x34]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret