Function at 0x4b74d0
Capabilities:
Delete file
Move file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x52c
mov eax, dword [0x4ff074]
xor eax, esp
mov dword [esp + 0x528], eax
cmp byte [0x7e803b], 0
mov ch, byte [0x7e803c]
push ebx
push esi
push edi
mov bh, cl
je 0x4b7506
test ch, ch
je 0x4b7b82
cmp byte [0x7e803a], 0
mov cl, 1
mov dl, byte [0x7e80cd]
sete bl
mov byte [esp + 0xf], 1
cmp dl, cl
jbe 0x4b7536
movzx eax, cl
imul eax, eax, 0x74
cmp byte [eax + 0x56a2ec], 0
je 0x4b7545
inc cl
cmp cl, dl
jb 0x4b7521
test bh, bh
jne 0x4b754a
mov byte [0x7e803c], bh
jmp 0x4b761d
mov byte [esp + 0xf], 0
test ch, ch
je 0x4b761d
mov esi, dword [0x7e8048]
test bl, bl
je 0x4b75cd
movzx eax, word [0xa92808]
lea ecx, [eax + eax*4]
movzx eax, word [0xa90f78]
add ecx, eax
cmp esi, ecx
jbe 0x4b75cd
cmp byte [0x7e802e], 2
je 0x4b7b82
mov ecx, 0x522240
mov word [0x7e803b], 1
call fcn.0044a660
cmp byte [0x7e811a], 1
jne 0x4b7b82
mov cl, 1
mov byte [0x56494b], 2
mov dword [0x7d05a8], 0x40200000
call fcn.0040fc20
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x528]
xor ecx, esp
call fcn.004d66b5
mov esp, ebp
pop ebp
ret
test bh, bh
jne 0x4b7623
test bl, bl
jne 0x4b75ed
movzx ecx, word [0xa90f7c]
xor edx, edx
mov eax, esi
div ecx
movzx ecx, word [0xa88c24]
cmp eax, ecx
jae 0x4b75f4
inc esi
mov dword [0x7e8048], esi
movzx ecx, word [0xa90f74]
xor edx, edx
mov eax, esi
div ecx
test edx, edx
jne 0x4b7623
cmp byte [0xa88b9a], dl
jne 0x4b7623
test bl, bl
je 0x4b7623
xor dl, dl
mov ecx, 0x1b
call fcn.004bd4f0
mov esi, dword [0x7e8048]
movzx ecx, word [0xa90f74]
mov eax, esi
xor edx, edx
div ecx
mov si, ax
mov word [0x7e7f0c], si
test bl, bl
je 0x4b7b82
cmp byte [esp + 0xf], 0
je 0x4b7b82
cmp bh, 1
jne 0x4b7b82
xor eax, eax
mov byte [0x7e803b], 1
or ebx, 0xffffffff
mov dword [esp + 0x10], eax
mov byte [esp + 0xf], al
or eax, ebx
cmp byte [0x7ea961], 0
mov word [0x7e7f54], ax
mov eax, 0x96
mov dword [esp + 0x14], ebx
je 0x4b76a7
cmp byte [0x7e811b], 1
jne 0x4b76a7
cmp si, 0x78
ja 0x4b7697
mov cl, 3
jmp 0x4b76a2
cmp si, ax
ja 0x4b76a0
mov cl, 1
jmp 0x4b76a2
xor cl, cl
call fcn.004485c0
xor edx, edx
movzx eax, si
mov ecx, 0x3c
div ecx
push edx
push eax
push 0xb0abf8
push 0x18
push 0x50b1e0
call fcn.0042cda0
add esp, 0x14
mov dword [0x50b280], 0x7ea7b0
mov ecx, 0x522160
call fcn.0044a660
cmp byte [0x7ea968], 0
je 0x4b76f2
xor dl, dl
mov ecx, 0x20
call fcn.004bd4f0
cmp byte [0x7e811a], 1
mov word [0xa88e7c], 0x11
jne 0x4b771c
mov cl, 1
mov byte [0x56494b], 2
mov dword [0x7d05a8], 0x40200000
call fcn.0040fc20
mov di, word [0x7e7f0c]
mov edx, 0xffff
cmp di, 0x78
ja 0x4b7745
mov ax, word [0x7e814e]
cmp ax, dx
jae 0x4b7745
inc ax
mov cl, 1
mov word [0x7e814e], ax
jmp 0x4b7749
mov cl, byte [esp + 0xf]
mov eax, 0x96
cmp di, ax
ja 0x4b7768
mov ax, word [0x7e814c]
cmp ax, dx
jae 0x4b7768
inc ax
mov cl, 1
mov word [0x7e814c], ax
mov eax, 0xb4
cmp di, ax
ja 0x4b7787
mov ax, word [0x7e814a]
cmp ax, dx
jae 0x4b7787
inc ax
mov word [0x7e814a], ax
jmp 0x4b778b
test cl, cl
je 0x4b7797
call fcn.00435f30
mov di, word [0x7e7f0c]
movzx eax, byte [0x7ea8f1]
add eax, 2
mov ecx, eax
shl ecx, 4
sub ecx, eax
movzx eax, di
shl ecx, 2
cmp eax, ecx
ja 0x4b7b00
xor cl, cl
nop dword [eax + eax]
movzx eax, cl
lea eax, [eax + eax*4]
cmp byte [eax*8 + 0x7eafe6], 0
je 0x4b77da
add cl, 1
cmp cl, 0xfa
jb 0x4b77c0
jmp 0x4b77e7
movzx ebx, cl
mov dword [esp + 0x14], ebx
cmp bx, 0xffff
jne 0x4b7821
xor cl, cl
mov esi, 0x7eafe0
nop
movzx edx, word [esi]
cmp di, dx
jae 0x4b7808
cmp dx, word [esp + 0x10]
jbe 0x4b7808
mov eax, edx
movzx ebx, cl
mov dword [esp + 0x10], eax
add cl, 1
add esi, 0x28
cmp cl, 0xfa
jb 0x4b77f0
mov dword [esp + 0x14], ebx
cmp bx, 0xffff
je 0x4b7b00
movsx eax, bx
mov dword [esp + 0x10], eax
lea eax, [eax + eax*4]
shl eax, 3
cmp byte [0x7e8066], 0
mov dword [esp + 0x1c], eax
mov byte [eax + 0x7eafe6], 1
mov word [eax + 0x7eafe0], di
jne 0x4b7859
test byte [0xa9292c], 6
jne 0x4b7859
mov ecx, 1
jmp 0x4b785b
xor ecx, ecx
push 0x7ea7b0
lea esi, [eax + 0x7eafc0]
mov byte [eax + 0x7eafe7], cl
push 0x10
push esi
mov dword [esp + 0x24], esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
add esp, 0xc
lea eax, [esp + 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
mov ax, word [esp + 0x20]
mov word [esi + 0x22], ax
mov al, byte [esp + 0x22]
mov byte [esi + 0x24], al
mov al, byte [esp + 0x26]
mov byte [esi + 0x25], al
call fcn.00434300
mov edi, dword [esp + 0x10]
xor esi, esi
nop dword [eax]
movzx eax, si
lea edx, [esp + 0x130]
push eax
push edi
push str.games_speedpool
push ecx
mov cl, 1
call fcn.00435cb0
lea eax, [esp + 0x140]
push eax
push 0xa92828
push str._s_s.dat
lea eax, [esp + 0x4c]
push 0x80
push eax
call fcn.0042cda0
add esp, 0x24
lea eax, [esp + 0x30]
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
cmp eax, 0xffffffff
je 0x4b794b
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [esp + 0x130]
push eax
push 0xa92828
push str._s_s.dat
lea eax, [esp + 0x3c]
push 0x80
push eax
call fcn.0042cda0
add esp, 0x14
lea eax, [esp + 0x30]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
inc esi
jmp 0x4b78b0
xor edi, edi
cmp byte [0x7e803e], 0
jbe 0x4b7a11
mov ebx, dword [esp + 0x10]
nop
movzx esi, di
lea eax, [esi + 1]
push eax
push str.games_speedpool
push str._s_temp_d
lea eax, [esp + 0x3c]
push 0x80
push eax
call fcn.0042cda0
add esp, 0x14
lea edx, [esp + 0x130]
push esi
push ebx
push str.games_speedpool
push ecx
mov cl, 1
call fcn.00435cb0
lea eax, [esp + 0x40]
push eax
push 0xa92828
push str._s_s.dat
lea eax, [esp + 0x34c]
push 0x80
push eax
call fcn.0042cda0
add esp, 0x24
lea eax, [esp + 0x130]
push eax
push 0xa92828
push str._s_s.dat
lea eax, [esp + 0x23c]
push 0x80
push eax
call fcn.0042cda0
add esp, 0x14
lea eax, [esp + 0x230]
push 9
push eax
lea eax, [esp + 0x338]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
movzx eax, byte [0x7e803e]
inc edi
cmp di, ax
jb 0x4b7960
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
cmp byte [eax + 0x7eafe7], 1
jne 0x4b7af7
lea ecx, [eax + 0x7eafc0]
mov esi, dword [0x7e7ec8]
movzx eax, byte [ecx + 0x25]
mov dword [esp + 0x10], eax
movzx eax, word [0xa9280c]
push eax
movzx eax, word [0xa92810]
push eax
movzx eax, byte [0x7ea6fc]
push eax
movzx eax, byte [0x7ea753]
push eax
movzx eax, byte [0x7ea918]
movzx ebx, byte [ecx + 0x24]
movzx edi, word [ecx + 0x22]
push eax
movzx eax, byte [0x7ea970]
push eax
mov eax, 0xb30f6353
mul esi
imul eax, ebx, 0x703
shr edx, 7
imul ecx, edx, 0xb7
add ecx, eax
imul eax, edi, 0x32c
sub ecx, eax
mov eax, dword [esp + 0x30]
movzx edx, word [eax + 0x20]
imul eax, edx, 0x25
add ecx, eax
imul eax, dword [esp + 0x28], 0xbf28
sub ecx, eax
lea eax, [esi + esi*4]
lea eax, [eax*2 + 0x23008439]
add eax, ecx
push eax
push esi
push edi
push ebx
push dword [esp + 0x38]
mov ebx, dword [esp + 0x44]
lea eax, [esp + 0x35c]
push edx
push ebx
push 0xb22b00
push 0x100
push eax
call fcn.0042cda0
push ebx
mov dl, 5
lea ecx, [esp + 0x374]
call fcn.004497a0
mov ebx, dword [esp + 0x58]
add esp, 0x44
test al, al
je 0x4b7af7
or byte [0x7c9bb6], 1
mov word [0x7e7f54], bx
jmp 0x4b7b07
mov bx, word [0x7e7f54]
push 0xfa
xor dl, dl
mov ecx, 0x7eafc0
call fcn.004b9550
xor dl, dl
add esp, 4
mov byte [0x7d057a], dl
cmp bx, 0xffff
je 0x4b7b69
mov ch, byte [0x7d0567]
xor cl, cl
test ch, ch
je 0x4b7b69
movsx esi, bx
nop dword [eax + eax]
movzx eax, cl
movzx eax, byte [eax + 0x7ea9d0]
cmp eax, esi
je 0x4b7b56
inc cl
cmp cl, ch
jb 0x4b7b40
jmp 0x4b7b69
movzx ecx, cl
mov eax, 0xcccccccd
mul ecx
shr edx, 3
mov byte [0x7d057a], dl
movzx eax, byte [0x7c9bfe]
mov ecx, 0x501fc0
dec eax
movzx edx, dl
push eax
call fcn.0045af20
add esp, 4
mov ecx, dword [esp + 0x534]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004d66b5
mov esp, ebp
pop ebp
ret