Function at 0x5dd2a0
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x14
mov eax, dword [esp + 0x18]
push ebx
push ebp
push esi
push edi
push 0x41672c
push eax
mov byte [esp + 0x1b], 0
call fcn.005e8404
mov ecx, dword [esp + 0x34]
push 0x180
push 0x8302
push ecx
mov dword [esp + 0x34], eax
call fcn.005ec51f
mov ebp, eax
push 0x8000
mov dword [esp + 0x34], ebp
call fcn.005e7e75
push 0x8000
mov dword [esp + 0x30], eax
call fcn.005e7e75
mov edx, dword [esp + 0x30]
mov esi, eax
mov al, 4
mov edi, 0x16
mov byte [esi], 0x2d
mov byte [esi + 1], 0x4d
mov byte [esi + 2], 0x49
mov byte [esi + 3], 0x42
mov byte [esi + 4], 0x2d
mov byte [esi + 5], 0xb
mov byte [esi + 6], 0xc
mov byte [esi + 7], 1
mov byte [esi + 8], 0
mov byte [esi + 9], 3
mov byte [esi + 0xa], 1
mov byte [esi + 0xb], al
mov byte [esi + 0xc], 0x4e
mov byte [esi + 0xd], 0x17
mov byte [esi + 0xe], 5
mov byte [esi + 0xf], 1
mov byte [esi + 0x10], al
mov byte [esi + 0x11], 0
add esp, 0x1c
mov ebx, edi
mov dword [esp + 0x18], 0
mov dword [edx], edi
mov dword [esp + 0x2c], 2
mov eax, dword [esp + 0x2c]
add eax, ebx
cmp eax, 0x20000
jae 0x5dd58b
mov cl, byte [esp + 0x13]
mov byte [esp + 0x28], cl
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 4]
dec eax
mov dword [ecx + 4], eax
js 0x5dd38d
mov eax, dword [ecx]
mov dl, byte [eax]
inc eax
mov byte [esp + 0x13], dl
mov dword [ecx], eax
jmp 0x5dd39a
push ecx
call fcn.005e830b
add esp, 4
mov byte [esp + 0x13], al
mov cl, byte [esp + 0x13]
cmp cl, 0x20
jg 0x5dd4d0
movsx eax, cl
sub eax, 9
je 0x5dd3f4
dec eax
jne 0x5dd4c7
test bl, 1
mov byte [esp + 0x13], 0
mov dword [esp + 0x18], 0xffffffff
jne 0x5dd3ce
mov byte [edi + esi], 0
inc edi
inc ebx
cmp ebx, 0x10000
lea eax, [ebx + 1]
jb 0x5dd3db
or al, 1
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x2c]
mov dword [edx + ecx], eax
mov eax, edx
add eax, 2
mov dword [esp + 0x2c], eax
jmp 0x5dd530
mov ecx, dword [esp + 0x18]
mov byte [esp + 0x13], 0x20
mov eax, ecx
or al, 7
sub eax, ecx
test eax, eax
jle 0x5dd4d0
mov dword [esp + 0x28], eax
mov eax, ebx
and eax, 0xffff
cmp eax, 0xffff
jne 0x5dd433
push 0x8000
push esi
push ebp
mov byte [edi + esi], 0
call fcn.005e86bb
add esp, 0xc
xor edi, edi
inc ebx
mov byte [edi + esi], 0x20
inc edi
inc ebx
cmp edi, 0x8000
jne 0x5dd44e
push edi
push esi
push ebp
call fcn.005e86bb
add esp, 0xc
xor edi, edi
mov eax, dword [esp + 0x18]
inc eax
cmp eax, 0x4d
mov dword [esp + 0x18], eax
jle 0x5dd4b6
mov byte [edi + esi], 0
inc edi
inc ebx
test bl, 1
je 0x5dd469
inc edi
inc ebx
cmp ebx, 0x10000
jb 0x5dd483
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x2c]
mov ecx, ebx
or ecx, 1
mov dword [eax + edx], ecx
jmp 0x5dd48e
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x2c]
mov dword [edx + ecx], ebx
mov ecx, dword [esp + 0x2c]
add ecx, 2
cmp edi, 0x8000
mov dword [esp + 0x2c], ecx
jne 0x5dd4ae
push edi
push esi
push ebp
call fcn.005e86bb
add esp, 0xc
xor edi, edi
mov dword [esp + 0x18], 0xffffffff
mov eax, dword [esp + 0x28]
dec eax
mov dword [esp + 0x28], eax
jne 0x5dd40f
jmp 0x5dd4d0
cmp cl, 0xff
je 0x5dd57d
cmp dword [esp + 0x18], 0x4d
jle 0x5dd530
mov byte [edi + esi], 0
inc edi
inc ebx
test bl, 1
je 0x5dd4e4
inc edi
inc ebx
cmp ebx, 0x10000
jb 0x5dd4fd
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x2c]
mov eax, ebx
or al, 1
mov dword [edx + ecx], eax
jmp 0x5dd508
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x2c]
mov dword [ecx + eax], ebx
mov ecx, dword [esp + 0x2c]
add ecx, 2
cmp edi, 0x8000
mov dword [esp + 0x2c], ecx
jne 0x5dd528
push edi
push esi
push ebp
call fcn.005e86bb
add esp, 0xc
xor edi, edi
mov dword [esp + 0x18], 0xffffffff
mov edx, ebx
and edx, 0xffff
cmp edx, 0xffff
jne 0x5dd556
push 0x8000
push esi
push ebp
mov byte [edi + esi], 0
call fcn.005e86bb
add esp, 0xc
xor edi, edi
inc ebx
mov al, byte [esp + 0x13]
mov byte [edi + esi], al
inc edi
inc ebx
cmp edi, 0x8000
jne 0x5dd574
push edi
push esi
push ebp
call fcn.005e86bb
add esp, 0xc
xor edi, edi
inc dword [esp + 0x18]
jmp 0x5dd35a
mov al, byte [esp + 0x28]
test al, al
je 0x5dd58b
mov byte [edi + esi], 0
inc edi
inc ebx
mov ecx, dword [esp + 0x20]
lea ebp, [edi + esi]
push ecx
mov byte [ebp], 0
call fcn.005e82b5
mov eax, dword [esp + 0x30]
add esp, 4
lea ecx, [eax + edi - 2]
cmp ecx, 0x8000
mov dword [esp + 0x28], ecx
jb 0x5dd60a
mov eax, dword [esp + 0x14]
mov edx, 0x8000
sub edx, edi
push edx
push eax
push ebp
call fcn.005e7f80
mov ebp, dword [esp + 0x28]
push 0x8000
push esi
push ebp
call fcn.005e86bb
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x2c]
sub edx, edi
lea eax, [ecx + edi - 0x8002]
add edx, 0x8000
push eax
push edx
push esi
mov dword [esp + 0x4c], eax
call fcn.005e7f80
mov eax, dword [esp + 0x4c]
push eax
push esi
push ebp
call fcn.005e86bb
add esp, 0x30
jmp 0x5dd630
mov ecx, dword [esp + 0x14]
add eax, 0xfffffffe
push eax
push ecx
push ebp
call fcn.005e7f80
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x28]
push edx
push esi
push eax
call fcn.005e86bb
mov ebp, dword [esp + 0x34]
add esp, 0x18
push 0
push 0
push ebp
call fcn.005ea1ab
push 0x1e
push esi
push ebp
call fcn.005e84c5
add esp, 0x18
cmp ebx, 0x10000
jb 0x5dd665
mov edx, dword [esp + 0x2c]
mov ecx, ebx
or ecx, 1
lea eax, [edx + ebx - 2]
mov dword [esi + 0x12], ecx
or al, 1
mov dword [esi + 0x14], eax
jmp 0x5dd673
mov ecx, dword [esp + 0x2c]
mov dword [esi + 0x12], ebx
lea edx, [ecx + ebx - 2]
mov dword [esi + 0x14], edx
push 0
push 0
push ebp
call fcn.005ea1ab
push 0x1e
push esi
push ebp
call fcn.005e86bb
push esi
call fcn.005e7d5e
mov eax, dword [esp + 0x30]
push eax
call fcn.005e7d5e
push ebp
call fcn.005ea245
add esp, 0x24
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret