Function at 0x101806c
Capabilities:
Get file size

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xe0
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
xor ebx, ebx
push 0x37
xor eax, eax
pop ecx
lea edi, [ebp - 0xdc]
mov dword [ebp - 0xe0], ebx
rep stosd dword es:[edi], eax
mov eax, dword [esi + reloc.msvcrt.dll___p__fmode]
cmp eax, ebx
mov edi, dword [esi + 0x20]
je 0x1017fdb
cmp word [eax], bx
je 0x1017fdb
mov dword [ebp - 0xe0], eax
mov eax, dword [esi + reloc.msvcrt.dll___p__fmode]
cmp eax, ebx
je 0x1017ff0
cmp word [eax], bx
je 0x1017ff0
mov dword [ebp - 0xdc], eax
mov eax, dword [esi + 0xa0]
cmp eax, ebx
je 0x1018005
cmp word [eax], bx
je 0x1018005
mov dword [ebp - 0xd8], eax
mov eax, dword [edi + reloc.msvcrt.dll___p__fmode]
cmp eax, ebx
je 0x101801a
cmp word [eax], bx
je 0x101801a
mov dword [ebp - 0xd4], eax
mov eax, dword [edi + reloc.msvcrt.dll___p__fmode]
cmp eax, ebx
je 0x101802f
cmp word [eax], bx
je 0x101802f
mov dword [ebp - 0xcc], eax
mov eax, dword [edi + reloc.msvcrt.dll___p__fmode]
cmp eax, ebx
je 0x1018044
cmp word [eax], bx
je 0x1018044
mov dword [ebp - 0xc8], eax
lea eax, [ebp - 0xc0]
push eax
push 1
push edi
call fcn.01028ef0
test eax, eax
jne 0x1018063
mov dword [ebp - 0xc0], ebx
mov dword [ebp - 0xbc], ebx
lea eax, [ebp - 0xb8]
push eax
push 2
push edi
call fcn.01028ef0
test eax, eax
jne 0x1018082
mov dword [ebp - 0xb8], ebx
mov dword [ebp - 0xb4], ebx
mov eax, dword [esi + reloc.msvcrt.dll___p__fmode]
mov ecx, dword [eax + reloc.msvcrt.dll___p__fmode]
mov dword [ebp - 0xb0], ecx
mov ecx, dword [eax + reloc.msvcrt.dll___p__fmode]
mov dword [ebp - 0xac], ecx
mov ecx, dword [eax + reloc.msvcrt.dll___p__fmode]
mov dword [ebp - 0xa8], ecx
mov eax, dword [eax + reloc.msvcrt.dll___p__fmode]
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xa0], 2
mov eax, dword [edi + 8]
mov eax, dword [eax + 0x24]
cmp eax, ebx
je 0x10180d7
cmp word [eax], bx
je 0x10180d7
mov dword [ebp - 0x9c], eax
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x98], eax
mov eax, dword [esi + reloc.msvcrt.dll___p__fmode]
mov dword [ebp - 0x94], eax
mov eax, dword [esi + reloc.msvcrt.dll___p__fmode]
cmp eax, ebx
je 0x1018101
cmp word [eax], bx
je 0x1018101
mov dword [ebp - 0x90], eax
mov eax, dword [esi + reloc.msvcrt.dll___p__fmode]
cmp eax, ebx
je 0x1018116
cmp word [eax], bx
je 0x1018116
mov dword [ebp - 0x8c], eax
mov eax, dword [esi + reloc.msvcrt.dll___p__fmode]
cmp eax, ebx
je 0x101812b
cmp word [eax], bx
je 0x101812b
mov dword [ebp - 0x88], eax
mov eax, dword [esi + reloc.MSVCP60.dll___0__basic_string_DU__char_traits_D_std__V__allocator_D_2__std__QAE_PBDABV__allocator_D_1__Z]
cmp eax, ebx
je 0x1018140
cmp word [eax], bx
je 0x1018140
mov dword [ebp - 0x84], eax
mov eax, dword [esi + reloc.MSVCP60.dll__append___basic_string_GU__char_traits_G_std__V__allocator_G_2__std__QAEAAV12_PBG_Z]
cmp eax, ebx
je 0x1018152
cmp word [eax], bx
je 0x1018152
mov dword [ebp - 0x80], eax
mov eax, dword [esi + reloc.OLEAUT32.dll_VariantTimeToDosDateTime]
cmp eax, ebx
je 0x1018164
cmp word [eax], bx
je 0x1018164
mov dword [ebp - 0x7c], eax
mov eax, dword [esi + reloc.RPCRT4.dll_RpcServerUseProtseqEpW]
cmp eax, ebx
je 0x1018176
cmp word [eax], bx
je 0x1018176
mov dword [ebp - 0x78], eax
mov eax, dword [esi + reloc.msvcrt.dll___p__fmode]
cmp eax, ebx
je 0x1018188
cmp word [eax], bx
je 0x1018188
mov dword [ebp - 0x74], eax
mov eax, dword [esi + reloc.msvcrt.dll___p__fmode]
cmp eax, ebx
je 0x101819a
cmp word [eax], bx
je 0x101819a
mov dword [ebp - 0x70], eax
mov eax, dword [esi + reloc.msvcrt.dll___p__fmode]
cmp eax, ebx
je 0x10181ac
cmp word [eax], bx
je 0x10181ac
mov dword [ebp - 0x6c], eax
mov eax, dword [esi + reloc.msvcrt.dll___p__fmode]
cmp eax, ebx
je 0x10181be
cmp word [eax], bx
je 0x10181be
mov dword [ebp - 0x68], eax
mov eax, dword [esi + reloc.msvcrt.dll___p__fmode]
cmp eax, ebx
je 0x10181d0
cmp word [eax], bx
je 0x10181d0
mov dword [ebp - 0x64], eax
mov eax, dword [esi + 0xa4]
cmp eax, ebx
je 0x10181e2
cmp word [eax], bx
je 0x10181e2
mov dword [ebp - 0x60], eax
mov eax, dword [esi + 0xa8]
cmp eax, ebx
je 0x10181f4
cmp word [eax], bx
je 0x10181f4
mov dword [ebp - 0x5c], eax
mov eax, dword [esi + 0xac]
cmp eax, ebx
je 0x1018206
cmp word [eax], bx
je 0x1018206
mov dword [ebp - 0x58], eax
mov eax, dword [esi + 0xb0]
cmp eax, ebx
je 0x1018218
cmp word [eax], bx
je 0x1018218
mov dword [ebp - 0x54], eax
mov eax, dword [esi + 0xb4]
cmp eax, ebx
je 0x101822a
cmp word [eax], bx
je 0x101822a
mov dword [ebp - 0x50], eax
mov eax, dword [esi + 0xb8]
cmp eax, ebx
je 0x101823c
cmp word [eax], bx
je 0x101823c
mov dword [ebp - 0x4c], eax
mov eax, dword [esi + 0xbc]
cmp eax, ebx
je 0x101824e
cmp word [eax], bx
je 0x101824e
mov dword [ebp - 0x48], eax
mov eax, dword [esi + 0xc0]
cmp eax, ebx
je 0x1018260
cmp word [eax], bx
je 0x1018260
mov dword [ebp - 0x44], eax
mov eax, dword [esi + 0xc4]
cmp eax, ebx
je 0x1018272
cmp word [eax], bx
je 0x1018272
mov dword [ebp - 0x40], eax
mov eax, dword [esi + 0xc8]
cmp eax, ebx
je 0x1018284
cmp word [eax], bx
je 0x1018284
mov dword [ebp - 0x3c], eax
mov eax, dword [esi + 0xcc]
cmp eax, ebx
je 0x1018296
cmp word [eax], bx
je 0x1018296
mov dword [ebp - 0x38], eax
mov eax, dword [esi + 0xd0]
cmp eax, ebx
je 0x10182a8
cmp word [eax], bx
je 0x10182a8
mov dword [ebp - 0x34], eax
mov eax, dword [esi + 0xd4]
cmp eax, ebx
je 0x10182ba
cmp word [eax], bx
je 0x10182ba
mov dword [ebp - 0x30], eax
mov eax, dword [esi + 0xd8]
cmp eax, ebx
je 0x10182cc
cmp word [eax], bx
je 0x10182cc
mov dword [ebp - 0x2c], eax
mov eax, dword [esi + 0x70]
cmp eax, ebx
je 0x10182db
cmp word [eax], bx
je 0x10182db
mov dword [ebp - 0x28], eax
mov eax, dword [esi + reloc.msvcrt.dll___p__fmode]
mov ecx, dword [eax + 0x8c]
cmp ecx, ebx
je 0x10182f3
cmp word [ecx], bx
je 0x10182f3
mov dword [ebp - 0x24], ecx
mov eax, dword [eax + 0xf4]
cmp eax, ebx
je 0x1018305
cmp word [eax], bx
je 0x1018305
mov dword [ebp - 0x20], eax
mov eax, dword [esi + 0xdc]
cmp eax, ebx
je 0x1018317
cmp word [eax], bx
je 0x1018317
mov dword [ebp - 0x1c], eax
mov esi, dword [esi + reloc.msvcrt.dll___p__fmode]
mov dword [ebp - 0x14], 0x100
mov eax, dword [esi + 8]
mov dword [ebp - 8], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 4], eax
mov eax, dword [esi + 0x58]
mov dword [ebp - 0x18], eax
push 1
lea eax, [ebp - 0xe0]
push eax
push dword [ebp + 8]
call fcn.01034e26
mov esi, eax
push 1
lea eax, [ebp - 0xe0]
push eax
push dword [ebp + 8]
call fcn.01008d76
test eax, eax
jne 0x101836b
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x6e
je 0x101836b
xor esi, esi
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret 8