Function at 0x596250
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x114
mov eax, dword [0x61a654]
xor eax, esp
mov dword [esp + 0x110], eax
push ebx
push esi
push edi
mov edi, dword [esp + 0x124]
push 0x103
xor ebx, ebx
lea eax, [esp + 0x1d]
push ebx
push eax
mov esi, ecx
mov byte [esp + 0x24], 0
call fcn.005a06a0
push edi
lea ecx, [esp + 0x28]
push str.anm_s.anm
push ecx
call fcn.005a1299
add esp, 0x18
mov eax, 0x5f509c
lea edi, [esp + 0x18]
mov dword [esi + 0x2c], ebx
call fcn.00595d10
mov edi, eax
cmp edi, ebx
je 0x596335
mov dword [esp + 0x14], ebx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebx
call fcn.00595c70
test eax, eax
je 0x5962e5
mov edx, dword [0x6589c0]
mov ecx, dword [edx]
mov eax, dword [ecx]
mov eax, dword [eax + 0x14]
push edi
push 4
push 1
lea edx, [esp + 0x20]
push edx
call eax
jmp 0x5962fa
mov ecx, dword [edi + 8]
push ecx
push 4
lea edx, [esp + 0x1c]
push 1
push edx
call fcn.005a2456
add esp, 0x10
cmp dword [esp + 0x14], 0x214d4e41
je 0x59633c
call fcn.00595c70
test eax, eax
je 0x596323
mov eax, dword [0x6589c0]
mov ecx, dword [eax]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push edi
call eax
xor al, al
jmp 0x5964a4
mov ecx, dword [edi + 8]
push ecx
call fcn.005a1e20
push edi
call fcn.0059e6bb
add esp, 8
xor al, al
jmp 0x5964a4
call fcn.00595c70
test eax, eax
je 0x596360
mov edx, dword [0x6589c0]
mov ecx, dword [edx]
mov eax, dword [ecx]
mov eax, dword [eax + 0x14]
push edi
push 4
push 1
lea edx, [esp + 0x18]
push edx
call eax
jmp 0x596375
mov ecx, dword [edi + 8]
push ecx
push 4
lea edx, [esp + 0x14]
push 1
push edx
call fcn.005a2456
add esp, 0x10
call fcn.00595c70
test eax, eax
je 0x596398
mov eax, dword [0x6589c0]
mov ecx, dword [eax]
mov edx, dword [ecx]
mov edx, dword [edx + 0x14]
push edi
push 4
push 1
lea eax, [esp + 0x1c]
push eax
call edx
jmp 0x5963ad
mov eax, dword [edi + 8]
push eax
push 4
lea ecx, [esp + 0x18]
push 1
push ecx
call fcn.005a2456
add esp, 0x10
mov edx, dword [esi]
push ebp
push edx
call fcn.0059e6bb
mov eax, dword [esp + 0x18]
push eax
mov dword [esi], ebx
call fcn.0059d93d
mov ebx, dword [esp + 0x1c]
mov ebp, eax
add esp, 8
mov dword [esi], ebp
call fcn.00595c70
test eax, eax
je 0x5963ec
mov ecx, dword [0x6589c0]
mov ecx, dword [ecx]
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
push edi
push ebx
push 1
push ebp
call eax
jmp 0x5963fc
mov ecx, dword [edi + 8]
push ecx
push ebx
push 1
push ebp
call fcn.005a2456
add esp, 0x10
call fcn.00595c70
pop ebp
test eax, eax
je 0x596418
mov edx, dword [0x6589c0]
mov ecx, dword [edx]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
push edi
call edx
jmp 0x59642a
mov eax, dword [edi + 8]
push eax
call fcn.005a1e20
push edi
call fcn.0059e6bb
add esp, 8
mov eax, dword [esi]
mov ecx, eax
sub ecx, dword [esp + 0xc]
xor edi, edi
add dword [eax + 4], ecx
mov eax, dword [esi]
mov ecx, dword [eax + 4]
xor edx, edx
cmp dword [eax], edi
jle 0x59647b
lea eax, [ecx + 0x88]
jmp 0x596450
mov dword [eax - 0x48], edi
mov ecx, dword [esi]
sub ecx, dword [esp + 0xc]
add dword [eax], ecx
mov ebx, dword [esi]
sub ebx, dword [esp + 0xc]
mov ecx, dword [eax]
add dword [ecx + 0x14], ebx
cmp dword [ecx + 0x10], 1
jg 0x59646f
mov dword [ecx + 0xc], edi
mov ecx, dword [esi]
inc edx
add eax, 0x8c
cmp edx, dword [ecx]
jl 0x596450
mov ecx, dword [esi + 0x30]
push edi
push 2
push 1
call fcn.0056af50
mov ecx, eax
call fcn.00568530
mov edx, dword [esi + 4]
push edi
push edx
mov ecx, esi
mov dword [esi + 0x3c], 0xffffffff
call fcn.00595f10
mov al, 1
mov ecx, dword [esp + 0x11c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0059e619
add esp, 0x114
ret 4