Function at 0x4a2f70
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x23c
mov eax, dword [0x4ff074]
xor eax, ebp
mov dword [ebp - 4], eax
movzx eax, byte [0xa88e4b]
mov edx, 0xa88bc0
imul ecx, eax, 0xb
movzx eax, byte [0xa88e4a]
push ebx
mov bh, byte [0xa88c2b]
mov bl, byte [0x7e80cd]
add ecx, eax
mov byte [ebp - 0x209], 0
movzx eax, bh
push esi
push edi
lea ecx, [ecx + ecx*2]
mov ah, byte [eax + ecx*4 + str._b_b_b_b_b_b_b_b_b_b_b_b]
mov byte [ebp - 0x20a], ah
test bl, bl
je 0x4a2fe0
movzx ecx, bl
nop dword [eax + eax]
mov al, byte [edx]
test al, al
je 0x4a2fda
dec al
mov byte [edx], al
inc edx
sub ecx, 1
jne 0x4a2fd0
inc bh
cmp bh, 0xc
sbb al, al
and al, bh
mov byte [0xa88c2b], al
test ah, ah
je 0x4a3239
movzx edi, ah
mov dword [ebp - 0x23c], edi
nop
test bl, bl
je 0x4a31ee
xor ecx, ecx
movzx eax, bl
mov esi, 0x56a33d
mov dword [ebp - 0x214], 0xa88be0
mov ebx, dword [ebp - 0x214]
xor edi, edi
mov dword [ebp - 0x21c], ecx
mov dword [ebp - 0x238], esi
mov dword [ebp - 0x234], edi
mov dword [ebp - 0x224], eax
mov dword [ebp - 0x210], eax
cmp byte [esi - 0x51], 0
jne 0x4a319b
cmp byte [esi - 5], 0
je 0x4a319b
mov al, byte [esi]
mov byte [ebp - 0x209], 1
test al, al
je 0x4a311a
xor ebx, ebx
xor ecx, ecx
test al, al
je 0x4a310e
movzx ecx, byte [0xa88352]
mov esi, ebx
movzx edx, byte [0xa88333]
mov dword [ebp - 0x220], ecx
mov ecx, dword [ebp - 0x214]
movzx eax, al
mov dword [ebp - 0x230], edx
mov dword [ebp - 0x228], ecx
mov dword [ebp - 0x22c], eax
movzx eax, byte [ecx]
lea edi, [edi + 4]
imul eax, eax, 0x74
movzx ecx, byte [eax + 0x56a33d]
mov eax, dword [edi + 0xa88d3c]
add ecx, dword [ebp - 0x220]
imul eax, edx
cdq
idiv ecx
add ebx, eax
mov eax, dword [edi + 0xa88c2c]
imul eax, dword [ebp - 0x230]
cdq
idiv ecx
mov ecx, dword [ebp - 0x228]
mov edx, dword [ebp - 0x230]
inc ecx
add esi, eax
mov dword [ebp - 0x228], ecx
sub dword [ebp - 0x22c], 1
jne 0x4a30a4
mov edi, dword [ebp - 0x234]
mov dword [ebp - 0x218], esi
mov esi, dword [ebp - 0x238]
mov ecx, dword [ebp - 0x218]
add dword [esi - 0x41], ebx
add dword [esi - 0x3d], ecx
mov ecx, dword [ebp - 0x21c]
cmp byte [0x7e8107], 0
je 0x4a312e
movsx eax, byte [0x7e8108]
cmp eax, ecx
je 0x4a313c
lea ecx, [esi - 0x5d]
call fcn.004a2620
mov ecx, dword [ebp - 0x21c]
cmp dword [esi - 0x29], 0x1000
jge 0x4a3188
cmp dword [esi - 0x25], 0x1000
jge 0x4a3188
mov eax, dword [esi - 0x2d]
cmp eax, 0xffff0000
jle 0x4a3188
cmp eax, 0x10000
jge 0x4a3188
mov dword [esi - 0x35], 0
mov dword [esi - 0x31], 0
mov dword [esi - 0x2d], 0
mov dword [esi - 0x41], 0
mov dword [esi - 0x3d], 0
mov byte [esi - 5], 0
jmp 0x4a318f
mov byte [ebp - 0x209], 1
mov eax, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x214]
inc ecx
add ebx, 3
add edi, 0xc
mov dword [ebp - 0x21c], ecx
add esi, 0x74
mov dword [ebp - 0x214], ebx
sub eax, 1
mov dword [ebp - 0x234], edi
mov dword [ebp - 0x238], esi
mov dword [ebp - 0x210], eax
jne 0x4a3042
mov ecx, dword [ebp - 0x224]
mov eax, 0x56a33d
cmp byte [eax - 0x51], 0
jne 0x4a31e0
mov byte [eax], 0
add eax, 0x74
sub ecx, 1
jne 0x4a31d7
mov edi, dword [ebp - 0x23c]
mov al, byte [0x7e80cd]
xor bl, bl
mov esi, 0x56a2e0
test al, al
je 0x4a3224
nop
cmp byte [esi + 0xc], 0
jne 0x4a321b
mov ecx, esi
call fcn.004a34f0
mov dl, 1
mov ecx, esi
call fcn.004a3ca0
mov al, byte [0x7e80cd]
inc bl
add esi, 0x74
cmp bl, al
jb 0x4a3200
mov bl, byte [0x7e80cd]
sub edi, 1
mov dword [ebp - 0x23c], edi
jne 0x4a3000
call fcn.004a2780
movzx ebx, byte [ebp - 0x209]
test al, al
mov ecx, 1
cmovne ebx, ecx
cmp byte [0x7e8120], 0
mov dword [ebp - 0x210], ebx
jne 0x4a33b5
mov bl, byte [0x7e802b]
test bl, bl
jne 0x4a327f
movzx eax, byte [0x7e802c]
cmp byte [eax + 0x7ea6fa], cl
jne 0x4a33af
mov ecx, dword [0x7e80a8]
mov eax, 0xc56106eb
movzx esi, word [0xa90f74]
xor bh, bh
movzx edi, byte [0xa88bda]
imul ecx
mov dword [ebp - 0x224], edi
add edx, ecx
mov cl, byte [0x7e80cd]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, esi
cdq
idiv edi
mov dword [ebp - 0x220], eax
test cl, cl
je 0x4a33af
mov edi, 0x56a2ec
nop dword [eax]
cmp byte [edi - 1], 0
je 0x4a339e
cmp byte [edi], 0
jne 0x4a339e
cmp byte [edi + 0x4c], 0
je 0x4a339e
mov eax, dword [edi + 0x24]
imul eax, dword [ebp - 0x224]
movzx ecx, word [edi + 0x32]
push ecx
push 0
lea ecx, [edi - 0xc]
cdq
idiv esi
mov esi, eax
mov eax, dword [edi + 0x2c]
cdq
idiv dword [ebp - 0x220]
sar esi, 0xc
mov edx, eax
call fcn.004a4710
sub si, word [edi + 0x32]
add esp, 8
mov eax, dword [edi + 0x64]
dec si
movzx esi, si
mov ecx, 0x231
mov edx, esi
movss xmm4, dword [eax + 4]
test si, si
je 0x4a336c
movss xmm1, dword [edx*4 + 0x94ab20]
movaps xmm0, xmm4
movss xmm2, dword [edx*4 + 0x98ab20]
movaps xmm5, xmm1
mulss xmm5, dword [eax]
mulss xmm0, xmm2
mulss xmm2, dword [eax]
mulss xmm4, xmm1
subss xmm5, xmm0
addss xmm4, xmm2
jmp 0x4a3370
movss xmm5, dword [eax]
movss xmm0, dword [eax + 8]
movss dword [eax], xmm5
movss dword [eax + 4], xmm4
movss dword [eax + 8], xmm0
add eax, 0x30
sub ecx, 1
jne 0x4a3330
mov cl, byte [0x7e80cd]
mov bl, byte [0x7e802b]
movzx esi, word [0xa90f74]
test bl, bl
je 0x4a33af
inc bh
add edi, 0x74
cmp bh, cl
jb 0x4a32d0
mov ebx, dword [ebp - 0x210]
mov al, byte [0x7e806a]
cmp al, 1
jne 0x4a33f0
cmp byte [0x7e802f], 0
jne 0x4a33f0
movsx edx, byte [0xa89166]
mov esi, 2
mov ecx, edx
movzx eax, al
imul ecx, dword [0x56a2f0]
imul edx, dword [0xa92f54]
cmp ecx, edx
cmovg eax, esi
mov byte [0x7e806a], al
cmp byte [ebp - 0x20a], 0
je 0x4a34d5
cmp byte [0x9fd5ea], 0
je 0x4a34cf
test bl, bl
jne 0x4a34cf
cmp byte [0x7e803b], bl
jne 0x4a34cf
mov byte [0x7e802e], 3
cmp byte [0x7e803a], bl
jne 0x4a34ca
mov al, byte [0x7e8029]
test al, al
je 0x4a34ca
cmp al, 5
je 0x4a34ca
cmp al, 7
je 0x4a34ca
cmp byte [0x7c9a8b], bl
je 0x4a3491
push 0x7e8238
push 0xa92828
push str._s_s.dat
lea eax, [ebp - 0x208]
push 0x80
push eax
call fcn.0042cda0
add esp, 0x14
lea eax, [ebp - 0x208]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov al, byte [0x7e8029]
mov byte [0x7c9a8b], bl
cmp al, 3
lea eax, [ebp - 0x108]
jne 0x4a34a7
push str.gamesprogress_tour
push str._sgame0
jmp 0x4a34b1
push str.gamesprogressgeneral
push str._sgameA0
push 0x80
push eax
call fcn.0042cda0
add esp, 0x10
lea ecx, [ebp - 0x108]
call fcn.00434b20
call fcn.004375a0
mov byte [0x9fd5ea], bl
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004d66b5
mov esp, ebp
pop ebp
ret