Function at 0x103b4b40
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x140
mov eax, dword [0x11ad127c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 0x10]
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, ecx
mov dword [ebp - 0x118], ebx
mov dword [ebp - 0x128], edi
mov dword [ebp - 0x12c], esi
mov dword [ebp - 0x134], eax
cmp byte [edi + 0x35e], 0
mov dword [ebp - 0x138], 0
jne 0x103b504f
mov ecx, dword [edi + 0x68f4]
test ecx, ecx
je 0x103b4d71
push dword [edi + 0x68fc]
lea eax, [ebp - 0x104]
push ecx
push 0x10460a00
push eax
call fcn.100086a0
lea eax, [ebp - 0x104]
push 0x10460a10
push eax
call fcn.10434f0b
mov ebx, eax
add esp, 0x18
mov dword [ebp - 0x110], ebx
test ebx, ebx
jne 0x103b4be0
mov eax, 0x10464ed0
jmp 0x103b4d45
push 2
push 0
push ebx
call fcn.1043fff8
push ebx
call fcn.1044064b
mov esi, eax
push ebx
mov dword [ebp - 0x114], esi
call fcn.104417bb
add esp, 0x14
cmp esi, dword [edi + 0x6944]
jbe 0x103b4c19
push ebx
call fcn.10434d63
mov eax, 0x10467150
jmp 0x103b4d42
mov eax, dword [edi + 0x6940]
xor ebx, ebx
mov ecx, dword [edi + 0xf1c]
xor esi, esi
imul ecx, dword [edi + 0xf18]
mov dword [ebp - 0x10c], eax
mov eax, 0xaaaaaaab
mul dword [ebp - 0x114]
mov dword [ebp - 0x130], ecx
mov eax, edx
mov dword [ebp - 0x11c], ebx
shr eax, 2
mov dword [ebp - 0x114], eax
test eax, eax
je 0x103b4d10
cmp ebx, ecx
jae 0x103b4d10
push dword [ebp - 0x110]
lea eax, [ebp - 0x124]
push 1
push 6
push eax
call fcn.1043fc63
add esp, 0x10
cmp eax, 1
jne 0x103b4d32
mov edx, dword [ebp - 0x10c]
cmp esi, dword [edi + 0x6948]
jae 0x103b4cc7
lea eax, [esi + esi*2]
inc esi
lea ecx, [edx + eax*2]
mov eax, dword [ebp - 0x124]
mov dword [ecx], eax
mov ax, word [ebp - 0x120]
mov word [ecx + 4], ax
cmp esi, dword [edi + 0x6948]
jne 0x103b4cc7
lea eax, [esi + esi*2]
mov ecx, 0x6000
or word [edx + eax*2 - 6], cx
test dword [ebp - 0x124], 0x4000
je 0x103b4cf1
mov eax, dword [edi + 0x694c]
mov dword [eax + ebx*4], esi
xor esi, esi
mov eax, dword [edi + 0x6948]
inc ebx
lea eax, [eax + eax*2]
lea edx, [edx + eax*2]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x130]
inc eax
mov dword [ebp - 0x11c], eax
cmp eax, dword [ebp - 0x114]
jb 0x103b4c60
push dword [ebp - 0x110]
call fcn.10434d63
mov ebx, dword [ebp - 0x118]
add esp, 4
inc dword [edi + 0x68fc]
mov esi, dword [ebp - 0x12c]
jmp 0x103b4d88
push dword [ebp - 0x110]
call fcn.10434d63
mov eax, 0x104671b0
add esp, 4
mov ecx, edi
push eax
call fcn.103e8250
push 0x10460a40
mov ecx, edi
call fcn.103e8250
pop edi
pop esi
mov eax, 8
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1045066c
mov esp, ebp
pop ebp
ret 0xc
push dword [eax + 0x5a8]
mov ecx, edi
push dword [eax + 0x5a4]
call fcn.103cd980
test eax, eax
jne 0x103b4d59
mov ecx, dword [edi + 4]
push 0
push 0
push 0
push 0
push 0
push esi
call fcn.1033bbe0
mov ecx, eax
mov dword [ebp - 0x130], ecx
test ecx, ecx
jne 0x103b4dcb
push 0x10460e00
mov ecx, edi
call fcn.103e8250
pop edi
pop esi
mov eax, 8
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1045066c
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [esi + 0x74]
push dword [eax + 0x24]
push 0
push ecx
call fcn.10425c00
xor al, al
xor cl, cl
add esp, 0xc
mov byte [ebp - 0x107], cl
mov byte [ebp - 0x105], al
cmp byte [edi + 0x655c], al
jbe 0x103b502f
nop dword [eax + eax]
cmp byte [edi + 0x655d], 0
mov byte [ebp - 0x108], 0
jbe 0x103b500f
nop dword [eax]
nop dword [eax + eax]
mov esi, dword [edi + 0x6944]
lea edx, [edi + 0x655e]
movzx ecx, cl
add esi, 0xff
and esi, 0xffffff00
add edx, ecx
imul esi, ecx
mov dword [ebp - 0x134], edx
lea eax, [ecx + 0x1954]
lea eax, [edi + eax*4]
mov dword [eax], 0
add esi, dword [ebp - 0x130]
mov dword [ebp - 0x140], eax
xor al, al
mov byte [ebp - 0x106], al
cmp byte [edx], al
jbe 0x103b4fdb
shl ecx, 7
mov dword [ebp - 0x124], ecx
nop word [eax + eax]
movzx eax, al
add eax, edi
movzx ecx, byte [eax + ecx + 0x6561]
movzx eax, byte [ecx + edi + 0x66e1]
mov edx, dword [ebx + eax*4 + 0x70]
mov eax, dword [ebx + eax*4 + 0x74]
sub eax, edx
mov dword [ebp - 0x114], eax
movzx eax, byte [ecx + edi + 0x6761]
mov ecx, dword [ebx + eax*4 + 0x2c]
mov eax, dword [ebx + eax*4 + 0x30]
sub eax, ecx
mov dword [ebp - 0x110], eax
mov eax, dword [edi + 0xf18]
mov ebx, eax
imul ebx, edx
add ebx, ecx
xor ecx, ecx
mov dword [ebp - 0x13c], ebx
mov dword [ebp - 0x10c], ecx
cmp dword [ebp - 0x114], ecx
jbe 0x103b4fb3
mov edx, dword [ebp - 0x110]
nop word [eax + eax]
mov ebx, eax
imul ebx, ecx
add ebx, dword [ebp - 0x13c]
test edx, edx
je 0x103b4fa0
mov dword [ebp - 0x11c], edx
nop dword [eax]
mov eax, dword [edi + 0x694c]
mov edx, dword [ebp - 0x128]
mov eax, dword [eax + ebx*4]
lea edi, [eax + eax*2]
mov eax, dword [edx + 0x6948]
imul eax, ebx
lea ecx, [eax + eax*2]
mov eax, dword [edx + 0x6940]
lea eax, [eax + ecx*2]
add edi, edi
je 0x103b4f6b
test esi, esi
je 0x103b4f5b
push edi
test eax, eax
je 0x103b4f50
push eax
push esi
call fcn.10425d60
add esp, 0xc
jmp 0x103b4f6b
push 0
push esi
call fcn.10425c00
add esp, 0xc
call fcn.1043a2d6
mov dword [eax], 0x16
call fcn.1043a1d8
mov ecx, dword [ebp - 0x140]
add esi, edi
mov edi, dword [ebp - 0x128]
mov eax, dword [edi + 0x694c]
mov eax, dword [eax + ebx*4]
inc ebx
add dword [ecx], eax
sub dword [ebp - 0x11c], 1
jne 0x103b4f10
mov eax, dword [edi + 0xf18]
mov ecx, dword [ebp - 0x10c]
mov edx, dword [ebp - 0x110]
inc ecx
mov dword [ebp - 0x10c], ecx
cmp ecx, dword [ebp - 0x114]
jb 0x103b4ef0
mov ecx, dword [ebp - 0x134]
mov al, byte [ebp - 0x106]
mov ebx, dword [ebp - 0x118]
inc al
mov byte [ebp - 0x106], al
cmp al, byte [ecx]
mov ecx, dword [ebp - 0x124]
jb 0x103b4e80
mov al, byte [ebp - 0x108]
mov cl, byte [ebp - 0x107]
inc al
mov ebx, dword [ebp - 0x118]
inc cl
mov byte [ebp - 0x107], cl
mov byte [ebp - 0x108], al
cmp al, byte [edi + 0x655d]
jb 0x103b4e20
mov al, byte [ebp - 0x105]
mov ebx, dword [ebp - 0x118]
inc al
mov byte [ebp - 0x105], al
cmp al, byte [edi + 0x655c]
jb 0x103b4e00
mov esi, dword [ebp - 0x12c]
mov ecx, esi
call fcn.102ac650
mov eax, dword [ebp - 0x138]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1045066c
mov esp, ebp
pop ebp
ret 0xc
push 0x2ac
call fcn.10081e70
mov ebx, eax
test ebx, ebx
je 0x103b51e6
mov ecx, dword [edi + 4]
push 0
push 0
push 0
push 0
push 0
push ebx
call fcn.1033bbe0
lea esi, [edi + 0x6538]
test eax, eax
je 0x103b50a5
test esi, esi
je 0x103b5095
mov ecx, 0xab
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x128]
jmp 0x103b50b5
push 0x2ac
push 0
push eax
call fcn.10425c00
add esp, 0xc
call fcn.1043a2d6
mov dword [eax], 0x16
call fcn.1043a1d8
mov ecx, ebx
call fcn.102ac650
push 0x17c
mov ecx, edi
call fcn.10081e70
mov esi, eax
mov dword [ebp - 0x124], esi
test esi, esi
je 0x103b51e6
mov ecx, dword [edi + 4]
push 0
push 0
push 0
push 0
push 0
push esi
call fcn.1033bbe0
test eax, eax
je 0x103b5122
mov edx, dword [ebp - 0x118]
test edx, edx
je 0x103b5112
mov ecx, 0x5f
mov esi, edx
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x128]
mov esi, dword [ebp - 0x124]
jmp 0x103b5132
push 0x17c
push 0
push eax
call fcn.10425c00
add esp, 0xc
call fcn.1043a2d6
mov dword [eax], 0x16
call fcn.1043a1d8
mov ecx, esi
call fcn.102ac650
mov edx, dword [ebp - 0x134]
mov ecx, dword [edi + 0x24]
push dword [edx + 0x5a8]
mov eax, dword [ecx]
push dword [edi + 0xf18]
push 6
push dword [edi + 0x6948]
push dword [edi + 0x6944]
push esi
push ebx
push dword [ebp - 0x12c]
push dword [edx + 0x5a4]
call dword [eax + 0x58]
mov dword [ebp - 0x138], eax
xor al, al
mov byte [ebp - 0x105], al
cmp byte [edi + 0x655c], al
jbe 0x103b51cd
movzx ecx, al
xor esi, esi
lea ebx, [edi + ecx*4]
xor edx, edx
mov dword [ebx + 0x6550], esi
mov ecx, dword [edi + ecx*4 + 0x6544]
test ecx, ecx
je 0x103b51bd
mov eax, dword [edi + 0x6950]
movzx eax, word [eax + edx*2]
inc edx
add esi, eax
mov dword [ebx + 0x6550], esi
cmp edx, ecx
jb 0x103b51a0
mov al, byte [ebp - 0x105]
inc al
mov byte [ebp - 0x105], al
cmp al, byte [edi + 0x655c]
jb 0x103b5185
mov eax, dword [ebp - 0x138]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1045066c
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [ebp - 4]
mov eax, 0xa
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1045066c
mov esp, ebp
pop ebp
ret 0xc