Function at 0x425350
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x499fcb
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 0x4253c0
sub ecx, edx
lea eax, [ebp - 0x26c]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x2b4]
call fcn.0041a090
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 0x425446
xor esi, esi
mov byte [ebp - 0x284], 0
mov edi, 0xf
mov dword [ebp - 0x274], esi
mov dword [ebp - 0x270], edi
jmp 0x425519
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 0x4257d3
cmp eax, esi
jbe 0x4254c0
or eax, esi
cmp eax, 0x7fffffff
jbe 0x42547c
mov eax, 0x7fffffff
jmp 0x425486
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.00401a70
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 0x4254f5
mov esi, dword [ebp - 0x270]
jmp 0x4254c0
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.004258c0
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 0x4257d8
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.00422e80
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 0x4256d6
mov ecx, str.Dinity.exe
sub esi, 4
jb 0x4255d1
nop dword [eax]
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x4255d6
add edx, 4
add ecx, 4
sub esi, 4
jae 0x4255c0
cmp esi, 0xfffffffc
je 0x42560a
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x425603
cmp esi, 0xfffffffd
je 0x42560a
mov al, byte [edx + 1]
cmp al, byte [ecx + 1]
jne 0x425603
cmp esi, 0xfffffffe
je 0x42560a
mov al, byte [edx + 2]
cmp al, byte [ecx + 2]
jne 0x425603
cmp esi, 0xffffffff
je 0x42560a
mov al, byte [edx + 3]
cmp al, byte [ecx + 3]
je 0x42560a
sbb eax, eax
or eax, 1
jmp 0x42560c
xor eax, eax
test eax, eax
jne 0x4256d6
push eax
call fcn.0047ef85
push eax
call fcn.0047ef73
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.00425d40
add eax, 3
cmp esi, eax
jae 0x425677
call fcn.0047ef52
cdq
idiv edi
mov al, byte [ebp + edx - 0x64]
mov byte [ebp + esi - 0x24], al
inc esi
jmp 0x425650
push 4
lea ecx, [ebp - 0x2b8]
mov dword [ebp - 0x2b8], 0x523700
call fcn.00425d40
add eax, 3
cmp eax, 0x14
jae 0x4257e2
push str..exe
mov byte [ebp + eax - 0x24], 0
lea eax, [ebp - 0x24]
push 0x14
push eax
call fcn.0047f221
cmp dword [ebp - 0x288], 0xf
lea ecx, [ebp - 0x24]
lea eax, [ebp - 0x29c]
cmova eax, dword [ebp - 0x29c]
push ecx
push eax
call fcn.0047f173
mov edi, dword [ebp - 0x29c]
add esp, 0x14
mov edx, dword [ebp - 0x288]
cmp edx, 0xf
jbe 0x42570c
lea ecx, [edx + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x425702
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4257dd
push ecx
push edi
call fcn.00471a87
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 0x425761
mov edx, dword [ebp - 0x284]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x425757
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4257dd
push ecx
push edx
call fcn.00471a87
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 0x4257b8
mov edx, dword [ebp - 0x2b4]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4257ae
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4257dd
push ecx
push edx
call fcn.00471a87
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.00471a79
mov esp, ebp
pop ebp
ret
call fcn.00401930
call fcn.0041ed80
call fcn.0047699f
call fcn.004720ee
int3