Function at 0x4cda30
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x884
mov eax, dword [0x7e2670]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x880], ecx
mov dword [ebp - 0x81c], 0x100
mov dword [ebp - 0x828], 0
mov dword [ebp - 0x82c], 0
mov dword [ebp - 0x824], 0
cmp dword [ebp + 8], 0
jne 0x4cda8c
mov dword [ebp - 0x82c], 0x204
mov eax, dword [ebp - 0x82c]
jmp 0x4ce2d8
push 0x732488
mov eax, dword [ebp + 8]
push eax
call fcn.00669fd1
add esp, 8
mov dword [ebp - 0x828], eax
cmp dword [ebp - 0x828], 0
jne 0x4cdac5
mov dword [ebp - 0x82c], 0x204
xor ecx, ecx
jne 0x4cdab6
mov eax, dword [ebp - 0x82c]
jmp 0x4ce2d8
push 2
push 0
mov edx, dword [ebp - 0x828]
push edx
call fcn.00669e99
add esp, 0xc
mov eax, dword [ebp - 0x828]
push eax
call fcn.00669daa
add esp, 4
mov dword [ebp - 0x824], eax
push 0
push 0
mov ecx, dword [ebp - 0x828]
push ecx
call fcn.00669e99
add esp, 0xc
mov edx, dword [ebp - 0x824]
push edx
push 0x7324b8
call fcn.0066610b
add esp, 8
mov eax, dword [ebp - 0x824]
mov dword [ebp - 0x848], eax
mov ecx, dword [ebp - 0x848]
and ecx, 0x800000ff
jns 0x4cdb36
dec ecx
or ecx, 0xffffff00
inc ecx
test ecx, ecx
jne 0x4cdb54
mov eax, dword [ebp - 0x848]
cdq
and edx, 0xff
add eax, edx
sar eax, 8
mov dword [ebp - 0x884], eax
jmp 0x4cdb6f
mov eax, dword [ebp - 0x848]
cdq
and edx, 0xff
add eax, edx
sar eax, 8
add eax, 1
mov dword [ebp - 0x884], eax
mov edx, dword [ebp - 0x884]
mov dword [ebp - 0x830], edx
mov dword [ebp - 0x84c], 0
mov ecx, dword [ebp - 0x880]
add ecx, 4
call fcn.004a26e0
push 0
push 0
push 8
push 0x1c200
mov ecx, dword [ebp - 0x880]
add ecx, 4
call fcn.004a1f90
mov dword [ebp - 0x820], 0
mov byte [ebp - 0x83d], 1
jmp 0x4cdbce
mov eax, dword [ebp - 0x84c]
add eax, 1
mov dword [ebp - 0x84c], eax
mov ecx, dword [ebp - 0x84c]
cmp ecx, dword [ebp - 0x830]
jge 0x4ce2ba
push 0
mov edx, dword [ebp - 0x84c]
shl edx, 8
push edx
mov eax, dword [ebp - 0x828]
push eax
call fcn.00669e99
add esp, 0xc
mov dword [ebp - 0x82c], eax
cmp dword [ebp - 0x82c], 0
jge 0x4cdc2e
mov ecx, dword [ebp - 0x828]
push ecx
call fcn.00669ba2
add esp, 4
mov dword [ebp - 0x828], 0
mov eax, dword [ebp - 0x82c]
jmp 0x4ce2d8
push 0x405
push 0
lea edx, [ebp - 0x818]
push edx
call fcn.006665c0
add esp, 0xc
push 0xa
push 0
lea eax, [ebp - 0x83c]
push eax
call fcn.006665c0
add esp, 0xc
xor ecx, ecx
mov word [ebp - 0x844], cx
mov edx, dword [ebp - 0x830]
sub edx, 1
sub edx, dword [ebp - 0x84c]
jne 0x4cdd38
mov eax, dword [ebp - 0x848]
and eax, 0x800000ff
jns 0x4cdc89
dec eax
or eax, 0xffffff00
inc eax
test eax, eax
je 0x4cdd38
mov ecx, dword [ebp - 0x830]
sub ecx, 1
shl ecx, 8
mov edx, dword [ebp - 0x848]
sub edx, ecx
mov word [ebp - 0x850], dx
push 0x401
push 0
lea eax, [ebp - 0x410]
push eax
call fcn.006665c0
add esp, 0xc
mov ecx, dword [ebp - 0x828]
push ecx
movzx edx, word [ebp - 0x850]
push edx
push 1
lea eax, [ebp - 0x410]
push eax
call fcn.00669b18
add esp, 0x10
mov dword [ebp - 0x82c], eax
cmp dword [ebp - 0x82c], 0
jge 0x4cdd15
mov ecx, dword [ebp - 0x828]
push ecx
call fcn.00669ba2
add esp, 4
mov dword [ebp - 0x828], 0
mov eax, dword [ebp - 0x82c]
jmp 0x4ce2d8
movzx edx, word [ebp - 0x850]
push edx
lea eax, [ebp - 0x410]
push eax
lea ecx, [ebp - 0x810]
push ecx
call fcn.00668860
add esp, 0xc
jmp 0x4cddcb
mov edx, 0x100
mov word [ebp - 0x850], dx
push 0x401
push 0
lea eax, [ebp - 0x410]
push eax
call fcn.006665c0
add esp, 0xc
mov ecx, dword [ebp - 0x828]
push ecx
movzx edx, word [ebp - 0x850]
push edx
push 1
lea eax, [ebp - 0x410]
push eax
call fcn.00669b18
add esp, 0x10
mov dword [ebp - 0x82c], eax
cmp dword [ebp - 0x82c], 0
jge 0x4cddad
mov ecx, dword [ebp - 0x828]
push ecx
call fcn.00669ba2
add esp, 4
mov dword [ebp - 0x828], 0
mov eax, dword [ebp - 0x82c]
jmp 0x4ce2d8
movzx edx, word [ebp - 0x850]
push edx
lea eax, [ebp - 0x410]
push eax
lea ecx, [ebp - 0x810]
push ecx
call fcn.00668860
add esp, 0xc
mov byte [ebp - 0x818], 2
movzx edx, word [ebp - 0x850]
add edx, 6
sar edx, 8
mov byte [ebp - 0x817], dl
movzx eax, word [ebp - 0x850]
add eax, 6
mov byte [ebp - 0x816], al
mov byte [ebp - 0x815], 0xf5
mov ecx, dword [ebp - 0x84c]
and ecx, 0xff00
sar ecx, 8
mov byte [ebp - 0x814], cl
mov edx, dword [ebp - 0x84c]
and edx, 0xff
mov byte [ebp - 0x813], dl
mov eax, dword [ebp - 0x830]
sub eax, 1
sub eax, dword [ebp - 0x84c]
and eax, 0xff00
sar eax, 8
mov byte [ebp - 0x812], al
mov ecx, dword [ebp - 0x830]
sub ecx, 1
sub ecx, dword [ebp - 0x84c]
and ecx, 0xff
mov byte [ebp - 0x811], cl
movzx edx, word [ebp - 0x850]
add edx, 8
mov word [ebp - 0x850], dx
movzx eax, word [ebp - 0x850]
mov byte [ebp + eax - 0x818], 3
mov cx, word [ebp - 0x850]
add cx, 1
mov word [ebp - 0x850], cx
movzx edx, word [ebp - 0x850]
sub edx, 1
push edx
lea eax, [ebp - 0x817]
push eax
call fcn.004ede40
add esp, 8
movzx ecx, word [ebp - 0x850]
mov byte [ebp + ecx - 0x818], al
mov dx, word [ebp - 0x850]
add dx, 1
mov word [ebp - 0x850], dx
push 0x3e8
push 0
push 0
movzx eax, word [ebp - 0x850]
push eax
lea ecx, [ebp - 0x818]
push ecx
mov ecx, dword [ebp - 0x880]
add ecx, 4
call fcn.004a22c0
mov dword [ebp - 0x82c], eax
cmp dword [ebp - 0x82c], 0
je 0x4cdf3f
movzx edx, byte [ebp - 0x83d]
test edx, edx
je 0x4cdf1b
mov eax, dword [ebp - 0x84c]
sub eax, 1
mov dword [ebp - 0x84c], eax
jmp 0x4cdbbf
mov ecx, dword [ebp - 0x828]
push ecx
call fcn.00669ba2
add esp, 4
mov dword [ebp - 0x828], 0
mov eax, dword [ebp - 0x82c]
jmp 0x4ce2d8
mov dword [ebp - 0x85c], 0x1f4
mov dword [ebp - 0x858], 0xa
mov dword [ebp - 0x860], 0
mov edx, 1
test edx, edx
je 0x4ce217
cmp dword [ebp - 0x860], 0xa
jle 0x4cdf87
mov dword [ebp - 0x82c], 0x218
jmp 0x4ce2ba
movzx eax, byte [ebp - 0x83d]
test eax, eax
je 0x4cdf9e
mov dword [ebp - 0x85c], 0x1388
jmp 0x4cdfa8
mov dword [ebp - 0x85c], 0xc8
mov ecx, dword [ebp - 0x85c]
push ecx
push 0
push 0
push 3
lea edx, [ebp - 0x868]
push edx
mov ecx, dword [ebp - 0x880]
add ecx, 4
call fcn.004a2530
mov dword [ebp - 0x82c], eax
movzx eax, byte [ebp - 0x83d]
test eax, eax
je 0x4cdfe9
cmp dword [ebp - 0x82c], 0
je 0x4cdfe9
jmp 0x4ce217
cmp dword [ebp - 0x82c], 0x5b4
jne 0x4ce00b
mov ecx, dword [ebp - 0x860]
add ecx, 1
mov dword [ebp - 0x860], ecx
jmp 0x4cdf5d
cmp dword [ebp - 0x82c], 0
je 0x4ce01e
jmp 0x4ce2ba
movzx edx, byte [ebp - 0x868]
cmp edx, 2
je 0x4ce04e
movzx eax, byte [ebp - 0x83d]
test eax, eax
je 0x4ce03a
jmp 0x4ce217
mov ecx, dword [ebp - 0x860]
add ecx, 1
mov dword [ebp - 0x860], ecx
jmp 0x4cdf5d
lea edx, [ebp - 0x867]
push edx
call fcn.004a4360
add esp, 4
movzx eax, ax
mov dword [ebp - 0x874], eax
mov ecx, dword [ebp - 0x874]
add ecx, 1
mov dword [ebp - 0x86c], ecx
cmp dword [ebp - 0x86c], 4
je 0x4ce0a2
movzx edx, byte [ebp - 0x83d]
test edx, edx
je 0x4ce08e
jmp 0x4ce217
mov dword [ebp - 0x82c], 0x218
jmp 0x4ce2ba
mov eax, dword [ebp - 0x86c]
push eax
push 0
lea ecx, [ebp - 0x865]
push ecx
call fcn.006665c0
add esp, 0xc
mov dword [ebp - 0x870], 0
cmp dword [ebp - 0x86c], 0
jle 0x4ce182
mov dword [ebp - 0x87c], 0
push 0x1f4
push 0
lea edx, [ebp - 0x87c]
push edx
mov eax, dword [ebp - 0x86c]
push eax
mov ecx, dword [ebp - 0x870]
lea edx, [ebp + ecx - 0x865]
push edx
mov ecx, dword [ebp - 0x880]
add ecx, 4
call fcn.004a2530
mov dword [ebp - 0x82c], eax
cmp dword [ebp - 0x82c], 0x5b4
jne 0x4ce137
movzx eax, byte [ebp - 0x83d]
test eax, eax
je 0x4ce12b
jmp 0x4ce182
jmp 0x4ce2ba
cmp dword [ebp - 0x82c], 0
jne 0x4ce166
mov ecx, dword [ebp - 0x870]
add ecx, dword [ebp - 0x87c]
mov dword [ebp - 0x870], ecx
mov edx, dword [ebp - 0x86c]
sub edx, dword [ebp - 0x87c]
mov dword [ebp - 0x86c], edx
jmp 0x4ce17d
movzx eax, byte [ebp - 0x83d]
test eax, eax
je 0x4ce173
jmp 0x4ce182
jmp 0x4ce2ba
jmp 0x4ce0c4
movzx ecx, byte [ebp - 0x865]
cmp ecx, 0xf5
je 0x4ce1b2
movzx edx, byte [ebp - 0x83d]
test edx, edx
je 0x4ce19e
jmp 0x4ce217
mov dword [ebp - 0x82c], 0x218
jmp 0x4ce2ba
push 5
lea eax, [ebp - 0x867]
push eax
call fcn.004ede40
add esp, 8
movzx ecx, al
mov dword [ebp - 0x878], ecx
movzx edx, byte [ebp - 0x862]
cmp dword [ebp - 0x878], edx
je 0x4ce1fc
movzx eax, byte [ebp - 0x83d]
test eax, eax
je 0x4ce1e8
jmp 0x4ce217
mov dword [ebp - 0x82c], 0x218
jmp 0x4ce2ba
movzx ecx, byte [ebp - 0x864]
mov dword [ebp - 0x82c], ecx
mov byte [ebp - 0x83d], 0
jmp 0x4ce217
movzx edx, byte [ebp - 0x83d]
test edx, edx
je 0x4ce236
mov eax, dword [ebp - 0x84c]
sub eax, 1
mov dword [ebp - 0x84c], eax
jmp 0x4cdbbf
cmp dword [ebp - 0x82c], 0
je 0x4ce257
mov ecx, dword [ebp - 0x82c]
push ecx
push str.ErrorCode_d_r_n
call fcn.0066610b
add esp, 8
jmp 0x4ce2ba
mov eax, dword [ebp - 0x84c]
imul eax, eax, 0x64
cdq
idiv dword [ebp - 0x830]
mov dword [ebp - 0x854], eax
mov edx, dword [ebp - 0x820]
cmp edx, dword [ebp - 0x854]
je 0x4ce2a4
cmp dword [ebp - 0x854], 0x64
je 0x4ce2a4
mov eax, dword [ebp - 0x854]
mov dword [ebp - 0x820], eax
mov ecx, dword [ebp - 0x820]
push ecx
push str.dllogo.dl_d___r_n
call fcn.0066610b
add esp, 8
call fcn.006684b5
add eax, 0x20
push eax
call fcn.00668459
add esp, 4
jmp 0x4cdbbf
cmp dword [ebp - 0x828], 0
je 0x4ce2d2
mov edx, dword [ebp - 0x828]
push edx
call fcn.00669ba2
add esp, 4
mov eax, dword [ebp - 0x82c]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.006665ac
mov esp, ebp
pop ebp
ret 4