Function at 0x10005750
Capabilities:
Get file size

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10057a33
mov eax, dword fs:[0]
push eax
sub esp, 0x110
mov eax, dword [0x1007200c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, edx
mov edi, ecx
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0x11c], 0
mov dword [ebp - 4], 0
call fcn.10001e10
mov ecx, eax
test ecx, ecx
jne 0x100057ae
push 0x80004005
call fcn.10001bc0
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xec], eax
push 0x11
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xec]
push str.19700102_00:00:00
mov dword [ebp - 0x110], 0
call fcn.10001aa0
push 0
test esi, esi
je 0x100059bb
push 0x2000000
push 3
push 0
push 1
push 0x80000000
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x1000585f
lea eax, [ebp - 0xec]
mov ecx, edi
push eax
call fcn.10001780
mov byte [ebp - 4], 0
or esi, ebx
mov edx, dword [ebp - 0xec]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10005837
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
lock xadd dword [eax + 0xc], esi
dec esi
test esi, esi
jg 0x10005b9a
mov ecx, dword [eax]
push eax
mov edx, dword [ecx]
call dword [edx + 4]
jmp 0x10005b9a
lea eax, [ebp - 0x118]
push eax
push 0
push 0
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileTime]
push ebx
mov esi, eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test esi, esi
jne 0x10005894
lea eax, [ebp - 0xec]
mov ecx, edi
push eax
call fcn.10001780
or esi, 0xffffffff
jmp 0x10005b5a
push ecx
lea eax, [ebp - 0x118]
push eax
lea ecx, [ebp - 0xf4]
call fcn.100070f0
lea eax, [ebp - 0xf4]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.1002f866
or esi, 0xffffffff
test eax, eax
lea eax, [ebp - 0xf4]
mov ecx, esi
cmove ecx, dword [ebp - 0x34]
push eax
lea eax, [ebp - 0x58]
mov dword [ebp - 0xf8], ecx
push eax
call fcn.1002f866
test eax, eax
mov ecx, esi
lea eax, [ebp - 0xf4]
cmove ecx, dword [ebp - 0x54]
push eax
lea eax, [ebp - 0x7c]
mov dword [ebp - 0xfc], ecx
push eax
call fcn.1002f866
test eax, eax
mov ecx, esi
lea eax, [ebp - 0xf4]
cmove ecx, dword [ebp - 0x74]
push eax
lea eax, [ebp - 0xa0]
mov dword [ebp - 0x100], ecx
push eax
call fcn.1002f866
xor ecx, ecx
test eax, eax
lea eax, [ebp - 0xf4]
cmove ecx, dword [ebp - 0x94]
push eax
lea eax, [ebp - 0xc4]
mov dword [ebp - 0x104], ecx
push eax
call fcn.1002f866
add esp, 0x28
test eax, eax
jne 0x1000594b
mov ebx, dword [ebp - 0xb4]
inc ebx
jmp 0x1000594d
xor ebx, ebx
lea eax, [ebp - 0xf4]
push eax
lea eax, [ebp - 0xe8]
push eax
call fcn.1002f866
add esp, 8
test eax, eax
jne 0x10005974
mov eax, dword [ebp - 0xd4]
add eax, 0x76c
jmp 0x10005976
xor eax, eax
push dword [ebp - 0xf8]
push dword [ebp - 0xfc]
push dword [ebp - 0x100]
push dword [ebp - 0x104]
push ebx
push eax
lea eax, [ebp - 0xec]
push str._u__u__u__u:_u:_u
push eax
call fcn.10001600
add esp, 0x20
lea ecx, [ebp - 0xec]
push 7
push str._t_t_DIR_
call fcn.10001530
jmp 0x10005b4c
push 0
push 3
push 0
push 1
push 0x80000000
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x100059ed
lea eax, [ebp - 0xec]
mov ecx, edi
push eax
call fcn.10001780
or esi, ebx
jmp 0x10005b5a
lea eax, [ebp - 0x118]
push eax
push 0
push 0
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileTime]
mov esi, eax
lea eax, [ebp - 0x110]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
push ebx
mov dword [ebp - 0x104], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test esi, esi
jne 0x10005a36
lea eax, [ebp - 0xec]
mov ecx, edi
push eax
call fcn.10001780
or esi, 0xffffffff
jmp 0x10005b5a
push ecx
lea eax, [ebp - 0x118]
push eax
lea ecx, [ebp - 0x10c]
call fcn.100070f0
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0xe8]
push eax
call fcn.1002f866
or esi, 0xffffffff
test eax, eax
lea eax, [ebp - 0x10c]
mov ecx, esi
cmove ecx, dword [ebp - 0xe8]
push eax
lea eax, [ebp - 0xc4]
mov dword [ebp - 0x100], ecx
push eax
call fcn.1002f866
test eax, eax
mov ecx, esi
lea eax, [ebp - 0x10c]
cmove ecx, dword [ebp - 0xc0]
push eax
lea eax, [ebp - 0xa0]
mov dword [ebp - 0xfc], ecx
push eax
call fcn.1002f866
test eax, eax
mov ecx, esi
lea eax, [ebp - 0x10c]
cmove ecx, dword [ebp - 0x98]
push eax
lea eax, [ebp - 0x7c]
mov dword [ebp - 0xf8], ecx
push eax
call fcn.1002f866
xor ecx, ecx
test eax, eax
lea eax, [ebp - 0x10c]
cmove ecx, dword [ebp - 0x70]
push eax
lea eax, [ebp - 0x58]
mov dword [ebp - 0xf0], ecx
push eax
call fcn.1002f866
add esp, 0x28
test eax, eax
jne 0x10005af3
mov ebx, dword [ebp - 0x48]
inc ebx
jmp 0x10005af5
xor ebx, ebx
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.1002f866
add esp, 8
test eax, eax
jne 0x10005b16
mov eax, dword [ebp - 0x20]
add eax, 0x76c
jmp 0x10005b18
xor eax, eax
push dword [ebp - 0x104]
push dword [ebp - 0x100]
push dword [ebp - 0xfc]
push dword [ebp - 0xf8]
push dword [ebp - 0xf0]
push ebx
push eax
lea eax, [ebp - 0xec]
push str._u__u__u__u:_u:_u_t_t_u
push eax
call fcn.10001600
add esp, 0x24
lea eax, [ebp - 0xec]
mov ecx, edi
push eax
call fcn.10001780
mov byte [ebp - 4], 0
mov eax, esi
mov edx, dword [ebp - 0xec]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10005b7b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp + 8]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], esi
dec esi
test esi, esi
jg 0x10005b9a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10007975
mov esp, ebp
pop ebp
ret