Function at 0x586ea0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x61fdaf
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1c
mov al, byte [ebp - 0xd]
push esi
mov esi, ecx
push 0
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], 0
mov byte [ebp - 0x28], al
call fcn.00404140
xor ecx, ecx
mov cl, byte [0x6692c8]
mov dword [ebp - 4], 1
push ecx
push 1
lea ecx, [ebp - 0x28]
call fcn.0050d890
push 0xffffffffffffffe3
push 1
lea ecx, [ebp - 0x28]
call fcn.004b0250
push 0xffffffffffffffad
push 1
lea ecx, [ebp - 0x28]
call fcn.004b0250
push 0xffffffffffffffa9
push 1
lea ecx, [ebp - 0x28]
call fcn.004b0250
push 0xffffffffffffffac
push 1
lea ecx, [ebp - 0x28]
call fcn.004b0250
push 0xffffffffffffffb2
push 1
lea ecx, [ebp - 0x28]
call fcn.004b0250
push 0xffffffffffffffae
push 1
lea ecx, [ebp - 0x28]
call fcn.004b0250
push 0xffffffffffffffab
push 1
lea ecx, [ebp - 0x28]
call fcn.004b0250
push 0xfffffffffffffffc
push 1
lea ecx, [ebp - 0x28]
call fcn.004b0250
push 0xffffffffffffffd6
push 1
lea ecx, [ebp - 0x28]
call fcn.004b0250
push 0xffffffffffffffbe
push 1
lea ecx, [ebp - 0x28]
call fcn.004b0250
push 0xffffffffffffffa2
push 1
lea ecx, [ebp - 0x28]
call fcn.004b0250
push 0xffffffffffffffac
push 1
lea ecx, [ebp - 0x28]
call fcn.004b0250
push 0xffffffffffffffaa
push 1
lea ecx, [ebp - 0x28]
call fcn.004b0250
push 0xffffffffffffff82
push 1
lea ecx, [ebp - 0x28]
call fcn.004b0250
push 0xffffffffffffffa7
push 1
lea ecx, [ebp - 0x28]
call fcn.004b0250
push 0xffffffffffffffbc
push 1
lea ecx, [ebp - 0x28]
call fcn.004b0250
push 0xfffffffffffffff8
push 1
lea ecx, [ebp - 0x28]
call fcn.004b0250
push 0xffffffffffffffb6
push 1
lea ecx, [ebp - 0x28]
call fcn.004b0250
push 0xffffffffffffffba
push 1
lea ecx, [ebp - 0x28]
call fcn.004b0250
push 0xffffffffffffffba
push 1
lea ecx, [ebp - 0x28]
call fcn.004b0250
push 0xfffffffffffffff2
push 1
lea ecx, [ebp - 0x28]
call fcn.004b0250
push 0xffffffffffffffa4
push 1
lea ecx, [ebp - 0x28]
call fcn.004b0250
push 0xffffffffffffffbd
push 1
lea ecx, [ebp - 0x28]
call fcn.004b0250
push 0xffffffffffffffb0
push 1
lea ecx, [ebp - 0x28]
call fcn.004b0250
push 0xffffffffffffffbd
push 1
lea ecx, [ebp - 0x28]
call fcn.004b0250
cmp dword [ebp - 0x20], 1
jb 0x586d6b
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x586d6b
lea ecx, [ebp - 0x28]
call fcn.0046e050
mov edx, dword [ebp - 0x24]
lea eax, [edx + 1]
jmp 0x586d70
mov eax, 0x6264b0
xor byte [eax], 0xd9
cmp dword [ebp - 0x20], 2
jb 0x586d90
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x586d90
lea ecx, [ebp - 0x28]
call fcn.0046e050
mov eax, dword [ebp - 0x24]
add eax, 2
jmp 0x586d95
mov eax, 0x6264b0
xor byte [eax], 0xc5
cmp dword [ebp - 0x20], 3
jb 0x586db5
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x586db5
lea ecx, [ebp - 0x28]
call fcn.0046e050
mov ecx, dword [ebp - 0x24]
lea eax, [ecx + 3]
jmp 0x586dba
mov eax, 0x6264b0
xor byte [eax], 0xcc
cmp dword [ebp - 0x20], 4
jb 0x586dda
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x586dda
lea ecx, [ebp - 0x28]
call fcn.0046e050
mov edx, dword [ebp - 0x24]
lea eax, [edx + 4]
jmp 0x586ddf
mov eax, 0x6264b0
xor byte [eax], 0xde
cmp dword [ebp - 0x20], 5
jb 0x586dff
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x586dff
lea ecx, [ebp - 0x28]
call fcn.0046e050
mov eax, dword [ebp - 0x24]
add eax, 5
jmp 0x586e04
mov eax, 0x6264b0
xor byte [eax], 0xdd
cmp dword [ebp - 0x20], 6
jb 0x586e24
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x586e24
lea ecx, [ebp - 0x28]
call fcn.0046e050
mov ecx, dword [ebp - 0x24]
lea eax, [ecx + 6]
jmp 0x586e29
mov eax, 0x6264b0
xor byte [eax], 0xcb
cmp dword [ebp - 0x20], 7
jb 0x586e49
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x586e49
lea ecx, [ebp - 0x28]
call fcn.0046e050
mov edx, dword [ebp - 0x24]
lea eax, [edx + 7]
jmp 0x586e4e
mov eax, 0x6264b0
xor byte [eax], 0xd8
cmp dword [ebp - 0x20], 8
jb 0x586e6e
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x586e6e
lea ecx, [ebp - 0x28]
call fcn.0046e050
mov eax, dword [ebp - 0x24]
add eax, 8
jmp 0x586e73
mov eax, 0x6264b0
xor byte [eax], 0xcf
cmp dword [ebp - 0x20], 9
jb 0x586e93
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x586e93
lea ecx, [ebp - 0x28]
call fcn.0046e050
mov ecx, dword [ebp - 0x24]
lea eax, [ecx + 9]
jmp 0x586e98
mov eax, 0x6264b0
xor byte [eax], 0x8a
cmp dword [ebp - 0x20], 0xa
jb 0x586eb8
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x586eb8
lea ecx, [ebp - 0x28]
call fcn.0046e050
mov edx, dword [ebp - 0x24]
lea eax, [edx + 0xa]
jmp 0x586ebd
mov eax, 0x6264b0
xor byte [eax], 0xda
cmp dword [ebp - 0x20], 0xb
jb 0x586edd
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x586edd
lea ecx, [ebp - 0x28]
call fcn.0046e050
mov eax, dword [ebp - 0x24]
add eax, 0xb
jmp 0x586ee2
mov eax, 0x6264b0
xor byte [eax], 0xc3
cmp dword [ebp - 0x20], 0xc
jb 0x586f02
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x586f02
lea ecx, [ebp - 0x28]
call fcn.0046e050
mov ecx, dword [ebp - 0x24]
lea eax, [ecx + 0xc]
jmp 0x586f07
mov eax, 0x6264b0
xor byte [eax], 0xd8
cmp dword [ebp - 0x20], 0xd
jb 0x586f27
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x586f27
lea ecx, [ebp - 0x28]
call fcn.0046e050
mov edx, dword [ebp - 0x24]
lea eax, [edx + 0xd]
jmp 0x586f2c
mov eax, 0x6264b0
xor byte [eax], 0xcb
cmp dword [ebp - 0x20], 0xe
jb 0x586f4c
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x586f4c
lea ecx, [ebp - 0x28]
call fcn.0046e050
mov eax, dword [ebp - 0x24]
add eax, 0xe
jmp 0x586f51
mov eax, 0x6264b0
xor byte [eax], 0xde
cmp dword [ebp - 0x20], 0xf
jb 0x586f71
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x586f71
lea ecx, [ebp - 0x28]
call fcn.0046e050
mov ecx, dword [ebp - 0x24]
lea eax, [ecx + 0xf]
jmp 0x586f76
mov eax, 0x6264b0
xor byte [eax], 0xcf
cmp dword [ebp - 0x20], 0x10
jb 0x586f96
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x586f96
lea ecx, [ebp - 0x28]
call fcn.0046e050
mov edx, dword [ebp - 0x24]
lea eax, [edx + 0x10]
jmp 0x586f9b
mov eax, 0x6264b0
xor byte [eax], 0xd9
cmp dword [ebp - 0x20], 0x11
jb 0x586fbb
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x586fbb
lea ecx, [ebp - 0x28]
call fcn.0046e050
mov eax, dword [ebp - 0x24]
add eax, 0x11
jmp 0x586fc0
mov eax, 0x6264b0
xor byte [eax], 0x8a
push 0x12
lea ecx, [ebp - 0x28]
call fcn.0050d950
xor byte [eax], 0xd9
push 0x13
lea ecx, [ebp - 0x28]
call fcn.0050d950
xor byte [eax], 0xdf
push 0x14
lea ecx, [ebp - 0x28]
call fcn.0050d950
xor byte [eax], 0xc9
push 0x15
lea ecx, [ebp - 0x28]
call fcn.0050d950
xor byte [eax], 0xc1
push 0x16
lea ecx, [ebp - 0x28]
call fcn.0050d950
xor byte [eax], 0x8a
push 0x17
lea ecx, [ebp - 0x28]
call fcn.0050d950
xor byte [eax], 0xcb
push 0x18
lea ecx, [ebp - 0x28]
call fcn.0050d950
xor byte [eax], 0xd9
push 0x19
lea ecx, [ebp - 0x28]
call fcn.0050d950
xor byte [eax], 0xd9
lea ecx, [ebp - 0x28]
push ecx
mov ecx, esi
call fcn.0057ec10
mov dword [ebp - 0x14], 1
push 1
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
call fcn.00404140
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop esi
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret