Function at 0x40cb60
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x174
mov eax, dword [0x462040]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov esi, ecx
push 0x7fd7
mov dword [ebp - 0x174], esi
call fcn.00439af3
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x40cba2
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00434f21
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0x16c], 0x62eb20
mov ecx, 3
mov eax, dword [ebp - 0x16c]
cdq
idiv ecx
mov eax, dword [ebp - 0x16c]
lea edi, [ecx - 1]
mov dword [ebp - 0x170], 5
test edx, edx
je 0x40cc28
add eax, edi
add eax, ebx
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0x16c]
and eax, reloc.WS2_32.dll_closesocket
jns 0x40cbef
dec eax
or eax, 0xfffffffc
add eax, 1
jne 0x40ccfe
nop word [eax + eax]
mov eax, dword [ebp - 0x16c]
inc eax
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0x16c]
and eax, reloc.WS2_32.dll_closesocket
jns 0x40cc21
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x40cc00
jmp 0x40ccfe
mov eax, dword [ebp - 0x16c]
and eax, reloc.WS2_32.dll_closesocket
jns 0x40cc3c
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x40cc8e
mov ecx, dword [ebp - 0x16c]
lea eax, [ebx + 3]
add ecx, edi
imul ecx, eax
mov dword [ebp - 0x16c], ecx
mov eax, dword [ebp - 0x16c]
test al, 1
jne 0x40ccfe
mov ecx, 5
mov eax, dword [ebp - 0x16c]
cdq
idiv ecx
mov eax, dword [ebp - 0x16c]
test edx, edx
je 0x40cc7b
dec eax
jmp 0x40cc7c
inc eax
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0x16c]
test al, 1
je 0x40cc65
jmp 0x40ccfe
mov eax, dword [ebp - 0x16c]
mov ecx, 5
cdq
idiv ecx
test edx, edx
je 0x40ccfe
mov eax, dword [ebp - 0x16c]
lea ecx, [ebx + 0x17]
add eax, 0xb
cdq
idiv ecx
mov ecx, 3
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0x16c]
cdq
idiv ecx
test edx, edx
jne 0x40ccfe
nop word [eax + eax]
mov eax, dword [ebp - 0x16c]
cdq
idiv dword [ebp - 0x170]
mov eax, dword [ebp - 0x16c]
test edx, edx
je 0x40ccea
inc eax
jmp 0x40cceb
dec eax
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0x16c]
cdq
idiv ecx
test edx, edx
je 0x40ccd0
cmp byte [0x465ee1], 0
je 0x40d030
mov ecx, esi
mov dword [ebp - 0xc], 0
xorps xmm0, xmm0
mov dword [ebp - 8], 0
movups xmmword [ebp - 0x1c], xmm0
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, edi
test ax, ax
jne 0x40cd25
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x1c]
call fcn.00415660
cmp dword [ebp - 8], 7
lea edi, [ebp - 0x1c]
mov esi, dword [ebp - 0xc]
cmova edi, dword [ebp - 0x1c]
test esi, esi
je 0x40cdfc
push 0x100
lea eax, [ebp - 0x168]
push 0
push eax
call fcn.00436bc0
add esp, 0xc
mov ecx, 0x45ea8c
mov edx, 0x100
movzx eax, word [ecx]
cmp ax, dx
jae 0x40cdbb
movzx eax, al
add ecx, 2
mov byte [ebp + eax - 0x168], 1
cmp ecx, 0x45ea90
jne 0x40cd73
lea eax, [esi - 1]
or ecx, 0xffffffff
cmp eax, ecx
cmovb ecx, eax
lea esi, [edi + ecx*2]
nop
movzx eax, word [esi]
cmp ax, dx
jae 0x40cdb2
cmp byte [ebp + eax - 0x168], 0
jne 0x40cdf6
cmp esi, edi
je 0x40cdfc
sub esi, 2
jmp 0x40cda0
lea eax, [esi - 1]
or ecx, 0xffffffff
cmp eax, ecx
cmovb ecx, eax
lea esi, [edi + ecx*2]
nop dword [eax]
movzx edx, word [esi]
mov ecx, 2
mov eax, 0x45ea8c
nop dword [eax]
cmp word [eax], dx
je 0x40cdf6
add eax, 2
sub ecx, 1
jne 0x40cde0
cmp esi, edi
je 0x40cdfc
sub esi, 2
jmp 0x40cdd0
sub esi, edi
sar esi, 1
jmp 0x40cdff
or esi, 0xffffffff
cmp dword [ebp - 0xc], esi
lea eax, [ebp - 0x1c]
mov ecx, esi
mov dword [ebp - 0x3c], 0
cmovb ecx, dword [ebp - 0xc]
xorps xmm0, xmm0
cmp dword [ebp - 8], 7
push ecx
cmova eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x4c]
push eax
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x38], 0
call fcn.00415660
mov eax, dword [ebp - 0xc]
inc esi
mov dword [ebp - 0x54], 0
xorps xmm0, xmm0
mov dword [ebp - 0x50], 0
movups xmmword [ebp - 0x64], xmm0
cmp eax, esi
jb 0x40d353
sub eax, esi
mov ecx, 0xffffffff
cmp eax, 0xffffffff
cmovb ecx, eax
cmp dword [ebp - 8], 7
lea eax, [ebp - 0x1c]
cmova eax, dword [ebp - 0x1c]
push ecx
lea ecx, [ebp - 0x64]
lea eax, [eax + esi*2]
push eax
call fcn.00415660
cmp dword [ebp - 0x50], 7
lea ecx, [ebp - 0x64]
lea eax, [ebp - 0x4c]
cmova ecx, dword [ebp - 0x64]
cmp dword [ebp - 0x38], 7
push ecx
cmova eax, dword [ebp - 0x4c]
push eax
push str.Renaming:__s____s
call fcn.00421530
add esp, 0xc
lea edx, [ebp - 0x64]
lea ecx, [ebp - 0x34]
call fcn.00424e50
cmp dword [ebp - 0x20], 7
lea eax, [ebp - 0x34]
cmova eax, dword [ebp - 0x34]
push eax
push str.New_name:__s
call fcn.00421530
cmp dword [ebp - 0x20], 7
lea ecx, [ebp - 0x34]
lea eax, [ebp - 0x4c]
cmova ecx, dword [ebp - 0x34]
cmp dword [ebp - 0x38], 7
push ecx
cmova eax, dword [ebp - 0x4c]
push eax
push str._s_s
push ebx
call dword [sym.imp.USER32.dll_wsprintfW]
push ebx
push str.Resulting_name:__s
call fcn.00421530
mov ecx, dword [ebp - 0x20]
add esp, 0x20
cmp ecx, 7
jbe 0x40cf2a
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40cf20
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d358
push ecx
push edx
call fcn.0043515f
add esp, 8
mov ecx, dword [ebp - 0x50]
xor eax, eax
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 7
mov word [ebp - 0x34], ax
cmp ecx, 7
jbe 0x40cf78
mov edx, dword [ebp - 0x64]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40cf6e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d358
push ecx
push edx
call fcn.0043515f
add esp, 8
mov ecx, dword [ebp - 0x38]
xor eax, eax
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 7
mov word [ebp - 0x64], ax
cmp ecx, 7
jbe 0x40cfc6
mov edx, dword [ebp - 0x4c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40cfbc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d358
push ecx
push edx
call fcn.0043515f
add esp, 8
mov ecx, dword [ebp - 8]
xor eax, eax
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 7
mov word [ebp - 0x4c], ax
cmp ecx, 7
jbe 0x40d014
mov edx, dword [ebp - 0x1c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40d00a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d358
push ecx
push edx
call fcn.0043515f
add esp, 8
mov esi, dword [ebp - 0x174]
xor eax, eax
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 7
mov word [ebp - 0x1c], ax
jmp 0x40d038
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov dword [ebp - 0x16c], 0x62eb20
mov ecx, 3
mov eax, dword [ebp - 0x16c]
cdq
idiv ecx
mov eax, dword [ebp - 0x16c]
test edx, edx
je 0x40d0a8
add eax, 2
add eax, ebx
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0x16c]
and eax, reloc.WS2_32.dll_closesocket
jns 0x40d079
dec eax
or eax, 0xfffffffc
add eax, 1
jne 0x40d17e
nop
mov eax, dword [ebp - 0x16c]
inc eax
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0x16c]
and eax, reloc.WS2_32.dll_closesocket
jns 0x40d0a1
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x40d080
jmp 0x40d17e
mov eax, dword [ebp - 0x16c]
and eax, reloc.WS2_32.dll_closesocket
jns 0x40d0bc
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x40d10f
mov ecx, dword [ebp - 0x16c]
lea eax, [ebx + 3]
add ecx, 2
imul ecx, eax
mov dword [ebp - 0x16c], ecx
mov eax, dword [ebp - 0x16c]
test al, 1
jne 0x40d17e
mov ecx, 5
mov eax, dword [ebp - 0x16c]
cdq
idiv ecx
mov eax, dword [ebp - 0x16c]
test edx, edx
je 0x40d0fc
dec eax
jmp 0x40d0fd
inc eax
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0x16c]
test al, 1
je 0x40d0e6
jmp 0x40d17e
mov eax, dword [ebp - 0x16c]
mov ecx, 5
cdq
idiv ecx
test edx, edx
je 0x40d17e
mov eax, dword [ebp - 0x16c]
lea ecx, [ebx + 0x17]
add eax, 0xb
cdq
idiv ecx
mov ecx, 3
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0x16c]
cdq
idiv ecx
test edx, edx
jne 0x40d17e
nop dword [eax + eax]
mov eax, dword [ebp - 0x16c]
cdq
idiv dword [ebp - 0x170]
mov eax, dword [ebp - 0x16c]
test edx, edx
je 0x40d16a
inc eax
jmp 0x40d16b
dec eax
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0x16c]
cdq
idiv ecx
test edx, edx
je 0x40d150
push 0x463b50
lea ecx, [ebp - 0x34]
call fcn.00417f90
cmp dword [ebp - 0x20], 7
lea eax, [ebp - 0x34]
cmova eax, dword [ebp - 0x34]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcatW]
mov ecx, dword [ebp - 0x20]
cmp ecx, 7
jbe 0x40d1d8
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40d1ce
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d35d
push ecx
push edx
call fcn.0043515f
add esp, 8
xor eax, eax
mov dword [ebp - 0x24], 0
mov word [ebp - 0x34], ax
mov ecx, 3
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x16c], 0x62eb20
mov eax, dword [ebp - 0x16c]
cdq
idiv ecx
mov eax, dword [ebp - 0x16c]
test edx, edx
je 0x40d25b
add eax, 2
add eax, esi
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0x16c]
and eax, reloc.WS2_32.dll_closesocket
jns 0x40d22d
dec eax
or eax, 0xfffffffc
add eax, 1
jne 0x40d32c
mov eax, dword [ebp - 0x16c]
inc eax
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0x16c]
and eax, reloc.WS2_32.dll_closesocket
jns 0x40d254
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x40d233
jmp 0x40d32c
mov eax, dword [ebp - 0x16c]
and eax, reloc.WS2_32.dll_closesocket
jns 0x40d26f
dec eax
or eax, 0xfffffffc
add eax, 1
je 0x40d2c9
mov ecx, dword [ebp - 0x16c]
lea eax, [esi + 3]
add ecx, 2
imul ecx, eax
mov dword [ebp - 0x16c], ecx
mov eax, dword [ebp - 0x16c]
test al, 1
jne 0x40d32c
mov ecx, 5
nop dword [eax]
mov eax, dword [ebp - 0x16c]
cdq
idiv ecx
mov eax, dword [ebp - 0x16c]
test edx, edx
je 0x40d2b6
dec eax
jmp 0x40d2b7
inc eax
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0x16c]
test al, 1
je 0x40d2a0
jmp 0x40d32c
mov eax, dword [ebp - 0x16c]
mov edi, 5
cdq
idiv edi
test edx, edx
je 0x40d32c
mov eax, dword [ebp - 0x16c]
lea ecx, [esi + 0x17]
add eax, 0xb
cdq
idiv ecx
mov ecx, 3
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0x16c]
cdq
idiv ecx
test edx, edx
jne 0x40d32c
mov eax, dword [ebp - 0x16c]
cdq
idiv edi
mov eax, dword [ebp - 0x16c]
test edx, edx
je 0x40d318
inc eax
jmp 0x40d319
dec eax
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0x16c]
cdq
idiv ecx
test edx, edx
je 0x40d302
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_MoveFileW]
push ebx
call fcn.00439e6b
mov ecx, dword [ebp - 4]
add esp, 4
xor ecx, ebp
mov eax, 1
pop edi
pop esi
pop ebx
call fcn.00434f21
mov esp, ebp
pop ebp
ret
call fcn.00415650
call fcn.00439e1a
call fcn.00439e1a
int3