Function at 0x44dc00
Capabilities:
Encode data using xor
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4fa72d
mov eax, dword fs:[0]
push eax
sub esp, 0x3c
mov eax, dword [0x54b07c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ecx, dword [0x195ea8c]
lea eax, [ecx - 0x8000000]
cmp eax, 0xffff
ja 0x44de5f
cmp dword [0xf5c8b0], 1
je 0x44de26
lea ecx, [ebp - 0x40]
call fcn.0040c730
push ecx
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0
push eax
lea ecx, [ebp - 0x40]
call fcn.00404420
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
jb 0x44dc77
mov eax, dword [ebp - 0x28]
push 0x537684
push eax
call fcn.004ce8d6
mov ecx, dword [ebp - 0x14]
add esp, 8
mov esi, eax
cmp ecx, 0x10
jb 0x44dcbb
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44dcb1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44dfdf
push ecx
push edx
call fcn.0049dbeb
add esp, 8
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
test esi, esi
je 0x44dcee
push esi
push 0x8000
push 1
push 0xf548b0
call fcn.004cefce
push esi
call fcn.004cea42
add esp, 0x14
jmp 0x44dd0a
xor eax, eax
cmp eax, 0x8000
jae 0x44dfee
mov byte [eax + 0xf548b0], 0
inc eax
cmp eax, 0x8000
jl 0x44dcf5
mov esi, dword [0x195ea90]
mov edx, 0
and esi, 0xffffff
add esi, 1
je 0x44dd4f
mov edi, dword [0x195ea8c]
mov ebx, dword [0x195ea88]
add edi, 0xf8000000
lea eax, [ebx + edx]
xor eax, 3
lea ecx, [edi + edx]
xor ecx, 3
inc edx
mov al, byte [eax + 0x115e970]
mov byte [ecx + 0xf548b0], al
cmp edx, esi
jb 0x44dd32
push ecx
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x40]
call fcn.00404420
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
jb 0x44dd68
mov eax, dword [ebp - 0x28]
push 0x537680
push eax
call fcn.004ce8d6
mov ecx, dword [ebp - 0x14]
add esp, 8
mov esi, eax
cmp ecx, 0x10
jb 0x44ddac
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44dda2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44dfe4
push ecx
push edx
call fcn.0049dbeb
add esp, 8
push esi
push 0x8000
push 1
push 0xf548b0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.004ce0c0
push esi
call fcn.004cea42
mov ecx, dword [ebp - 0x2c]
add esp, 0x14
mov dword [0xf5c8b0], 0xffffffff
cmp ecx, 8
jb 0x44df47
mov edx, dword [ebp - 0x40]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x44de17
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44dfe9
push ecx
push edx
call fcn.0049dbeb
add esp, 8
jmp 0x44df47
mov ecx, dword [0x26e994c]
mov eax, ecx
sub eax, 2
je 0x44de50
push ecx
push 0x537848
call fcn.00402650
add esp, 8
mov dword [0x25816b4], 1
jmp 0x44df47
mov eax, dword [0x195ea88]
mov dword [0x26be82c], eax
jmp 0x44df47
cmp dword [0x269347c], 0
je 0x44df3a
mov esi, dword [0x195ea90]
lea edx, [ecx - 0x1ffe0000]
and esi, 0xffffff
inc esi
cmp edx, 0xffff
ja 0x44dedd
test esi, esi
je 0x44dec7
mov edi, dword [0x195ea88]
mov ebx, 0x1ffe0000
sub ebx, ecx
cmp edi, 0x7fffff
ja 0x44dec7
cmp edx, 0x1fff
ja 0x44dec7
mov eax, edi
mov ecx, edx
xor eax, 3
xor ecx, 3
inc edx
inc edi
mov al, byte [eax + 0x115e970]
mov byte [ecx + 0x217f2c0], al
lea eax, [ebx + edx]
cmp eax, esi
jb 0x44de98
or dword [0x195ea98], 1
call fcn.0046b9a0
shr esi, 3
mov edx, esi
jmp 0x44dfb9
lea eax, [ecx - 0x10000000]
cmp eax, 0x3ffffff
ja 0x44dec7
cmp byte [0x21812d0], 0
je 0x44dec7
xor edx, edx
test esi, esi
je 0x44dec7
mov edi, dword [0x5500dc]
nop
mov eax, dword [0x195ea88]
add ecx, 0xf0000000
add eax, edx
add ecx, edx
cmp eax, 0x7fffff
ja 0x44dec7
cmp ecx, 0x3ffffff
ja 0x44dec7
xor eax, 3
xor ecx, 3
inc edx
mov al, byte [eax + 0x115e970]
mov byte [ecx + edi], al
cmp edx, esi
jae 0x44dec7
mov ecx, dword [0x195ea8c]
jmp 0x44df00
push str.unknown_dma_read_n
call fcn.00402650
add esp, 4
or dword [0x195ea98], 1
cmp dword [0x2581ff0], 0
je 0x44df75
mov ecx, dword [0x21814d0]
mov eax, ecx
sub eax, dword [0x2581ff4]
shr eax, 1
add dword [0x25817f4], eax
mov dword [0x2581ff4], ecx
jmp 0x44dfb4
mov ecx, dword [0x2581fe8]
mov edx, dword [0x2581ff4]
cmp dword [ecx + 0x14], edx
jae 0x44df9f
push str.PC__addr___last_addr_n
call fcn.00402650
mov edx, dword [0x2581ff4]
add esp, 4
mov ecx, dword [0x2581fe8]
mov eax, dword [ecx + 0x14]
sub eax, edx
shr eax, 1
add dword [0x25817f4], eax
mov eax, dword [ecx + 0x14]
mov dword [0x2581ff4], eax
mov edx, 0x1000
mov ecx, 0x10
call fcn.0045e620
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0049dba8
mov esp, ebp
pop ebp
ret
call fcn.004cb586
call fcn.004cb586
call fcn.004cb586
call fcn.0049e163
int3