Function at 0x413aa0
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x506288
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc8
push ebx
push esi
push edi
sub esp, 0x18
mov dword [ebp - 0x34], edx
mov esi, esp
mov word [ebp - 0xf], 0x5c
xor eax, eax
mov byte [ebp - 0xd], 0
mov ebx, ecx
mov dword [ebp - 0x30], esp
lea ecx, [ebp - 0xf]
mov dword [ebp - 0x14], ebx
mov dword [esi], eax
lea edx, [ecx + 1]
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x413af4
sub ecx, edx
lea eax, [ebp - 0xf]
push ecx
push eax
mov ecx, esi
call fcn.00402ae0
sub esp, 0x18
mov dword [ebp - 4], 0
mov edx, esp
xor eax, eax
mov ecx, ebx
mov dword [edx], eax
mov dword [edx + 4], eax
lea esi, [ecx + 1]
mov dword [edx + 8], eax
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], eax
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x413b30
sub ecx, esi
push ecx
push ebx
mov ecx, edx
call fcn.00402ae0
lea ecx, [ebp - 0x74]
mov dword [ebp - 4], 0xffffffff
call fcn.0040ab40
add esp, 0x30
mov dword [ebp - 4], 1
mov eax, 0x2aaaaaab
mov ecx, dword [ebp - 0x70]
mov esi, dword [ebp - 0x74]
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x413df4
lea eax, [eax + eax*2]
lea eax, [eax - 3]
push 0
lea eax, [esi + eax*8]
push 0xc
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x30], eax
call fcn.0046a680
cmp dword [ebp - 0x54], 0x10
lea ebx, [ebp - 0x68]
jb 0x413b9e
mov ebx, dword [ebp - 0x68]
mov dword [ebp - 0x10], 0xc
jmp 0x413bb0
mov ecx, 0x10
lea edi, [ebp - 0xd0]
mov esi, str.abcdefghijklmnopqrstuvwxyz0123456789_ABCDEFGHIJKLMNOPQRSTUVWXYZ
rep movsd dword es:[edi], dword [esi]
call fcn.004e50bd
xor edx, edx
lea ebx, [ebx + 1]
mov ecx, 0x3f
div ecx
mov al, byte [ebp + edx - 0xd0]
mov byte [ebx - 1], al
mov eax, dword [ebp - 0x10]
dec eax
mov dword [ebp - 0x10], eax
test eax, eax
jg 0x413bb0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xf]
mov edx, dword [0x534dcc]
lea esi, [ecx + 1]
mov word [ebp - 0xf], 0x5c
mov byte [ebp - 0xd], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x413c02
mov eax, closesocket
sub ecx, esi
sub eax, edx
cmp eax, ecx
jb 0x413f39
cmp dword [0x534dd0], 0x10
mov eax, 0x534dbc
jb 0x413c2d
mov eax, dword [0x534dbc]
push ecx
lea ecx, [ebp - 0xf]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x14]
lea ecx, [ebp - 0x4c]
call fcn.004720e0
lea eax, [ebp - 0x68]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x4c]
push eax
push dword [ebp - 0x14]
lea ecx, [ebp - 0x8c]
call fcn.00471ed0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x8c]
push dword [ebp - 0x30]
call fcn.0046a4f0
mov edx, eax
xor eax, eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov ecx, dword [edx]
mov dword [ebp - 0x2c], ecx
mov eax, dword [edx + 4]
mov dword [ebp - 0x28], eax
mov eax, dword [edx + 8]
mov dword [ebp - 0x24], eax
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x20], eax
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x1c], eax
mov eax, dword [edx + 0x14]
mov dword [ebp - 0x18], eax
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov byte [edx], 0
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x78]
cmp ecx, 0x10
jb 0x413cf1
mov edx, dword [ebp - 0x8c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x413ce7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413f3e
push ecx
push edx
call fcn.004df511
add esp, 8
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0xf
mov byte [ebp - 0x8c], 0
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x38]
cmp ecx, 0x10
jb 0x413d3e
mov edx, dword [ebp - 0x4c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x413d34
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413f3e
push ecx
push edx
call fcn.004df511
add esp, 8
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x54]
cmp ecx, 0x10
jb 0x413d76
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x413d6c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413f3e
push ecx
push edx
call fcn.004df511
add esp, 8
cmp dword [ebp - 0x18], 0x10
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0xf
mov byte [ebp - 0x68], 0
jb 0x413d94
mov eax, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x14]
push 0
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
jne 0x413e21
cmp dword [ebp - 0x18], 0x10
lea edx, [ebp - 0x2c]
jb 0x413db1
mov edx, dword [ebp - 0x2c]
mov ecx, ebx
call fcn.00413910
test al, al
jne 0x413e21
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x18]
cmp ecx, 0x10
jb 0x413df4
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x413dea
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413f49
push ecx
push edx
call fcn.004df511
add esp, 8
mov edx, dword [ebp - 0x34]
push ecx
push 6
mov ecx, ebx
call fcn.004dce10
mov esi, eax
add esp, 8
lea ecx, [ebp - 0x74]
call fcn.0046c860
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
push 0x537268
mov dword [ebp - 0x14], 0x537268
call fcn.004de812
add esp, 4
test eax, eax
jne 0x413f43
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x2c]
cmp dword [ebp - 0x18], 0x10
jb 0x413e4d
mov ecx, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x34]
mov edx, edi
push ecx
push 1
call fcn.004dce10
add esp, 8
lea ecx, [ebp - 0x50]
mov esi, eax
lea eax, [ebp - 0x2c]
push eax
call fcn.0046a770
mov edx, dword [edi]
mov dword [ebp - 0x38], edx
mov byte [ebp - 4], 0xa
mov ecx, dword [0x537348]
cmp ecx, dword [0x53734c]
je 0x413eba
mov eax, dword [ebp - 0x50]
mov dword [ecx], eax
mov eax, dword [ebp - 0x4c]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x48]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x44]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0x40]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0x3c]
mov dword [ecx + 0x14], eax
mov eax, 0xf
mov dword [ecx + 0x18], edx
add dword [0x537348], 0x1c
mov byte [ebp - 0x50], 0
jmp 0x413ec7
lea eax, [ebp - 0x50]
push eax
push ecx
call fcn.00476b70
mov eax, dword [ebp - 0x3c]
cmp eax, 0x10
jb 0x413ef6
mov edx, dword [ebp - 0x50]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x413eec
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413f49
push ecx
push edx
call fcn.004df511
add esp, 8
push 0x537268
call fcn.004de823
mov ecx, dword [ebp - 0x18]
add esp, 4
cmp ecx, 0x10
jb 0x413e06
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x413f2d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413f49
push ecx
push edx
call fcn.004df511
jmp 0x413e03
call fcn.00402270
call fcn.004e47b0
push eax
call fcn.004de4bb
call fcn.004e47b0
int3