Function at 0x57cc00
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push ebx
mov ebx, dword [ebp + 0x10]
cmp ebx, 0xffffffff
push esi
push edi
mov edi, dword [ebp + 8]
mov esi, ecx
jne 0x57c5a7
xor ebx, ebx
xor eax, eax
test edi, edi
jle 0x57c5a7
mov ecx, dword [0x67db18]
mov dl, byte [ecx + eax + 0x1e56e]
test dl, dl
jl 0x57c5a2
mov dl, byte [esi + 0x60]
test dl, dl
je 0x57c5a1
mov dl, byte [ecx + eax + 0x1e4d6]
test dl, dl
jne 0x57c5a2
inc ebx
inc eax
cmp eax, edi
jl 0x57c584
lea eax, [edi + 0x107]
push eax
mov ecx, esi
call fcn.005ec8f0
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x10]
mov edx, dword [0x67d8ac]
mov eax, dword [esi + 0xa4]
lea ebx, [ebx + ebx*4]
push 1
lea ebx, [ebx + ebx*4]
shl ebx, 1
lea ecx, [ebx + 0x80]
push ecx
mov ecx, dword [edx + 0x40]
mov edx, dword [eax + 0x28]
mov eax, dword [eax + 0x24]
push 0x39
push ecx
mov ecx, dword [esi + edi*4 + 0xa4]
push edx
push eax
push 0
push 0
mov dword [ebp - 0xc], ebx
call fcn.0044e140
lea ecx, [edi + 0xc7]
push ecx
mov ecx, esi
call fcn.005ec8f0
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x10]
lea eax, [edi + 0xcf]
push eax
mov ecx, esi
call fcn.005ec8f0
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x10]
xor eax, eax
lea ecx, [esi + 0x1090]
cmp dword [ecx], edi
je 0x57c63b
inc eax
add ecx, 0x78
cmp eax, 8
jl 0x57c62c
jmp 0x57c651
lea eax, [eax + eax*2]
lea ecx, [eax + eax*4]
lea eax, [esi + 0x1024]
lea eax, [eax + ecx*8]
test eax, eax
mov dword [ebp - 0x10], eax
jne 0x57c661
lea eax, [edi + edi*2]
lea edx, [eax + eax*4]
lea eax, [esi + edx*8 + 0x13e4]
mov dword [ebp - 0x10], eax
mov al, byte [esi + 0x60]
test al, al
je 0x57c8b1
mov ecx, dword [0x67db18]
mov edx, dword [ecx + edi*4 + 0x1e54e]
mov eax, dword [0x67d8ac]
mov eax, dword [eax + 0x40]
push 1
push 0
mov dword [ebp + 0x10], edx
mov edx, dword [eax + 0x2c]
push edx
mov edx, dword [eax + 0x28]
push edx
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x30]
push edx
lea ecx, [ebx + 0x82]
mov dword [ebp + 8], ecx
mov edx, dword [ebp + 8]
mov ecx, dword [esi + 0x74]
push edx
mov edx, dword [ecx + 0x34]
push 0xb0
push eax
mov eax, dword [ecx + 0x30]
push edx
mov edx, dword [ebp + 0x10]
push eax
push 0
push 0
lea eax, [edx + edx + 2]
push eax
push 0
call fcn.00476060
mov ecx, dword [0x67d8ac]
mov edx, dword [ecx + 0x40]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax*4 + 0x688df8]
push 0xffffffffffffffff
push 5
push 4
push 0x10
push 0x47
add ebx, 0xa2
push ebx
push 0xa4
push edx
push ecx
mov ecx, dword [0x67d064]
call fcn.004af780
push edi
mov ecx, esi
call fcn.0057c280
cmp eax, 0xffffffff
je 0x57c763
mov edx, dword [ebp + 8]
mov ecx, dword [esi + 0xc4]
push 0
push edx
mov edx, dword [0x67d8ac]
mov edx, dword [edx + 0x40]
push 0xfc
push edx
mov edx, dword [ecx + 0x28]
mov ecx, dword [ecx + 0x24]
push edx
push ecx
mov ecx, dword [esi + eax*4 + 0xc4]
push 0
push 0
call fcn.0044e140
push edi
mov ecx, esi
call fcn.0057c330
mov edx, dword [0x67d8ac]
mov ecx, dword [edx + 0x40]
push 0xffffffffffffffff
push 5
push 4
push 0x10
push 0x47
push ebx
push 0xf0
push ecx
push eax
jmp 0x57c7b7
mov edx, dword [ebp + 8]
mov eax, dword [0x67d8ac]
mov ecx, dword [esi + 0x354]
push 0
push edx
mov edx, dword [eax + 0x40]
mov eax, dword [ecx + 0x28]
push 0xfc
push edx
mov edx, dword [ecx + 0x24]
push eax
push edx
push 0
push 0
call fcn.0044e140
mov eax, dword [0x67d8ac]
mov ecx, dword [eax + 0x40]
mov edx, dword [0x68ba40]
mov eax, dword [edx + 0x20]
push 0xffffffffffffffff
push 5
push 4
push 0x10
push 0x47
push ebx
push 0xf0
push ecx
mov ecx, dword [eax + 0x830]
push ecx
mov ecx, dword [0x67d064]
call fcn.004af780
mov edx, dword [0x67db18]
movsx eax, byte [edx + edi + 0x1e702]
cmp eax, 3
mov dword [ebp - 0x10], eax
ja case.default.0x57c7d8
jmp dword [eax*4 + 0x57cb7c]
mov eax, dword [0x67d8ac]
mov eax, dword [eax + 0x40]
mov edx, dword [eax + 0x2c]
mov ecx, dword [esi + 0x78]
push 1
push 0
push edx
mov edx, dword [eax + 0x28]
push edx
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x30]
push edx
mov edx, dword [ebp + 8]
push edx
mov edx, dword [ecx + 0x34]
push 0x148
push eax
mov eax, dword [ecx + 0x30]
push edx
mov edx, dword [ebp + 0x10]
push eax
push 0
push 0
push edx
push 0
call fcn.00476060
cmp dword [ebp - 0x10], 3
push 0xffffffffffffffff
push 5
push 4
push 0x10
push 0x47
push ebx
push 0x13c
jne 0x57c88c
mov eax, dword [0x67d8ac]
mov ecx, dword [eax + 0x40]
mov edx, dword [0x68ba40]
mov eax, dword [edx + 0x20]
push ecx
mov ecx, dword [eax + 0x82c]
push ecx
mov ecx, dword [0x67d064]
call fcn.004af780
jmp 0x57cf05
mov edx, dword [0x67d8ac]
mov eax, dword [edx + 0x40]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx*4 + 0x688e1c]
mov ecx, dword [0x67d064]
push eax
push edx
call fcn.004af780
jmp 0x57cf05
xor eax, eax
lea ecx, [esi + 0x1090]
cmp dword [ecx], edi
je 0x57c8c8
inc eax
add ecx, 0x78
cmp eax, 8
jl 0x57c8b9
jmp 0x57c8db
lea eax, [eax + eax*2]
lea ecx, [eax + eax*4]
lea eax, [esi + 0x1024]
lea ebx, [eax + ecx*8]
test ebx, ebx
jne 0x57c8e8
lea eax, [edi + edi*2]
lea edx, [eax + eax*4]
lea ebx, [esi + edx*8 + 0x13e4]
mov ecx, dword [0x67db18]
mov eax, edi
shl eax, 4
add eax, edi
shl eax, 2
mov dword [ebp - 0x18], eax
lea eax, [eax + ecx + 0x1e7ac]
mov cl, byte [eax + 0xa]
test cl, cl
mov dword [ebp + 0x10], eax
je 0x57c914
mov edx, dword [ebx + 0x20]
mov dword [ebp - 4], edx
jmp 0x57c940
push edi
mov ecx, esi
call fcn.0057c020
test al, al
je 0x57c92d
mov ebx, dword [ebx + 0x20]
cmp ebx, 0xffffffff
je 0x57c92d
mov dword [ebp - 4], ebx
jmp 0x57c940
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov cx, word [eax + 8]
mov dl, 1
call fcn.00506290
mov dword [ebp - 4], eax
lea ecx, [edi + 0xd7]
push ecx
mov ecx, esi
call fcn.005ec8f0
lea edx, [edi + 0xdf]
push edx
mov ecx, esi
mov ebx, eax
call fcn.005ec8f0
push edi
mov ecx, esi
mov dword [ebp + 0x10], eax
call fcn.0057c060
test al, al
mov eax, dword [ebx]
je 0x57c9a8
push 1
mov ecx, ebx
call dword [eax + 0x24]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
push 1
call dword [edx + 0x24]
push 6
push 5
mov ecx, ebx
call fcn.005ec0d0
mov ecx, dword [ebp + 0x10]
push 6
push 5
call fcn.005ec0d0
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x10]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
call dword [edx + 0x10]
jmp 0x57c9d0
push 0
mov ecx, ebx
call dword [eax + 0x24]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
push 0
call dword [edx + 0x24]
push 6
push 6
mov ecx, ebx
call fcn.005ec0d0
mov ecx, dword [ebp + 0x10]
push 6
push 6
call fcn.005ec0d0
cmp dword [ebp - 4], 0xffffffff
jne 0x57ca3e
mov ebx, dword [ebp - 0xc]
mov eax, dword [esi + 0x34c]
push 0
lea ecx, [ebx + 0x82]
push ecx
mov ecx, dword [0x67d8ac]
mov edx, dword [ecx + 0x40]
mov ecx, dword [eax + 0x28]
push 0xb0
push edx
mov edx, dword [eax + 0x24]
push ecx
mov ecx, dword [esi + 0x348]
push edx
push 0
push 0
call fcn.0044e140
mov eax, dword [0x67d8ac]
mov ecx, dword [eax + 0x40]
mov edx, dword [0x68ba40]
mov eax, dword [edx + 0x20]
push 0xffffffffffffffff
push 5
push 4
push 0x10
push 0x47
add ebx, 0xa2
push ebx
push 0xa4
push ecx
mov ecx, dword [eax + 0x82c]
jmp 0x57cab5
mov edx, dword [0x67d8ac]
mov eax, dword [edx + 0x40]
mov ebx, dword [eax + 0x2c]
mov ecx, dword [ebp - 0xc]
push 1
push 0
push ebx
mov ebx, dword [eax + 0x28]
push ebx
mov ebx, dword [eax + 0x24]
push ebx
lea edx, [ecx + 0x82]
mov ecx, dword [esi + 0x74]
push edx
mov edx, dword [eax + 0x30]
mov eax, dword [ecx + 0x34]
push 0xb0
push edx
mov edx, dword [ecx + 0x30]
push eax
mov eax, dword [ebp - 4]
push edx
push 0
push 0
lea edx, [eax + eax + 2]
push edx
push 0
call fcn.00476060
mov eax, dword [ebp - 0xc]
mov ecx, dword [0x67d8ac]
mov edx, dword [ecx + 0x40]
push 0xffffffffffffffff
push 5
push 4
push 0x10
push 0x47
lea ebx, [eax + 0xa2]
mov eax, dword [ebp - 4]
mov ecx, dword [eax*4 + 0x688df8]
push ebx
push 0xa4
push edx
push ecx
mov ecx, dword [0x67d064]
call fcn.004af780
push edi
mov ecx, esi
call fcn.0057c280
lea edx, [edi + 0xe7]
push edx
mov ecx, esi
mov dword [ebp - 0x14], eax
call fcn.005ec8f0
mov dword [ebp - 8], eax
lea eax, [edi + 0xef]
push eax
mov ecx, esi
call fcn.005ec8f0
push edi
mov ecx, esi
mov dword [ebp + 0x10], eax
call fcn.0057c150
test al, al
mov ecx, dword [ebp - 8]
mov edx, dword [ecx]
mov byte [ebp + 0xb], al
je 0x57cb3b
push 1
call dword [edx + 0x24]
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx]
push 1
call dword [eax + 0x24]
mov ecx, dword [ebp - 8]
push 6
push 5
call fcn.005ec0d0
mov ecx, dword [ebp + 0x10]
push 6
push 5
call fcn.005ec0d0
mov ecx, dword [ebp - 8]
mov edx, dword [ecx]
call dword [edx + 0x10]
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx]
call dword [eax + 0x10]
jmp 0x57cb62
push 0
call dword [edx + 0x24]
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx]
push 0
call dword [eax + 0x24]
mov ecx, dword [ebp - 8]
push 6
push 6
call fcn.005ec0d0
mov ecx, dword [ebp + 0x10]
push 6
push 6
call fcn.005ec0d0
cmp dword [ebp - 0x14], 0xffffffff
mov byte [ebp + 0x13], 0
jne 0x57cc7b
mov ecx, dword [0x67db18]
mov edx, dword [ebp - 0x18]
cmp byte [edx + ecx + 0x1e7c4], 0
lea eax, [edx + ecx + 0x1e7ac]
jne 0x57cb9e
cmp byte [eax + 0xb], 0
jne 0x57cb9e
cmp dword [edx + ecx + 0x1e7c8], 0xffffffff
jne 0x57cb9e
mov byte [ebp + 0x13], 1
mov cl, byte [ebp + 0xb]
test cl, cl
jne 0x57cc1f
cmp dword [ebp - 4], 0xffffffff
jne 0x57cbb2
mov cl, byte [ebp + 0x13]
test cl, cl
je 0x57cc1f
mov cl, byte [eax + 0x18]
test cl, cl
jne 0x57cc1f
mov cl, byte [eax + 0xb]
test cl, cl
jne 0x57cc1f
mov edx, dword [ebp - 0xc]
mov ecx, dword [esi + 0x354]
push 0
lea eax, [edx + 0x82]
push eax
mov eax, dword [0x67d8ac]
mov edx, dword [eax + 0x40]
mov eax, dword [ecx + 0x28]
push 0xfc
push edx
mov edx, dword [ecx + 0x24]
push eax
push edx
push 0
push 0
call fcn.0044e140
mov eax, dword [0x67d8ac]
mov ecx, dword [eax + 0x40]
mov edx, dword [0x68ba40]
mov eax, dword [edx + 0x20]
push 0xffffffffffffffff
push 5
push 4
push 0x10
push 0x47
push ebx
push 0xf0
push ecx
mov ecx, dword [eax + 0x830]
push ecx
jmp 0x57cce0
mov edx, dword [ebp - 0xc]
mov ecx, dword [esi + 0x34c]
push 0
lea eax, [edx + 0x82]
push eax
mov eax, dword [0x67d8ac]
mov edx, dword [eax + 0x40]
mov eax, dword [ecx + 0x28]
push 0xfc
push edx
mov edx, dword [ecx + 0x24]
push eax
push edx
push 0
push 0
call fcn.0044e140
mov eax, dword [0x67d8ac]
mov ecx, dword [eax + 0x40]
mov edx, dword [0x68ba40]
mov eax, dword [edx + 0x20]
push 0xffffffffffffffff
push 5
push 4
push 0x10
push 0x47
push ebx
push 0xf0
push ecx
mov ecx, dword [eax + 0x82c]
push ecx
jmp 0x57cce0
push edi
mov ecx, esi
call fcn.0057c330
mov edx, dword [ebp - 0xc]
push 0
lea ecx, [edx + 0x82]
push ecx
mov ecx, dword [0x67d8ac]
mov edx, dword [ecx + 0x40]
push 0xfc
mov dword [ebp + 0x10], eax
mov eax, dword [esi + 0xc4]
mov ecx, dword [eax + 0x28]
push edx
mov edx, dword [eax + 0x24]
mov eax, dword [ebp - 0x14]
push ecx
mov ecx, dword [esi + eax*4 + 0xc4]
push edx
push 0
push 0
call fcn.0044e140
mov ecx, dword [0x67d8ac]
mov edx, dword [ecx + 0x40]
mov eax, dword [ebp + 0x10]
push 0xffffffffffffffff
push 5
push 4
push 0x10
push 0x47
push ebx
push 0xf0
push edx
push eax
mov ecx, dword [0x67d064]
call fcn.004af780
lea ecx, [edi + 0xf7]
push ecx
mov ecx, esi
call fcn.005ec8f0
lea edx, [edi + 0xff]
push edx
mov ecx, esi
mov dword [ebp - 8], eax
call fcn.005ec8f0
mov dword [ebp + 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x68]
cmp eax, 3
ja 0x57cd26
jmp dword [eax*4 + 0x57cb8c]
mov ecx, dword [0x67d8ac]
mov edx, dword [ecx + 0x40]
mov eax, dword [eax*4 + 0x688e1c]
push 0xffffffffffffffff
push 5
push 4
push 0x10
push 0x47
push ebx
push 0x13c
push edx
mov ecx, dword [0x67d064]
push eax
call fcn.004af780
mov ecx, dword [0x67d8ac]
mov eax, dword [ecx + 0x40]
mov edx, dword [eax + 0x2c]
mov ecx, dword [esi + 0x78]
push 1
push 0
push edx
mov edx, dword [eax + 0x28]
push edx
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x30]
push edx
mov edx, dword [ebp - 0xc]
add edx, 0x82
push edx
mov edx, dword [ecx + 0x34]
push 0x148
push eax
mov eax, dword [ecx + 0x30]
push edx
mov edx, dword [ebp + 8]
push eax
push 0
push 0
push edx
push 0
call fcn.00476060
cmp dword [ebp - 4], 0xffffffff
mov bl, 1
jne 0x57cda3
xor bl, bl
mov edx, dword [0x681b78]
xor eax, eax
lea ecx, [esi + 0x1024]
cmp dword [ecx], edx
je 0x57ce41
inc eax
add ecx, 0x78
cmp eax, 8
jl 0x57cdb1
or eax, 0xffffffff
jmp 0x57ce5a
cmp eax, 0xffffffff
jne 0x57ce4a
or eax, eax
jmp 0x57ce5a
lea eax, [eax + eax*2]
lea ecx, [eax + eax*4]
lea eax, [esi + 0x1024]
mov eax, dword [eax + ecx*8 + 0x6c]
cmp eax, edi
je 0x57cec9
mov eax, dword [0x67db7c]
test eax, eax
je 0x57ce79
mov ecx, dword [0x681d68]
mov edx, dword [ecx]
call dword [edx + 0x90]
test al, al
je 0x57ce91
mov eax, dword [ebp - 0x10]
cmp dword [eax], 0
jne 0x57ce91
push edi
mov ecx, esi
call fcn.0057c060
test al, al
jne 0x57cec9
test bl, bl
jne 0x57cec9
cmp dword [0x67d050], 3
je 0x57cec9
mov ebx, dword [ebp - 8]
mov edx, dword [ebx]
push 0
mov ecx, ebx
call dword [edx + 0x24]
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx]
push 0
call dword [eax + 0x24]
push 6
push 6
mov ecx, ebx
call fcn.005ec0d0
mov ecx, dword [ebp + 0x10]
push 6
push 6
call fcn.005ec0d0
jmp 0x57cf05
mov ebx, dword [ebp - 8]
mov edx, dword [ebx]
push 1
mov ecx, ebx
call dword [edx + 0x24]
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx]
push 1
call dword [eax + 0x24]
push 6
push 5
mov ecx, ebx
call fcn.005ec0d0
mov ecx, dword [ebp + 0x10]
push 6
push 5
call fcn.005ec0d0
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x10]
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx]
call dword [eax + 0x10]
lea ecx, [edi + 0x158]
push ecx
mov ecx, esi
call fcn.005ec8f0
mov ebx, eax
push 6
push 5
mov ecx, ebx
call fcn.005ec0d0
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x10]
mov eax, dword [0x67db7c]
test eax, eax
jne 0x57cf4e
cmp dword [0x67d050], 3
je 0x57cf4e
add edi, 0x160
push edi
mov ecx, esi
call fcn.005ec8f0
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x10]
mov al, byte [ebp + 0xc]
test al, al
pop edi
pop esi
pop ebx
je 0x57cf73
mov eax, dword [ebp - 0xc]
mov ecx, dword [0x67d8ac]
push 0x36
push 0x17e
add eax, 0x7f
push eax
push 0xd
call fcn.005f0150
mov esp, ebp
pop ebp
ret 0xc
mov ebp, 0x68000001
add al, byte fs:[eax]
add byte [ebx + 0x33a0e8c8], cl
hlt