Function at 0x6a1a30
Capabilities:
Get file size

Disassembly:
sub esp, 0x78
push ebx
push ebp
mov ebp, dword [esp + 0x88]
push esi
lea eax, [esp + 0x20]
push edi
xor edi, edi
push eax
push ebp
mov dword [esp + 0x1c], edi
xor esi, esi
mov dword [esp + 0x38], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x2c], edi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov ecx, eax
mov eax, dword [esp + 0x24]
cmp ecx, edi
mov dword [esp + 0x38], ecx
jne 0x6a1a74
cmp eax, edi
je 0x6a1f45
xor edx, edx
xor ebx, ebx
or eax, edx
push 0x200
or ebx, ecx
mov dword [esp + 0x48], eax
call fcn.008325b4
mov esi, eax
add esp, 4
cmp esi, edi
je 0x6a1f5e
mov ecx, 0x80
xor eax, eax
mov edi, esi
push 0x200
rep stosd dword es:[edi], eax
call fcn.008325b4
mov edi, eax
add esp, 4
test edi, edi
mov dword [esp + 0x18], edi
je 0x6a1f77
xor eax, eax
mov ecx, 0x80
push eax
push eax
push eax
push ebp
rep stosd dword es:[edi], eax
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov eax, dword [esp + 0x44]
test eax, eax
ja 0x6a1ae0
cmp ebx, 0x200
jbe 0x6a1ae7
mov edi, 0x200
jmp 0x6a1ae9
mov edi, ebx
mov ecx, dword [esp + 0x8c]
push 0
lea eax, [esp + 0x14]
push 0
push eax
push edi
push esi
push ebp
push ecx
mov dword [esp + 0x2c], 0
call fcn.006a40a0
add esp, 0x1c
test eax, eax
je 0x6a1f90
cmp edi, dword [esp + 0x10]
jne 0x6a1fa9
mov eax, dword [esi + 0x14]
xor edi, edi
push eax
push 0x20
push esi
mov dword [esi + 0x14], edi
call fcn.006a32b0
add esp, 0xc
test eax, eax
je 0x6a1fc2
mov eax, dword [esp + 0x10]
xor edx, edx
mov dx, word [esi + 8]
cmp eax, edx
jb 0x6a1fdb
mov eax, dword [esi + 0x1c]
mov ecx, dword [esp + 0x44]
cmp eax, ecx
ja 0x6a1ff4
jb 0x6a1b69
mov ecx, dword [esi + 0x18]
cmp ecx, ebx
ja 0x6a1ff4
mov ebp, dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x9de1c0], edi
call ebp
mov dword [0x9de1c8], eax
mov eax, dword [0x9de1cc]
cmp eax, edi
jne 0x6a1bbb
mov dword [0x9de1c0], 2
mov dword [0x9de1c4], 0x26f
call ebp
mov dword [0x9de1c8], eax
mov dword [0x9de1c0], 0x1f
mov dword [0x9de1c4], 0xf4c
call ebp
jmp 0x6a20cb
cmp dword [0x9de6f4], edi
jne 0x6a1c05
mov cl, byte [esi + 6]
mov eax, dword [esi + 0x10]
mov edx, dword [0x9de1d8]
and ecx, 1
cmp eax, 0x2710
ja 0x6a1be7
cmp edx, 0x2710
ja 0x6a1c05
cmp edx, eax
jne 0x6a1bf7
jmp 0x6a1c05
cmp eax, edx
jne 0x6a1bf7
cmp dword [0x9de1e0], edi
ja 0x6a1c05
cmp ecx, edi
je 0x6a1c05
push ecx
push eax
call fcn.0069c0a0
add esp, 8
cmp eax, edi
je 0x6a1ba0
mov ecx, 0xf
xor eax, eax
lea edi, [esp + 0x49]
mov byte [esp + 0x48], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea edx, [esp + 0x28]
lea ecx, [esp + 0x34]
stosb byte es:[edi], al
push edx
lea eax, [esp + 0x4c]
push 0x40
push eax
xor edi, edi
push ecx
push esi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x48], edi
call fcn.0069c710
add esp, 0x14
test eax, eax
je 0x6a200d
mov edx, dword [esp + 0x34]
push edx
call fcn.0067ea20
mov edx, eax
add esp, 4
cmp edx, edi
mov dword [esp + 0x3c], edx
je 0x6a2028
mov edi, dword [esi + 0x1c]
mov ecx, dword [esp + 0x10]
mov ebp, dword [esi + 0x18]
xor eax, eax
cmp eax, edi
jb 0x6a1c77
ja 0x6a1c79
cmp ecx, ebp
ja 0x6a1c79
mov ebp, ecx
lea ecx, [esp + 0x2c]
xor eax, eax
push ecx
mov ecx, dword [esp + 0x1c]
push 0x200
mov dword [esp + 0x34], 0
mov ax, word [esi + 8]
push ecx
mov ecx, ebp
mov edi, dword [edx]
sub ecx, eax
add eax, esi
push ecx
push eax
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x5c]
push eax
push ecx
mov ecx, edx
call dword [edi + 0x14]
test eax, eax
je 0x6a2043
push 0x400
mov dword [esp + 0x24], 0x400
call fcn.008325b4
mov edi, eax
add esp, 4
test edi, edi
mov dword [esp + 0x30], edi
je 0x6a2059
mov ecx, dword [esp + 0x20]
xor eax, eax
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
mov edx, dword [esp + 0x18]
and ecx, 3
rep stosb byte es:[edi], al
mov edi, dword [esp + 0x30]
xor eax, eax
mov ax, word [esi + 8]
mov ecx, ebp
sub ecx, eax
lea eax, [esp + 0x20]
push ecx
push edx
push eax
push edi
call fcn.0072e990
test eax, eax
jne 0x6a20b1
cmp dword [esp + 0x20], ebp
jne 0x6a20b1
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x38]
mov ebp, dword [esp + 0x94]
push ecx
push edx
push ebp
call fcn.006a3ff0
add esp, 0xc
test eax, eax
je 0x6a206f
mov eax, dword [esp + 0x98]
push 0
push 0
push 0
push ebp
mov dword [eax], 1
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x8c]
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], 0
push ecx
push edx
push edi
push ebp
push eax
call fcn.006a40d0
add esp, 0x14
test eax, eax
je 0x6a2085
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
cmp edi, eax
jne 0x6a209b
mov ecx, dword [esp + 0x44]
xor edx, edx
sub ebx, edi
mov dword [esp + 0x14], 1
sbb ecx, edx
mov eax, ebx
mov dword [esp + 0x44], ecx
jne 0x6a1db9
test eax, eax
jbe 0x6a1f2c
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x18]
cmp eax, edx
jb 0x6a1f2c
ja 0x6a1dd1
cmp ecx, edi
jbe 0x6a1f2c
sub ecx, edi
sbb eax, edx
mov ebx, ecx
mov ebp, eax
test ebp, ebp
ja 0x6a1df1
test ebx, ebx
jbe 0x6a1f2c
test ebp, ebp
ja 0x6a1df1
cmp ebx, 0x200
jbe 0x6a1df8
mov edi, 0x200
jmp 0x6a1dfa
mov edi, ebx
mov edx, dword [esp + 0x90]
mov eax, dword [esp + 0x8c]
push 0
lea ecx, [esp + 0x14]
push 0
push ecx
push edi
push esi
push edx
push eax
call fcn.006a40a0
add esp, 0x1c
test eax, eax
je 0x6a1ead
mov eax, dword [esp + 0x10]
test eax, eax
je 0x6a1f05
cmp eax, edi
jne 0x6a1f05
mov ecx, dword [esp + 0x3c]
lea edi, [esp + 0x2c]
push edi
mov edi, dword [esp + 0x1c]
mov edx, dword [ecx]
push 0x200
push edi
push eax
mov eax, dword [esp + 0x38]
push esi
push eax
lea eax, [esp + 0x60]
push eax
call dword [edx + 0x14]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x2c]
cmp ecx, eax
jne 0x6a1ec3
mov edx, dword [esp + 0x94]
lea ecx, [esp + 0x1c]
push ecx
push eax
mov eax, dword [esp + 0x94]
push edi
push edx
push eax
call fcn.006a40d0
add esp, 0x14
test eax, eax
je 0x6a1ed9
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
cmp eax, ecx
jne 0x6a1eef
sub ebx, eax
sbb ebp, 0
jne 0x6a1de5
test ebx, ebx
ja 0x6a1de5
jmp 0x6a1f2c
mov dword [0x9de1c0], 0xd
mov dword [0x9de1c4], 0xfbb
jmp 0x6a1f19
mov dword [0x9de1c0], 0x12
mov dword [0x9de1c4], 0xfcb
jmp 0x6a1f19
mov dword [0x9de1c0], 0xe
mov dword [0x9de1c4], 0xfd2
jmp 0x6a1f19
mov dword [0x9de1c0], 0xe
mov dword [0x9de1c4], 0xfd9
jmp 0x6a1f19
mov dword [0x9de1c0], 0xd
mov dword [0x9de1c4], 0xfc2
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x9de1c8], eax
mov dword [esp + 0x14], 0
mov ecx, dword [esp + 0x94]
push 2
push 0
push 0
push ecx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
jmp 0x6a20d0
mov dword [0x9de1c0], 0x1000b
mov dword [0x9de1c4], 0xf06
jmp 0x6a20c5
mov dword [0x9de1c0], 0x21
mov dword [0x9de1c4], 0xf0f
jmp 0x6a20c5
mov dword [0x9de1c0], 0x21
mov dword [0x9de1c4], 0xf17
jmp 0x6a20c5
mov dword [0x9de1c0], 0xd
mov dword [0x9de1c4], 0xf24
jmp 0x6a20c5
mov dword [0x9de1c0], 0xd
mov dword [0x9de1c4], 0xf2a
jmp 0x6a20c5
mov dword [0x9de1c0], 0x1c
mov dword [0x9de1c4], 0xf38
jmp 0x6a20c5
mov dword [0x9de1c0], 0xd
mov dword [0x9de1c4], 0xf3e
jmp 0x6a20c5
mov dword [0x9de1c0], 0x1000b
mov dword [0x9de1c4], 0xf45
jmp 0x6a20c5
mov dword [0x9de1c0], 0xb
mov dword [0x9de1c4], 0xf5d
call ebp
jmp 0x6a20cb
mov dword [0x9de1c0], 0xc
mov dword [0x9de1c4], 0xf64
call ebp
jmp 0x6a20cb
mov dword [0x9de1c0], 0x12
mov dword [0x9de1c4], 0xf72
jmp 0x6a20c5
mov dword [0x9de1c0], 0x21
mov dword [0x9de1c4], 0xf7d
jmp 0x6a20c5
mov dword [0x9de1c0], 0x25
mov dword [0x9de1c4], 0xf8d
jmp 0x6a20c5
mov dword [0x9de1c0], 0xe
mov dword [0x9de1c4], 0xf9c
jmp 0x6a20c5
mov dword [0x9de1c0], 0xe
mov dword [0x9de1c4], 0xfa2
jmp 0x6a20c5
mov dword [0x9de1c0], 0x1000a
mov dword [0x9de1c4], 0xf86
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x9de1c8], eax
mov edx, dword [esp + 0x94]
push edx
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
test esi, esi
je 0x6a20eb
push esi
call fcn.008325dd
add esp, 4
mov eax, dword [esp + 0x30]
pop edi
pop esi
pop ebp
test eax, eax
pop ebx
je 0x6a2100
push eax
call fcn.008325dd
add esp, 4
mov eax, dword [esp + 8]
test eax, eax
je 0x6a2111
push eax
call fcn.008325dd
add esp, 4
mov eax, dword [esp + 4]
add esp, 0x78
ret