Function at 0x599430
Capabilities:
Delete file
Get file size

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff98
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x48], edx
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], eax
lea eax, [ebp - 0x40]
mov edx, dword [0x543578]
call fcn.00403e38
lea esi, [ebp - 8]
xor eax, eax
push ebp
push 0x599883
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [esi]
cmp byte [eax + 0x45c], 0
je 0x5994bf
mov eax, dword [esi]
mov byte [eax + 0x45d], 1
mov eax, dword [0x66f230]
inc dword [eax]
lea eax, [ebp - 0x44]
call fcn.00536b50
mov edx, dword [ebp - 0x44]
mov cl, byte [0x599894]
mov eax, dword [esi]
call fcn.0059a5cc
mov ebx, eax
mov eax, dword [0x66f230]
dec dword [eax]
mov eax, dword [esi]
mov byte [eax + 0x45d], 0
test bl, bl
jne 0x599852
mov eax, dword [esi]
call fcn.005f894c
jmp 0x599852
mov eax, dword [esi]
cmp byte [eax + 0x427], 0
jne 0x5994de
xor edx, edx
mov eax, dword [esi]
call fcn.005990b8
test al, al
jne 0x5994de
mov bl, 1
jmp 0x599852
mov byte [ebp - 1], 0xff
mov eax, dword [esi]
cmp byte [eax + 0x3f5], 0
je 0x5995b0
mov eax, dword [esi]
mov eax, dword [eax + 0x160]
mov ecx, 1
mov edx, 0x80000000
call fcn.00658f04
cmp eax, 0xffffffff
jne 0x59954e
mov ebx, dword [0x66eb48]
mov ebx, dword [ebx]
call sub.kernel32.dll_GetLastError
cmp eax, 0x20
jne 0x599527
mov ebx, dword [0x66f400]
mov ebx, dword [ebx]
mov eax, dword [esi]
mov edx, dword [eax + 0x160]
mov eax, ebx
call fcn.0062001c
mov eax, dword [esi]
mov edx, dword [eax + 0x160]
mov cl, 1
mov eax, dword [esi]
call fcn.00599898
mov ebx, eax
jmp 0x599811
push eax
call sub.kernel32.dll_CloseHandle
push 3
mov eax, dword [esi]
mov edx, dword [eax + 0x160]
mov eax, dword [0x66ed2c]
mov eax, dword [eax]
mov cl, 3
call fcn.0062010c
sub ax, 6
je 0x599579
dec ax
je 0x599591
jmp 0x5995a9
mov eax, dword [esi]
mov edx, dword [eax + 0x160]
xor ecx, ecx
mov eax, dword [esi]
call fcn.00599898
mov ebx, eax
jmp 0x599811
mov eax, dword [esi]
mov edx, dword [eax + 0x160]
mov cl, 1
mov eax, dword [esi]
call fcn.00599898
mov ebx, eax
jmp 0x599811
mov bl, 1
jmp 0x599811
mov eax, dword [esi]
cmp byte [eax + 0x3f6], 0
je 0x5995e7
mov eax, dword [esi]
mov edx, dword [eax + 0x160]
mov eax, dword [0x670138]
mov eax, dword [eax]
call fcn.0061ff68
mov eax, dword [esi]
mov edx, dword [eax + 0x160]
mov cl, 1
mov eax, dword [esi]
call fcn.00599898
mov ebx, eax
jmp 0x599811
mov eax, dword [esi]
cmp byte [eax + 0x427], 0
jne 0x599608
mov eax, dword [esi]
cmp byte [eax + 0x43c], 0
jne 0x599608
push ebp
call fcn.0059933c
pop ecx
test al, al
je 0x59966b
lea eax, [ebp - 0xc]
mov edx, dword [esi]
mov edx, dword [edx + 0x160]
call fcn.004038bc
push ebp
call fcn.0059933c
pop ecx
test al, al
je 0x599646
lea edx, [ebp - 0x44]
mov eax, dword [ebp - 0xc]
call fcn.006552dc
mov ecx, dword [ebp - 0x44]
mov eax, dword [0x66fc80]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
mov edx, dword [eax + 8]
lea eax, [ebp - 0xc]
call fcn.00403b14
mov cl, 1
mov edx, dword [ebp - 0xc]
mov eax, dword [esi]
call fcn.00599898
mov ebx, eax
cmp bl, 1
jne 0x599811
mov eax, dword [esi]
mov byte [eax + 0x431], 0
jmp 0x599811
mov eax, dword [esi]
mov ecx, dword [eax + 0x168]
xor edx, edx
mov eax, dword [esi]
call fcn.005b9a48
test al, al
je 0x599705
mov eax, dword [0x66f264]
mov eax, dword [eax + 4]
call fcn.00539f84
mov ebx, eax
call fcn.00506a54
mov eax, dword [eax + 0x19c]
mov dword [eax + 0x60], ebx
mov eax, dword [esi]
mov byte [eax + 0x432], 1
lea eax, [ebp - 0x48]
mov edx, dword [0x66f264]
mov edx, dword [edx + 4]
mov ecx, dword [0x66f35c]
mov edx, dword [ecx + edx*4]
call fcn.00403a24
mov edx, dword [ebp - 0x48]
lea ecx, [ebp - 0x44]
mov eax, dword [esi]
mov eax, dword [eax + 0x160]
call fcn.0065512c
mov edx, dword [ebp - 0x44]
mov cl, 1
mov eax, dword [esi]
call fcn.00599898
mov ebx, eax
mov eax, dword [esi]
mov byte [eax + 0x432], 0
cmp bl, 1
jne 0x599811
mov eax, dword [esi]
mov byte [eax + 0x431], 0
jmp 0x599811
mov eax, dword [esi]
mov ebx, dword [eax + 0x164]
test ebx, ebx
jne 0x599729
mov eax, dword [esi]
mov edx, dword [eax + 0x160]
xor ecx, ecx
mov eax, dword [esi]
call fcn.00599898
mov ebx, eax
jmp 0x599811
mov eax, ebx
call fcn.0061cc70
test al, al
jne 0x599753
mov eax, dword [esi]
call fcn.005b9b50
mov eax, dword [esi]
mov edx, dword [eax + 0x160]
xor ecx, ecx
mov eax, dword [esi]
call fcn.00599898
mov ebx, eax
jmp 0x599811
mov cl, byte [0x599894]
xor edx, edx
mov eax, dword [esi]
call fcn.00544534
test al, al
je 0x59980f
mov eax, dword [esi]
inc dword [eax + 0x1cc]
mov byte [ebp - 0x40], 0
lea edx, [ebp - 0x68]
mov eax, dword [esi]
call fcn.005c5b44
push esi
lea esi, [ebp - 0x68]
lea edi, [ebp - 0x3c]
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
pop esi
mov eax, dword [esi]
mov eax, dword [eax + 0x168]
mov dword [ebp - 0x1c], eax
mov al, byte [0x599894]
mov byte [ebp - 0x3e], al
mov eax, dword [esi]
mov eax, dword [eax + 0x16c]
mov dword [ebp - 0x18], eax
mov eax, dword [esi]
mov al, byte [eax + 0x170]
mov byte [ebp - 0x3f], al
lea edx, [ebp - 0x40]
mov eax, dword [esi]
call fcn.005b944c
mov ebx, eax
test bl, bl
jne 0x5997cf
mov eax, dword [esi]
call fcn.005f894c
push 0
mov eax, dword [esi]
mov eax, dword [eax + 0x164]
push eax
call sub.kernel32.dll_GetFileSize
mov edx, dword [esi]
mov dword [edx + 0x1b8], eax
mov eax, dword [esi]
call fcn.005b9b50
mov eax, dword [esi]
mov eax, dword [eax + 0x160]
mov ecx, 1
mov edx, 0xc0000000
call fcn.00658f04
mov edx, dword [esi]
mov dword [edx + 0x164], eax
jmp 0x599811
mov bl, 1
test bl, bl
jne 0x599852
mov eax, dword [esi]
cmp byte [eax + 0x43d], 0
je 0x599852
mov eax, dword [esi]
mov eax, dword [eax + 0x34]
push eax
call sub.kernel32.dll_CloseHandle
mov eax, dword [esi]
mov eax, dword [eax + 0x30]
push eax
call sub.kernel32.dll_DeleteFileW
mov eax, dword [esi]
xor edx, edx
mov dword [eax + 0x34], edx
mov eax, dword [esi]
mov dword [eax + 0x4b8], 0x80000000
mov eax, dword [esi]
mov byte [eax + 0x43d], 0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x59988a
lea eax, [ebp - 0x48]
mov edx, 2
call fcn.00403898
lea eax, [ebp - 0x40]
mov edx, dword [0x543578]
call fcn.00403f00
lea eax, [ebp - 0xc]
call fcn.00403880
ret