Function at 0x52aed0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44c
mov eax, dword [0x58605c]
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.0045c8b0
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 [0x55e2d0]
add esp, 0x14
mov dword [ebp - 0xc], 0
push 0x574904
lea eax, [ebp - 0x410]
push eax
lea ecx, [ebp - 0xc]
push ecx
call fcn.004132d4
add esp, 0xc
cmp dword [ebp - 0xc], 0
je 0x52b38b
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.0041dbff
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.0041dbff
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.0041dbff
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 0x52b109
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 0x52b089
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 0x52b0a4
mov edx, dword [ebp - 0x438]
add edx, 1
mov dword [ebp - 0x438], edx
mov eax, dword [ebp - 0x438]
cmp eax, dword [ebp - 0x424]
jge 0x52b104
cmp dword [ebp - 0x418], 0xc8
jl 0x52b0ca
cmp dword [ebp - 0x418], 0x12c
jl 0x52b0f3
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 0x52b095
jmp 0x52b01c
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.0041dbff
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.0041dbff
add esp, 0x10
mov dword [ebp - 0x428], 0
mov dword [ebp - 0x418], 0
mov eax, dword [ebp - 0x428]
cmp eax, dword [ebp - 0x430]
jge 0x52b239
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 0x52b1df
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 0x52b1fa
mov eax, dword [ebp - 0x440]
add eax, 1
mov dword [ebp - 0x440], eax
mov ecx, dword [ebp - 0x440]
cmp ecx, dword [ebp - 0x424]
jge 0x52b234
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 0x52b1eb
jmp 0x52b15f
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.0041dbff
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.0041dbff
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 0x52b37f
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 0x52b325
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 0x52b340
mov edx, dword [ebp - 0x448]
add edx, 1
mov dword [ebp - 0x448], edx
mov eax, dword [ebp - 0x448]
cmp eax, dword [ebp - 0x424]
jge 0x52b37a
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 0x52b331
jmp 0x52b2b8
mov eax, dword [ebp - 0xc]
push eax
call fcn.004133fa
add esp, 4
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00413201
mov esp, ebp
pop ebp
ret 4