Function at 0x526670
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44c
mov eax, dword [0x58005c]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x44c], ecx
mov ecx, dword [ebp - 0x44c]
mov eax, dword [ebp + 8]
cdq
idiv dword [ecx + 0x1b8]
mov dword [ebp - 4], eax
call fcn.00459650
mov dword [ebp - 8], eax
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp - 4]
add eax, 1
push eax
mov ecx, dword [ebp - 8]
push ecx
push str._schart_d_slot_d.dat
lea edx, [ebp - 0x410]
push edx
call dword [0x5582d0]
add esp, 0x14
mov dword [ebp - 0xc], 0
push 0x56e648
lea eax, [ebp - 0x410]
push eax
lea ecx, [ebp - 0xc]
push ecx
call fcn.00413174
add esp, 0xc
cmp dword [ebp - 0xc], 0
je 0x526b2b
mov edx, dword [ebp - 0x44c]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x41c], eax
mov ecx, dword [ebp - 0xc]
push ecx
push 1
push 0x1bb0
mov edx, dword [ebp - 0x41c]
push edx
call fcn.0041da81
add esp, 0x10
mov eax, dword [ebp - 0x41c]
push eax
mov ecx, dword [ebp - 0x44c]
mov edx, dword [ecx + 0x10]
mov eax, dword [ebp - 0x44c]
mov ecx, dword [eax + 0x10]
mov edx, dword [edx]
mov eax, dword [edx + 0x13c]
call eax
mov ecx, dword [ebp - 0x44c]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x420], edx
mov dword [ebp - 0x430], 0
mov eax, dword [ebp - 0xc]
push eax
push 1
push 4
lea ecx, [ebp - 0x430]
push ecx
call fcn.0041da81
add esp, 0x10
mov edx, dword [ebp - 0xc]
push edx
mov eax, dword [ebp - 0x430]
push eax
push 1
mov ecx, dword [ebp - 0x420]
push ecx
call fcn.0041da81
add esp, 0x10
mov eax, dword [ebp - 0x430]
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [ebp - 0x430], eax
mov dword [ebp - 0x428], 0
mov dword [ebp - 0x424], 0
mov dword [ebp - 0x418], 0
mov edx, dword [ebp - 0x428]
cmp edx, dword [ebp - 0x430]
jge 0x5268a9
mov dword [ebp - 0x424], 1
mov eax, dword [ebp - 0x428]
mov ecx, dword [ebp - 0x420]
mov edx, dword [ecx + eax*4]
mov dword [ebp - 0x434], edx
mov eax, dword [ebp - 0x428]
add eax, 1
mov dword [ebp - 0x428], eax
cmp dword [ebp - 0x434], 0
jne 0x526829
mov ecx, dword [ebp - 0x428]
mov edx, dword [ebp - 0x420]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0x424], eax
mov ecx, dword [ebp - 0x428]
add ecx, 1
mov dword [ebp - 0x428], ecx
mov dword [ebp - 0x438], 0
jmp 0x526844
mov edx, dword [ebp - 0x438]
add edx, 1
mov dword [ebp - 0x438], edx
mov eax, dword [ebp - 0x438]
cmp eax, dword [ebp - 0x424]
jge 0x5268a4
cmp dword [ebp - 0x418], 0xc8
jl 0x52686a
cmp dword [ebp - 0x418], 0x12c
jl 0x526893
mov ecx, dword [ebp - 0x434]
push ecx
mov edx, dword [ebp - 0x418]
push edx
mov eax, dword [ebp - 0x44c]
mov ecx, dword [eax + 0x10]
mov edx, dword [ebp - 0x44c]
mov eax, dword [edx + 0x10]
mov edx, dword [ecx]
mov ecx, eax
mov eax, dword [edx + 0x1c]
call eax
mov ecx, dword [ebp - 0x418]
add ecx, 1
mov dword [ebp - 0x418], ecx
jmp 0x526835
jmp 0x5267bc
mov edx, dword [ebp - 0x44c]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x42c], eax
mov ecx, dword [ebp - 0xc]
push ecx
push 1
push 4
lea edx, [ebp - 0x430]
push edx
call fcn.0041da81
add esp, 0x10
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [ebp - 0x430]
push ecx
push 1
mov edx, dword [ebp - 0x42c]
push edx
call fcn.0041da81
add esp, 0x10
mov dword [ebp - 0x428], 0
mov dword [ebp - 0x418], 0
mov eax, dword [ebp - 0x428]
cmp eax, dword [ebp - 0x430]
jge 0x5269d9
mov dword [ebp - 0x424], 1
mov ecx, dword [ebp - 0x42c]
add ecx, dword [ebp - 0x428]
mov dl, byte [ecx]
mov byte [ebp - 0x439], dl
mov eax, dword [ebp - 0x428]
add eax, 1
mov dword [ebp - 0x428], eax
movsx ecx, byte [ebp - 0x439]
test ecx, ecx
jne 0x52697f
mov edx, dword [ebp - 0x42c]
add edx, dword [ebp - 0x428]
movsx eax, byte [edx]
mov dword [ebp - 0x424], eax
mov ecx, dword [ebp - 0x424]
and ecx, 0xff
mov dword [ebp - 0x424], ecx
mov edx, dword [ebp - 0x428]
add edx, 1
mov dword [ebp - 0x428], edx
mov dword [ebp - 0x440], 0
jmp 0x52699a
mov eax, dword [ebp - 0x440]
add eax, 1
mov dword [ebp - 0x440], eax
mov ecx, dword [ebp - 0x440]
cmp ecx, dword [ebp - 0x424]
jge 0x5269d4
mov edx, dword [ebp - 0x44c]
mov eax, dword [edx + 0x1d4]
mov ecx, dword [ebp - 0x418]
mov dl, byte [ebp - 0x439]
mov byte [eax + ecx], dl
mov eax, dword [ebp - 0x418]
add eax, 1
mov dword [ebp - 0x418], eax
jmp 0x52698b
jmp 0x5268ff
mov dword [ebp - 0x424], 0
mov dword [ebp - 0x430], 0
mov ecx, dword [ebp - 0x44c]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x414], edx
mov eax, dword [ebp - 0xc]
push eax
push 1
push 4
lea ecx, [ebp - 0x430]
push ecx
call fcn.0041da81
add esp, 0x10
mov edx, dword [ebp - 0xc]
push edx
mov eax, dword [ebp - 0x430]
push eax
push 1
mov ecx, dword [ebp - 0x414]
push ecx
call fcn.0041da81
add esp, 0x10
mov eax, dword [ebp - 0x430]
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [ebp - 0x430], eax
mov dword [ebp - 0x428], 0
mov dword [ebp - 0x418], 0
mov edx, dword [ebp - 0x428]
cmp edx, dword [ebp - 0x430]
jge 0x526b1f
mov dword [ebp - 0x424], 1
mov eax, dword [ebp - 0x428]
mov ecx, dword [ebp - 0x414]
mov edx, dword [ecx + eax*4]
mov dword [ebp - 0x444], edx
mov eax, dword [ebp - 0x428]
add eax, 1
mov dword [ebp - 0x428], eax
cmp dword [ebp - 0x444], 0xffffffff
jne 0x526ac5
mov ecx, dword [ebp - 0x428]
mov edx, dword [ebp - 0x414]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0x424], eax
mov ecx, dword [ebp - 0x428]
add ecx, 1
mov dword [ebp - 0x428], ecx
mov dword [ebp - 0x448], 0
jmp 0x526ae0
mov edx, dword [ebp - 0x448]
add edx, 1
mov dword [ebp - 0x448], edx
mov eax, dword [ebp - 0x448]
cmp eax, dword [ebp - 0x424]
jge 0x526b1a
mov ecx, dword [ebp - 0x44c]
mov edx, dword [ecx + 0x1d8]
mov eax, dword [ebp - 0x418]
mov ecx, dword [ebp - 0x444]
mov dword [edx + eax*4], ecx
mov edx, dword [ebp - 0x418]
add edx, 1
mov dword [ebp - 0x418], edx
jmp 0x526ad1
jmp 0x526a58
mov eax, dword [ebp - 0xc]
push eax
call fcn.0041329a
add esp, 4
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004130a1
mov esp, ebp
pop ebp
ret 4