Function at 0x425310
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x499f6b
mov eax, dword fs:[0]
push eax
sub esp, 0x2b0
mov eax, dword [0x51a900]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0x104
lea eax, [ebp - 0x26c]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
xorps xmm0, xmm0
mov dword [ebp - 0x2a4], 0
lea ecx, [ebp - 0x26c]
mov dword [ebp - 0x2a0], 0
movups xmmword [ebp - 0x2b4], xmm0
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x425380
sub ecx, edx
lea eax, [ebp - 0x26c]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x2b4]
call fcn.0041a060
mov dword [ebp - 4], 0
lea edx, [ebp - 0x2b4]
cmp dword [ebp - 0x2a0], 7
lea edi, [ebp - 0x2b4]
mov eax, dword [ebp - 0x2a4]
xorps xmm0, xmm0
cmova edx, dword [ebp - 0x2b4]
cmova edi, dword [ebp - 0x2b4]
movups xmmword [ebp - 0x284], xmm0
lea eax, [edx + eax*2]
mov dword [ebp - 0x2b8], eax
cmp edi, eax
jne 0x425406
xor esi, esi
mov byte [ebp - 0x284], 0
mov edi, 0xf
mov dword [ebp - 0x274], esi
mov dword [ebp - 0x270], edi
jmp 0x4254d9
sub eax, edi
xor edx, edx
sar eax, 1
mov esi, 0xf
mov dword [ebp - 0x274], edx
mov dword [ebp - 0x270], esi
cmp eax, 0x7fffffff
ja 0x425793
cmp eax, esi
jbe 0x425480
or eax, esi
cmp eax, 0x7fffffff
jbe 0x42543c
mov eax, 0x7fffffff
jmp 0x425446
mov ecx, 0x16
cmp eax, ecx
cmovb eax, ecx
mov dword [ebp - 0x2bc], eax
lea eax, [ebp - 0x2bc]
push eax
lea eax, [ebp - 0x284]
push eax
call fcn.00401a60
mov esi, dword [ebp - 0x2bc]
add esp, 8
mov edx, dword [ebp - 0x274]
mov dword [ebp - 0x284], eax
mov dword [ebp - 0x270], esi
nop word [eax + eax]
mov al, byte [edi]
lea ecx, [ebp - 0x284]
cmp esi, 0xf
cmova ecx, dword [ebp - 0x284]
add edi, 2
mov byte [edx + ecx], al
mov edx, dword [ebp - 0x274]
inc edx
mov dword [ebp - 0x274], edx
cmp edi, dword [ebp - 0x2b8]
je 0x4254b5
mov esi, dword [ebp - 0x270]
jmp 0x425480
cmp dword [ebp - 0x270], 0xf
lea eax, [ebp - 0x284]
cmova eax, dword [ebp - 0x284]
mov byte [edx + eax], 0
mov edi, dword [ebp - 0x270]
mov esi, dword [ebp - 0x274]
cmp edi, 0xf
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x284]
mov edx, esi
cmova ecx, dword [ebp - 0x284]
push 1
sub esp, 8
call fcn.00425880
add esp, 0xc
mov dword [ebp - 0x28c], 0
xorps xmm0, xmm0
mov dword [ebp - 0x288], 0
movups xmmword [ebp - 0x29c], xmm0
lea ecx, [eax + 1]
cmp esi, ecx
jb 0x425798
mov eax, esi
sub eax, ecx
cmp eax, esi
cmovb esi, eax
cmp edi, 0xf
lea eax, [ebp - 0x284]
cmova eax, dword [ebp - 0x284]
add eax, ecx
lea ecx, [ebp - 0x29c]
push esi
push eax
call fcn.00422e40
cmp dword [ebp - 0x288], 0xf
lea edx, [ebp - 0x29c]
mov edi, dword [ebp - 0x29c]
mov esi, dword [ebp - 0x28c]
cmova edx, edi
cmp esi, 0xa
jne 0x425696
mov ecx, str.Dinity.exe
sub esi, 4
jb 0x425591
nop dword [eax]
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x425596
add edx, 4
add ecx, 4
sub esi, 4
jae 0x425580
cmp esi, 0xfffffffc
je 0x4255ca
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x4255c3
cmp esi, 0xfffffffd
je 0x4255ca
mov al, byte [edx + 1]
cmp al, byte [ecx + 1]
jne 0x4255c3
cmp esi, 0xfffffffe
je 0x4255ca
mov al, byte [edx + 2]
cmp al, byte [ecx + 2]
jne 0x4255c3
cmp esi, 0xffffffff
je 0x4255ca
mov al, byte [edx + 3]
cmp al, byte [ecx + 3]
je 0x4255ca
sbb eax, eax
or eax, 1
jmp 0x4255cc
xor eax, eax
test eax, eax
jne 0x425696
push eax
call fcn.0047ef35
push eax
call fcn.0047ef23
mov ecx, 0xf
mov dword [ebp - 0x2b8], 0x523700
mov esi, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
lea edi, [ebp - 0x64]
rep movsd dword es:[edi], dword [esi]
add esp, 8
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
xor esi, esi
lea edi, [esi + 0x3f]
nop dword [eax]
nop dword [eax + eax]
push 4
lea ecx, [ebp - 0x2b8]
call fcn.00425d00
add eax, 3
cmp esi, eax
jae 0x425637
call fcn.0047ef02
cdq
idiv edi
mov al, byte [ebp + edx - 0x64]
mov byte [ebp + esi - 0x24], al
inc esi
jmp 0x425610
push 4
lea ecx, [ebp - 0x2b8]
mov dword [ebp - 0x2b8], 0x523700
call fcn.00425d00
add eax, 3
cmp eax, 0x14
jae 0x4257a2
push str..exe
mov byte [ebp + eax - 0x24], 0
lea eax, [ebp - 0x24]
push 0x14
push eax
call fcn.0047f1d1
cmp dword [ebp - 0x288], 0xf
lea ecx, [ebp - 0x24]
lea eax, [ebp - 0x29c]
cmova eax, dword [ebp - 0x29c]
push ecx
push eax
call fcn.0047f123
mov edi, dword [ebp - 0x29c]
add esp, 0x14
mov edx, dword [ebp - 0x288]
cmp edx, 0xf
jbe 0x4256cc
lea ecx, [edx + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x4256c2
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42579d
push ecx
push edi
call fcn.00471a37
add esp, 8
mov ecx, dword [ebp - 0x270]
mov dword [ebp - 0x28c], 0
mov dword [ebp - 0x288], 0xf
mov byte [ebp - 0x29c], 0
cmp ecx, 0xf
jbe 0x425721
mov edx, dword [ebp - 0x284]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x425717
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42579d
push ecx
push edx
call fcn.00471a37
add esp, 8
mov ecx, dword [ebp - 0x2a0]
mov dword [ebp - 0x274], 0
mov dword [ebp - 0x270], 0xf
mov byte [ebp - 0x284], 0
cmp ecx, 7
jbe 0x425778
mov edx, dword [ebp - 0x2b4]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x42576e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42579d
push ecx
push edx
call fcn.00471a37
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00471a29
mov esp, ebp
pop ebp
ret
call fcn.00401920
call fcn.0041ed50
call fcn.0047694f
call fcn.0047209e
int3