Function at 0x1006e800
Capabilities:
Get file size
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x10184738
push 0x10132540
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x11ec
call fcn.10140530
mov eax, dword [0x10189710]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x20], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
mov eax, dword [ebp + 8]
mov dword [ebp - 0x11e8], eax
mov esi, ecx
mov dword [ebp - 0x11dc], esi
mov ebx, edx
mov dword [ebp - 0x11ec], ebx
xor edi, edi
mov dword [ebp - 0x11f8], edi
mov dword [ebp - 4], edi
mov dword [ebp - 0x11f0], edi
mov byte [ebp - 0xcc], 0
push 0xa3
push edi
lea ecx, [ebp - 0xcb]
push ecx
call fcn.1012e060
add esp, 0xc
mov dword [ebp - 0x11e4], edi
mov dword [ebp - 0x11e0], edi
mov dword [ebp - 0x11f4], edi
mov dword [ebp - 0x11d8], edi
cmp ebx, edi
je 0x1006e8a4
mov dword [ebx], edi
push 0x10163160
mov edx, dword [ebp - 0x11e8]
push edx
call fcn.1012982a
add esp, 8
mov ebx, eax
mov dword [ebp - 0x11f0], ebx
test ebx, ebx
jne 0x1006e93c
mov esi, dword [ebp - 0x11e8]
call fcn.1006a5a0
test eax, eax
je 0x1006e90c
xor ecx, ecx
call fcn.1007aaf0
test eax, eax
je 0x1006e90c
push ebx
push ebx
push ebx
call fcn.100844b0
test eax, eax
jne 0x1006e90c
mov dword [ebp - 0x11e0], 1
push 0x10163160
mov eax, esi
push eax
call fcn.1012982a
add esp, 8
mov ebx, eax
mov dword [ebp - 0x11f0], ebx
test ebx, ebx
jne 0x1006e932
cmp dword [ebp - 0x11e0], 1
jne 0x1006e924
mov dword [ebp - 0x11e0], ebx
call fcn.10084450
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
jmp 0x1006ecb3
mov esi, dword [ebp - 0x11dc]
test ebx, ebx
je 0x1006e96d
push 2
push 0
push ebx
call fcn.1012b1f9
add esp, 0xc
test eax, eax
jne 0x1006e95e
push ebx
call fcn.1012b0ca
add esp, 4
mov dword [ebp - 0x11d8], eax
mov edi, eax
push 0
push 0
push ebx
call fcn.1012b1f9
add esp, 0xc
jmp 0x1006e97f
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0x11d8], eax
mov edi, eax
test esi, esi
je 0x1006e985
mov dword [esi], edi
test ebx, ebx
je 0x1006e9a8
push ebx
push 0xa0
push 1
lea ecx, [ebp - 0xcc]
push ecx
call fcn.1012a83e
add esp, 0x10
mov dword [ebp - 0x11e4], eax
jmp 0x1006e9e6
push 1
push 0
push 0
push 0
mov esi, dword [sym.imp.KERNEL32.dll_SetFilePointer]
call esi
mov dword [ebp - 0x11f4], eax
push 0
push 0
push 0
push 0
call esi
lea ecx, [ebp - 0x11e4]
mov edx, 0xa0
lea esi, [ebp - 0xcc]
xor edi, edi
call fcn.1005aa20
mov edi, dword [ebp - 0x11d8]
mov al, byte [ebp - 0xcc]
cmp al, 0x20
je 0x1006ea00
cmp al, 0xd
je 0x1006ea00
cmp al, 0xa
je 0x1006ea00
cmp al, 9
jne 0x1006eaf9
push 0
push 0
test ebx, ebx
je 0x1006ea13
push ebx
call fcn.1012b1f9
add esp, 0xc
jmp 0x1006ea1d
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
lea edx, [edi + 0xa8]
push edx
call fcn.1006a7b0
add esp, 4
mov esi, eax
test esi, esi
je 0x1006eaf3
test ebx, ebx
je 0x1006ea51
push ebx
push edi
push 1
push esi
call fcn.1012a83e
add esp, 0x10
mov ecx, eax
mov dword [ebp - 0x11dc], ecx
jmp 0x1006ea6c
lea ecx, [ebp - 0x11dc]
mov edx, edi
xor edi, edi
call fcn.1005aa20
mov edi, dword [ebp - 0x11d8]
mov ecx, dword [ebp - 0x11dc]
cmp ecx, edi
jb 0x1006eaea
xor edi, edi
mov dword [ebp - 0x11fc], edi
cmp edi, ecx
jae 0x1006eae4
mov al, byte [edi + esi]
cmp al, 9
je 0x1006ec60
cmp al, 0xa
je 0x1006ec60
cmp al, 0xd
je 0x1006ec60
cmp al, 0x20
je 0x1006ec60
push 0xa4
push 0
lea eax, [ebp - 0xcc]
push eax
call fcn.1012e060
add esp, 0xc
xor eax, eax
mov dword [ebp - 0x1200], eax
lea ecx, [eax + edi]
cmp ecx, dword [ebp - 0x11dc]
jae 0x1006eade
mov edx, 0xa0
cmp eax, edx
jae 0x1006eade
mov cl, byte [ecx + esi]
mov byte [ebp + eax - 0xcc], cl
inc eax
jmp 0x1006eab7
mov dword [ebp - 0x11e4], eax
mov edi, dword [ebp - 0x11d8]
push esi
call fcn.10128243
add esp, 4
mov al, byte [ebp - 0xcc]
xor esi, esi
cmp dword [ebp - 0x11e4], esi
jbe 0x1006ec4b
test al, al
jne 0x1006eb17
cmp edi, 0x8006
jbe 0x1006ec4b
mov byte [ebp - 0x1d4], 0
push 0x103
push esi
lea edx, [ebp - 0x1d3]
push edx
call fcn.1012e060
add esp, 0xc
mov eax, dword [ebp - 0x11e8]
push eax
mov ecx, dword [ebp - 0x11e4]
push ecx
push edi
mov edi, dword [ebp - 0x11ec]
push edi
lea edx, [ebp - 0xcc]
push edx
lea edx, [ebp - 0x1d4]
mov ecx, ebx
call fcn.1006c6f0
add esp, 0x14
mov dword [ebp - 0x11f8], eax
xor edx, edx
cmp edx, esi
je 0x1006eb7c
lea ecx, [ebp - 0x1d4]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x1006eb72
cmp edi, esi
je 0x1006ec4b
cmp dword [edi], esi
je 0x1006ec4b
xor eax, eax
cmp eax, 2
jne 0x1006ec4b
cmp ebx, esi
je 0x1006ec66
push eax
push esi
push ebx
call fcn.1012b1f9
add esp, 0xc
test eax, eax
jne 0x1006ec40
push ebx
call fcn.1012b0ca
add esp, 4
cmp eax, 0x2000
jbe 0x1006ec40
mov byte [ebp - 0x11d4], 0
push 0xfff
push esi
lea eax, [ebp - 0x11d3]
push eax
call fcn.1012e060
add esp, 0xc
mov dword [ebp - 0x11ec], esi
push 2
push 0xfffff000
push ebx
call fcn.1012b1f9
add esp, 0xc
push ebx
push 0x1000
push 1
lea ecx, [ebp - 0x11d4]
push ecx
call fcn.1012a83e
add esp, 0x10
cmp eax, 0x1000
jne 0x1006ec40
lea edx, [ebp - 0x11ec]
push edx
push eax
push esi
push esi
push str.SHIROUZU
push str.ip_messenger
lea eax, [ebp - 0x11d4]
push eax
call fcn.10063460
add esp, 0x1c
cmp eax, 0xffffffff
je 0x1006ec40
mov dword [edi], 2
push esi
push esi
push ebx
call fcn.1012b1f9
add esp, 0xc
cmp ebx, esi
je 0x1006ec66
push ebx
call fcn.10129ad3
add esp, 4
mov dword [ebp - 0x11f0], esi
jmp 0x1006ec78
inc edi
jmp 0x1006ea72
push esi
push esi
mov ecx, dword [ebp - 0x11f4]
push ecx
xor eax, eax
push eax
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp dword [ebp - 0x11e0], 1
jne 0x1006eca6
mov dword [ebp - 0x11e0], esi
call fcn.10084450
jmp 0x1006eca6
mov dword [ebp - 4], 0xfffffffe
mov eax, dword [ebp - 0x11f8]
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x20]
xor ecx, ebp
call fcn.10127db1
mov esp, ebp
pop ebp
ret