Function at 0x1025885
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
push esi
push edi
mov edi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
xor esi, esi
mov ebx, 0x10416f8
push ebx
mov dword [ebp - 8], esi
mov dword [ebp - 0xc], esi
mov dword [ebp - 4], esi
call edi
cmp dword [ebp + 0x10], esi
je 0x10258c3
push dword [ebp + 0x10]
call fcn.01018e49
test eax, eax
je 0x10258c3
push ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0x490
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
jmp 0x1025bc5
mov ecx, dword [ebp + 8]
cmp ecx, reloc.msvcrt.dll___p__fmode
je 0x102598e
mov eax, dword [reloc.msvcrt.dll___p__fmode]
mov edx, 0x10416e4
jmp 0x10258e4
mov esi, eax
cmp dword [esi + 0x10], ecx
mov eax, dword [eax]
je 0x10258ed
cmp eax, edx
jne 0x10258db
jmp 0x1025b93
xor eax, eax
cmp dword [ebp + 0x14], eax
je 0x1025903
cmp dword [ebp + 0xc], 2
jne 0x1025b93
jmp 0x1025b90
cmp dword [ebp + 0xc], 4
jne 0x102592f
test byte [esi + 0x30], 1
jne 0x102591a
mov ecx, dword [reloc.msvcrt.dll___p__fmode]
cmp ecx, dword [esi + 0x10]
jne 0x102592f
cmp dword [ebp + 0x18], eax
jne 0x1025b90
mov ecx, dword [esi + 0x1c]
test byte [ecx + 0x848], 0x40
jmp 0x1025957
cmp dword [esi + 0x2c], reloc.msvcrt.dll___p__fmode
jne 0x1025965
cmp dword [ebp + 0xc], 2
jne 0x1025965
test byte [esi + 0x30], 2
je 0x1025965
cmp dword [ebp + 0x18], eax
jne 0x1025b90
mov ecx, dword [esi + 0x1c]
test byte [ecx + 0x848], 2
jne 0x1025b90
mov dword [esi + 0x2c], eax
jmp 0x1025b90
cmp dword [esi + 0x44], eax
je 0x1025b93
test byte [esi + 0x33], 0x20
je 0x1025b93
push esi
call fcn.01024f3a
test eax, eax
jne 0x1025b93
and dword [esi + 0x2c], eax
jmp 0x1025b90
push esi
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp + 0x14]
push eax
push dword [ebp + 0x10]
mov dword [ebp + 0x14], esi
mov dword [ebp + 8], esi
call fcn.01035e98
cmp eax, esi
mov dword [ebp - 4], eax
jne 0x1025b93
xor ebx, ebx
inc ebx
cmp dword [ebp + 0x14], ebx
jne 0x10259e3
call fcn.0102820d
cmp eax, esi
jne 0x10259d1
mov dword [ebp - 4], 8
jmp 0x1025b93
push dword [ebp - 0x14]
push eax
call fcn.01025364
cmp eax, ebx
jne 0x1025a0d
cmp dword [ebp - 0x10], esi
jne 0x1025a0d
mov esi, 0x104163c
push esi
mov dword [ebp + 8], ebx
call edi
mov ecx, dword [reloc.msvcrt.dll___p__fmode]
push 0x1001e44
call fcn.0102dd01
test eax, eax
jne 0x1025a3b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 4], eax
jmp 0x1025a2f
mov esi, 0x104163c
push esi
call edi
lea eax, [ebp + 0x10]
push eax
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 0x10]
push dword [ebp - 0x14]
call fcn.010252ba
test eax, eax
mov dword [ebp - 4], eax
je 0x1025a4d
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1025b93
push ebx
lea ecx, [ebp + 0x10]
push ecx
lea ecx, [ebp - 0xc]
push ecx
mov ecx, eax
call fcn.0102d6b4
jmp 0x1025a28
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
and dword [ebp + 0xc], 0
cmp dword [ebp + 0x10], 0
jbe 0x1025b93
mov ebx, dword [reloc.msvcrt.dll___p__fmode]
jmp 0x1025b48
xor edi, edi
cmp dword [ebp + 8], edi
mov esi, ebx
mov ebx, dword [ebx]
je 0x1025a94
mov eax, dword [esi + 0x1c]
cmp dword [eax + reloc.msvcrt.dll___p__fmode], 0x10000
jbe 0x1025a94
test byte [eax + 0x848], 0x80
je 0x1025b48
mov eax, dword [esi + 0x30]
test al, 2
je 0x1025b48
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp + 0xc]
mov ecx, dword [ecx + edx*4]
cmp ecx, dword [esi + 0x10]
jne 0x1025b48
test eax, 0x20000000
jne 0x1025abc
test al, 1
je 0x1025af2
lea eax, [ebp - 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [esi + 0x88]
mov eax, dword [ebp - 0x18]
sbb eax, dword [esi + 0x8c]
mov edx, dword [reloc.msvcrt.dll___p__fmode]
xor edi, edi
imul edx, edx, 0x989680
cmp eax, edi
jb 0x1025b48
ja 0x1025af0
cmp ecx, edx
jb 0x1025b48
xor edi, edi
cmp dword [esi + 0x2c], reloc.msvcrt.dll___p__fmode
jne 0x1025b66
cmp dword [esi + 0x20], edi
jne 0x1025b58
test byte [esi + 0x30], 4
jne 0x1025b58
cmp dword [esi + 0x18], edi
jne 0x1025b15
push esi
call fcn.01024f3a
test eax, eax
je 0x1025b48
push dword [esi + 0x18]
call fcn.01024ebc
test eax, eax
je 0x1025b38
cmp dword [eax + 0xc], 0
jbe 0x1025b30
cmp dword [eax + 0x14], 0
jbe 0x1025b30
xor edi, edi
inc edi
push eax
call fcn.01035abf
jmp 0x1025b3b
xor edi, edi
inc edi
push 0
push esi
call fcn.01024e28
cmp edi, 1
jne 0x1025b56
cmp ebx, 0x10416e4
jne 0x1025a6d
jmp 0x1025b6b
xor edi, edi
cmp dword [esi + 0x2c], reloc.msvcrt.dll___p__fmode
jne 0x1025b66
cmp dword [esi + 0x20], edi
je 0x1025b7c
cmp dword [ebp + 0x1c], edi
jne 0x1025b7c
inc dword [ebp + 0xc]
mov eax, dword [ebp + 0xc]
cmp eax, dword [ebp + 0x10]
jb 0x1025a62
jmp 0x1025b93
cmp dword [ebp + 0x18], edi
jne 0x1025b90
mov eax, dword [esi + 0x1c]
test byte [eax + 0x848], 2
jne 0x1025b90
mov dword [esi + 0x2c], edi
mov dword [ebp - 8], esi
push dword [ebp - 0xc]
call fcn.01035abf
push 0x10416f8
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [ebp - 4], 0
jne 0x1025bb9
cmp dword [ebp - 8], 0
jne 0x1025bb9
mov dword [ebp - 4], reloc.msvcrt.dll___p__fmode
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [ebp - 8]
pop edi
pop esi
pop ebx
leave
ret 0x18