Function at 0x12f03f50
Capabilities:
Get file size

Disassembly:
mov eax, dword [0x131c3d68]
sub esp, 0x24
push ebx
xor ebx, ebx
push ebp
push esi
cmp eax, ebx
push edi
je 0x12f041c7
mov ebp, dword [esp + 0x38]
cmp ebp, 0xffffffff
je 0x12f041c7
call fcn.12f03060
mov ecx, eax
call fcn.12f03000
mov esi, eax
mov dword [esp + 0x1c], esi
call fcn.12e48710
mov ecx, eax
call fcn.12e486b0
mov edi, eax
mov dword [esp + 0x18], edi
call fcn.12e2d760
mov ecx, eax
call fcn.12e2d700
cmp esi, ebx
jne 0x12f03fb3
cmp edi, ebx
jne 0x12f03fb3
cmp eax, ebx
je 0x12f041c7
push 0x20a
call fcn.12f5bf8b
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x12f041c7
mov ecx, 0x82
xor eax, eax
mov edi, esi
mov dword [esp + 0x20], ebx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esp + 0x20]
lea ecx, [esp + 0x10]
push eax
push ecx
push 0x104
mov edi, 1
push esi
push ebp
mov dword [esp + 0x24], edi
call fcn.12e394d0
mov ecx, eax
call fcn.12e399e0
test eax, eax
je 0x12f041be
cmp dword [esp + 0x10], edi
jne 0x12f041be
push esi
call fcn.12f03bc0
add esp, 4
test eax, eax
jne 0x12f041be
cmp dword [0x13198f68], ebx
je 0x12f0404c
push ebx
push esi
call fcn.12f801f0
add esp, 8
push eax
push esi
push 0x13163110
push str.UDMatch
push 0xffffffffffffffff
call fcn.12dad750
add esp, 0x14
push 0x5c
push esi
call fcn.12f5c8b4
mov edi, eax
add esp, 8
cmp edi, ebx
je 0x12f041be
push edi
call fcn.12f5c44d
add esp, 4
cmp eax, 1
jbe 0x12f041be
lea edx, [esp + 0x38]
add edi, 2
push edx
push ebp
mov dword [esp + 0x40], ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
xor ecx, ecx
lea edx, [esp + 0x2c]
mov ebx, eax
mov dword [esp + 0x24], ecx
xor eax, eax
push edx
push ecx
mov dword [esp + 0x34], eax
push ecx
push ebp
mov dword [esp + 0x40], eax
mov dword [esp + 0x38], ecx
call dword [sym.imp.KERNEL32.dll_GetFileTime]
cmp eax, 1
jne 0x12f040bf
lea eax, [esp + 0x24]
lea ecx, [esp + 0x2c]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
mov eax, dword [esp + 0x38]
lea edx, [esp + 0x24]
push edx
push ebx
push eax
push edi
push esi
call fcn.12f03060
mov ecx, eax
call fcn.12f027d0
mov ebp, eax
mov eax, dword [0x13198f68]
test eax, eax
je 0x12f040fd
mov ecx, dword [esp + 0x1c]
push ecx
push ebp
push 0x131630c4
push str.UDMatch
push 0xffffffffffffffff
call fcn.12dad750
add esp, 0x14
test ebp, ebp
jne 0x12f041be
mov eax, dword [esp + 0x38]
lea edx, [esp + 0x24]
push edx
push ebx
push eax
push edi
push esi
call fcn.12e48710
mov ecx, eax
call fcn.12e48720
mov ecx, dword [0x13198f68]
mov ebp, eax
xor eax, eax
cmp ecx, eax
je 0x12f04148
mov ecx, dword [esp + 0x18]
push ecx
push ebp
push 0x1316307c
push str.UDMatch
push 0xffffffffffffffff
call fcn.12dad750
add esp, 0x14
xor eax, eax
cmp ebp, eax
jne 0x12f041be
push 0x348
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
call fcn.12f5bf8b
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x12f041be
lea edx, [esp + 0x18]
push ebp
lea eax, [esp + 0x18]
push edx
lea ecx, [esp + 0x24]
push eax
mov eax, dword [esp + 0x44]
lea edx, [esp + 0x30]
push ecx
push edx
push ebx
push eax
push edi
push esi
call fcn.12e2d760
mov ecx, eax
call fcn.12e2d300
test eax, eax
je 0x12f041b5
mov eax, dword [esp + 0x14]
test eax, eax
je 0x12f041b5
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
push 1
push ebp
push ecx
push edx
call fcn.12e29ea0
add esp, 0x10
push ebp
call fcn.12f5bf80
add esp, 4
push esi
call fcn.12f5bf80
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret