Function at 0x4ad05acd
Capabilities:
Get file size

Disassembly:
sub esp, 0x21c
push ebx
push ebp
xor ebp, ebp
push edi
mov edi, dword [0x4ad2cac4]
xor ebx, ebx
inc ebp
cmp edi, ebx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], ebx
je 0x4ad101af
push esi
mov esi, dword [esp + 0x230]
mov eax, dword [esi + 0x3c]
cmp eax, ebx
je 0x4ad101b6
push ebp
push 0x100
lea ecx, [esp + 0x34]
push ecx
push eax
call fcn.4ad05c60
mov eax, dword [edi + 4]
push edi
mov dword [esp + 0x2c], eax
call fcn.4ad036b1
cmp eax, 0xffffffff
mov dword [esp + 0x10], eax
je 0x4ad0706c
mov ebp, dword [sym.imp.msvcrt.dll__get_osfhandle]
push ebx
push eax
call ebp
pop ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
push ebx
push dword [esi + 0x3c]
mov dword [esp + 0x28], eax
call fcn.4ad01b82
cmp byte [0x4ad2ca64], bl
mov esi, eax
je 0x4ad05b71
push 4
push str.:EOF
push esi
call dword [sym.imp.msvcrt.dll__wcsnicmp]
add esp, 0xc
test eax, eax
je 0x4ad05c2b
call fcn.4ad01890
push 1
push ebx
push ebx
push dword [esp + 0x1c]
call ebp
mov esi, dword [sym.imp.KERNEL32.dll_SetFilePointer]
pop ecx
push eax
call esi
cmp eax, dword [esp + 0x28]
mov dword [edi + 4], eax
jl 0x4ad05b9d
cmp dword [esp + 0x18], ebx
je 0x4ad07048
lea eax, [esp + 0x14]
push eax
push 0x200
push 0x4ad220a0
push dword [esp + 0x1c]
call ebp
pop ecx
push eax
call fcn.4ad05dba
test eax, eax
je 0x4ad07048
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x4ad07050
cmp eax, 0xffffffff
je 0x4ad0704c
cmp word [0x4ad220a0], bx
je 0x4ad0704c
cmp word [esp + 0x2c], bx
je 0x4ad0704c
push 0x3a
push 0x4ad220a0
mov word [eax*2 + 0x4ad220a0], bx
call fcn.4ad012e4
mov esi, eax
cmp esi, ebx
je 0x4ad05b71
mov ebp, esi
inc esi
inc esi
cmp word [ebp], 0xa
je 0x4ad05dda
cmp ebp, 0x4ad220a0
je 0x4ad05dda
dec ebp
dec ebp
jmp 0x4ad05c10
movzx esi, word [esi + 8]
cmp si, bx
jne 0x4ad101d9
mov eax, dword [esp + 0x20]
mov dword [edi + 4], eax
mov byte [0x4ad2caa0], 1
push dword [esp + 0x10]
call fcn.4ad0355e
mov eax, dword [esp + 0x1c]
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x21c
ret 4
cmp word [ebp], 0x3a
je 0x4ad05de3
inc ebp
inc ebp
push ebx
push ebp
call fcn.4ad01b82
cmp word [eax], 0x3a
mov dword [esp + 0x24], eax
je 0x4ad05e1e
push 0x3a
push esi
call fcn.4ad012e4
mov esi, eax
cmp esi, ebx
jne 0x4ad05c0c
cmp byte [0x4ad2caa0], 1
je 0x4ad05c46
mov ebp, dword [sym.imp.msvcrt.dll__get_osfhandle]
jmp 0x4ad05b71
push 0xa
push ebp
call fcn.4ad012e4
mov esi, eax
cmp esi, ebx
je 0x4ad101e5
push ebx
push 0x100
lea eax, [esp + 0x134]
push eax
push dword [esp + 0x30]
call fcn.4ad05c60
lea eax, [esp + 0x12c]
push eax
lea eax, [esp + 0x30]
push eax
call dword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
pop ecx
pop ecx
jne 0x4ad05df4
mov eax, dword [esp + 0x230]
mov al, byte [eax + 0x40]
and al, 1
mov byte [0x4ad2caa0], al
call fcn.4ad05d96
cmp esi, ebx
je 0x4ad1025c
test al, al
jne 0x4ad10288
sub esi, 0x4ad220a0
inc esi
inc esi
sar esi, 1
add dword [edi + 4], esi
jmp 0x4ad05e06
mov eax, dword [esp + 0x14]
cmp eax, ebx
jne 0x4ad07081
cmp dword [esp + 0x18], ebx
je 0x4ad07081
push ebx
push ebx
push ebx
push dword [esp + 0x1c]
call ebp
pop ecx
push eax
call esi
mov dword [esp + 0x18], ebx
jmp 0x4ad05b71
mov eax, ebp
jmp 0x4ad05c53
test eax, eax
pop ecx
je 0x4ad05b71
jmp 0x4ad05c38
push edi
call fcn.4ad059ba
jmp 0x4ad1029b
mov eax, ebp
jmp 0x4ad05c54
push edi
call fcn.4ad059ba
mov eax, dword [edi + 0xf4]
push ebx
push 0x2330
mov dword [0x4ad2cac4], eax
call fcn.4ad0b54d
pop ecx
pop ecx
jmp 0x4ad0706c
push esi
call dword [sym.imp.msvcrt.dll_iswspace]
jmp 0x4ad07073
push 1
push ebx
push ebx
push dword [esp + 0x1c]
call dword [sym.imp.msvcrt.dll__get_osfhandle]
pop ecx
push eax
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, dword [esp + 0x20]
je 0x4ad05e30
mov eax, dword [esp + 0x14]
cmp eax, 0x200
je 0x4ad05e30
mov esi, 0x4ad220a0
sub ebp, esi
sar ebp, 1
sub eax, ebp
mov ebp, eax
call fcn.4ad05d96
test al, al
je 0x4ad1023f
push ebx
push ebx
push ebx
push ebx
push ebp
push esi
push ebx
push dword [0x4ad289ec]
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov ebp, eax
push 1
push ebx
neg ebp
push ebp
push dword [esp + 0x1c]
call dword [sym.imp.msvcrt.dll__get_osfhandle]
pop ecx
push eax
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
jmp 0x4ad05e06
test al, al
je 0x4ad10282
push ebx
push ebx
push ebx
push ebx
push dword [esp + 0x24]
push 0x4ad220a0
push ebx
push dword [0x4ad289ec]
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
add dword [edi + 4], eax
jmp 0x4ad05e06
mov eax, dword [esp + 0x14]
jmp 0x4ad1027a
push ebx
mov eax, 0x4ad220a0
sub esi, eax
push ebx
inc esi
push ebx
inc esi
push ebx
sar esi, 1
push esi
push eax
jmp 0x4ad1026d
mov eax, dword [edi + 0xf4]
mov dword [0x4ad2cac4], eax
lea eax, [esp + 0x2c]
push eax
xor esi, esi
inc esi
push esi
push 0x23ab
call fcn.4ad0b54d
add esp, 0xc
mov dword [esp + 0x1c], esi
jmp 0x4ad05c46