Function at 0x4ac480
Capabilities:
Read file on windows

Disassembly:
push 0xffffffffffffffff
push 0x4efc08
mov eax, dword fs:[0]
push eax
sub esp, 0xe28
mov eax, dword [0x52b360]
xor eax, esp
mov dword [esp + 0xe20], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x52b360]
xor eax, esp
push eax
lea eax, [esp + 0xe3c]
mov dword fs:[0], eax
mov ebp, dword [esp + 0xe4c]
lea ecx, [esp + 0xe18]
mov dword [esp + 0x24], ebp
call fcn.004abfc0
push 0xc
xor edi, edi
push str.UserData.wp
lea eax, [esp + 0xe20]
mov dword [esp + 0xe4c], edi
call fcn.004088a0
mov eax, dword [esp + 0xe1c]
mov ebx, 8
mov dword [esp + 0x14], edi
cmp dword [esp + 0xe30], ebx
jae 0x4ac50e
lea eax, [esp + 0xe1c]
push 0x4fea44
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.004c97c6
mov esi, dword [esp + 0x20]
add esp, 0xc
cmp esi, edi
jne 0x4ac549
cmp dword [esp + 0xe30], ebx
jb 0x4ac542
mov ecx, dword [esp + 0xe1c]
push ecx
call fcn.004c8f17
add esp, 4
xor al, al
jmp 0x4ac970
push 0x140
lea edx, [esp + 0x58]
push edi
push edx
call fcn.004d1df0
add esp, 0xc
push esi
push 1
lea eax, [esp + 0x30]
push 4
push eax
mov dword [esp + 0x38], edi
call fcn.004c9ab9
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x38]
push ecx
push edx
lea eax, [esp + 0x6c]
push 0x10
push eax
call fcn.004c9ab9
xor eax, eax
add esp, 0x20
cmp dword [esp + 0x28], edi
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x30], edi
jle 0x4ac664
add ebp, 4
lea ebx, [esp + 0x64]
mov eax, dword [ebx - 8]
mov ecx, dword [ebx - 0x10]
mov edx, dword [ebx - 0xc]
mov dword [esp + 0x3c], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x34], ecx
mov ecx, dword [ebx - 4]
mov dword [esp + 0x38], edx
mov edx, dword [ebx]
mov dword [esp + 0x48], eax
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x40], ecx
mov ecx, dword [ebx + 8]
mov dword [esp + 0x44], edx
mov edx, dword [ebx + 0xc]
inc eax
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], edx
cmp dword [ebp + 0x14], eax
ja 0x4ac605
push ebp
call fcn.004acd30
mov esi, dword [ebp + 0x18]
add esi, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x14]
cmp eax, esi
ja 0x4ac614
sub esi, eax
mov ecx, dword [ebp + 0x10]
cmp dword [ecx + esi*4], edi
jne 0x4ac62c
push 0x20
call fcn.004c8f3d
mov edx, dword [ebp + 0x10]
add esp, 4
mov dword [edx + esi*4], eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + esi*4]
cmp eax, edi
je 0x4ac645
mov ecx, 8
lea esi, [esp + 0x34]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
xor edi, edi
mov eax, dword [esp + 0x30]
inc dword [ebp + 0x1c]
add eax, 2
add ebx, 0x20
cmp eax, dword [esp + 0x28]
mov dword [esp + 0x30], eax
jl 0x4ac5bf
mov ebp, dword [esp + 0x24]
push 0x31c
lea ecx, [esp + 0x19c]
push edi
push ecx
mov dword [esp + 0x1a0], edi
call fcn.004d1df0
mov edx, dword [esp + 0x20]
add esp, 0xc
push edx
push 1
lea eax, [esp + 0x28]
push 4
push eax
mov dword [esp + 0x30], edi
call fcn.004c9ab9
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
push ecx
push edx
lea eax, [esp + 0x1ac]
push 4
push eax
call fcn.004c9ab9
add esp, 0x20
xor ebx, ebx
cmp dword [esp + 0x20], edi
jle 0x4ac6da
lea esi, [ebp + 0x24]
lea ebp, [esp + 0x194]
push ebp
call fcn.004accc0
inc ebx
add ebp, 4
cmp ebx, dword [esp + 0x20]
jl 0x4ac6c6
mov ebp, dword [esp + 0x24]
push 0x31c
lea ecx, [esp + 0x4bc]
push edi
push ecx
mov dword [esp + 0x4c0], edi
call fcn.004d1df0
mov edx, dword [esp + 0x20]
add esp, 0xc
push edx
push 1
lea eax, [esp + 0x20]
push 4
push eax
mov dword [esp + 0x28], edi
call fcn.004c9ab9
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
push ecx
push edx
lea eax, [esp + 0x4cc]
push 4
push eax
call fcn.004c9ab9
add esp, 0x20
xor ebx, ebx
cmp dword [esp + 0x18], edi
jle 0x4ac7aa
lea esi, [ebp + 0x44]
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x18]
add ecx, eax
test cl, 3
jne 0x4ac753
add eax, 4
shr eax, 2
cmp dword [esi + 0x14], eax
ja 0x4ac753
push esi
call fcn.004acea0
mov ebp, dword [esi + 0x1c]
add ebp, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov edi, ebp
shr edi, 2
cmp eax, edi
ja 0x4ac767
sub edi, eax
mov edx, dword [esi + 0x10]
cmp dword [edx + edi*4], 0
jne 0x4ac780
push 0x10
call fcn.004c8f3d
mov ecx, dword [esi + 0x10]
add esp, 4
mov dword [ecx + edi*4], eax
mov edx, dword [esi + 0x10]
mov eax, dword [edx + edi*4]
and ebp, 3
lea ebp, [eax + ebp*4]
test ebp, ebp
je 0x4ac79a
mov ecx, dword [esp + ebx*4 + 0x4b4]
mov dword [ebp], ecx
inc dword [esi + 0x1c]
inc ebx
cmp ebx, dword [esp + 0x18]
jl 0x4ac735
mov ebp, dword [esp + 0x24]
xor edi, edi
push 0x31c
lea edx, [esp + 0x7dc]
push edi
push edx
mov dword [esp + 0x7e0], edi
call fcn.004d1df0
mov eax, dword [esp + 0x20]
add esp, 0xc
push eax
push 1
lea ecx, [esp + 0x24]
push 4
push ecx
mov dword [esp + 0x2c], edi
call fcn.004c9ab9
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
push edx
push eax
lea ecx, [esp + 0x7ec]
push 4
push ecx
call fcn.004c9ab9
add esp, 0x20
xor ebx, ebx
cmp dword [esp + 0x1c], edi
jle 0x4ac87a
lea esi, [ebp + 0x64]
mov eax, dword [esi + 0x1c]
mov edx, dword [esi + 0x18]
add edx, eax
test dl, 3
jne 0x4ac823
add eax, 4
shr eax, 2
cmp dword [esi + 0x14], eax
ja 0x4ac823
push esi
call fcn.004acea0
mov ebp, dword [esi + 0x18]
add ebp, dword [esi + 0x1c]
mov eax, dword [esi + 0x14]
mov edi, ebp
shr edi, 2
cmp eax, edi
ja 0x4ac837
sub edi, eax
mov eax, dword [esi + 0x10]
cmp dword [eax + edi*4], 0
jne 0x4ac850
push 0x10
call fcn.004c8f3d
mov ecx, dword [esi + 0x10]
add esp, 4
mov dword [ecx + edi*4], eax
mov edx, dword [esi + 0x10]
mov eax, dword [edx + edi*4]
and ebp, 3
lea ebp, [eax + ebp*4]
test ebp, ebp
je 0x4ac86a
mov ecx, dword [esp + ebx*4 + 0x7d4]
mov dword [ebp], ecx
inc dword [esi + 0x1c]
inc ebx
cmp ebx, dword [esp + 0x1c]
jl 0x4ac805
mov ebp, dword [esp + 0x24]
xor edi, edi
push 0x31c
lea edx, [esp + 0xafc]
push edi
push edx
mov dword [esp + 0xb00], edi
call fcn.004d1df0
mov eax, dword [esp + 0x20]
add esp, 0xc
push eax
push 1
lea ecx, [esp + 0x34]
push 4
push ecx
mov dword [esp + 0x3c], edi
call fcn.004c9ab9
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x3c]
push edx
push eax
lea ecx, [esp + 0xb0c]
push 4
push ecx
call fcn.004c9ab9
add esp, 0x20
xor ebx, ebx
cmp dword [esp + 0x2c], edi
jle 0x4ac947
lea esi, [ebp + 0x84]
mov eax, dword [esi + 0x1c]
mov edx, dword [esi + 0x18]
add edx, eax
test dl, 3
jne 0x4ac8f6
add eax, 4
shr eax, 2
cmp dword [esi + 0x14], eax
ja 0x4ac8f6
push esi
call fcn.004acea0
mov ebp, dword [esi + 0x18]
add ebp, dword [esi + 0x1c]
mov eax, dword [esi + 0x14]
mov edi, ebp
shr edi, 2
cmp eax, edi
ja 0x4ac90a
sub edi, eax
mov eax, dword [esi + 0x10]
cmp dword [eax + edi*4], 0
jne 0x4ac923
push 0x10
call fcn.004c8f3d
mov ecx, dword [esi + 0x10]
add esp, 4
mov dword [ecx + edi*4], eax
mov edx, dword [esi + 0x10]
mov eax, dword [edx + edi*4]
and ebp, 3
lea ebp, [eax + ebp*4]
test ebp, ebp
je 0x4ac93d
mov ecx, dword [esp + ebx*4 + 0xaf4]
mov dword [ebp], ecx
inc dword [esi + 0x1c]
inc ebx
cmp ebx, dword [esp + 0x2c]
jl 0x4ac8d8
mov edx, dword [esp + 0x14]
push edx
call fcn.004c9c66
add esp, 4
cmp dword [esp + 0xe30], 8
jb 0x4ac96e
mov eax, dword [esp + 0xe1c]
push eax
call fcn.004c8f17
add esp, 4
mov al, 1
mov ecx, dword [esp + 0xe3c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xe20]
xor ecx, esp
call fcn.004c8f08
add esp, 0xe34
ret 4