Function at 0x4cdde0
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x5c
push ebx
push ebp
push esi
push str.start_read_global_data_n
call fcn.00402b00
add esp, 4
call fcn.004775e0
mov ecx, eax
call fcn.00477150
mov eax, dword [0x659a18]
mov ebx, dword [sym.imp.MSVCRT.dll_fseek]
push 0
push 0
push eax
call ebx
mov ecx, dword [0x659a18]
mov ebp, dword [sym.imp.MSVCRT.dll_fread]
push ecx
push 1
push 0x20
push 0x659950
call ebp
mov edx, dword [0x659964]
mov eax, dword [0x659a18]
push 0
push edx
push eax
call ebx
mov ecx, dword [0x659a18]
push ecx
push 1
push 0x14
push 0x659938
call ebp
mov edx, dword [0x659938]
mov eax, dword [0x659a18]
push 0
push edx
push eax
call ebx
mov ecx, dword [0x659a18]
add esp, 0x44
lea edx, [esp + 0x38]
push ecx
push 1
push 0x14
push edx
call ebp
mov eax, dword [esp + 0x48]
mov ecx, dword [0x659a18]
push 0
push eax
push ecx
call ebx
mov edx, dword [0x659a18]
push edx
push 1
push 0x34
push 0x6599d8
call ebp
mov eax, dword [esp + 0x68]
mov ecx, dword [0x659a18]
push 0
push eax
push ecx
call ebx
mov edx, dword [0x659a18]
push edx
push 1
push 4
push 0x6599d4
call ebp
mov esi, dword [0x6599d4]
add esp, 0x48
mov eax, esi
shl eax, 5
push eax
call fcn.00470280
add esp, 4
test eax, eax
je 0x4cdeeb
dec esi
mov ecx, eax
test esi, esi
jl 0x4cdee4
lea edx, [esi + 1]
mov byte [ecx], 0xff
add ecx, 0x20
dec edx
jne 0x4cdedb
mov dword [0x6599d0], eax
jmp 0x4cdef5
mov dword [0x6599d0], 0
mov ecx, dword [0x6599d4]
push edi
lea edx, [ecx*4]
mov ecx, 0x6af5d8
push edx
call fcn.004a7db0
mov ecx, dword [0x6599d4]
mov edi, eax
mov eax, dword [0x659a18]
mov dword [esp + 0x14], edi
push eax
push ecx
push 4
push edi
call ebp
mov eax, dword [0x6599d4]
add esp, 0x10
xor esi, esi
test eax, eax
jle 0x4cdf92
mov edx, dword [esp + 0x14]
xor edi, edi
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x10]
mov edx, dword [0x659a18]
push 0
mov ecx, dword [eax]
push ecx
push edx
call ebx
mov eax, dword [0x659a18]
mov ecx, dword [0x6599d0]
push eax
push 1
lea edx, [edi + ecx]
push 0x20
push edx
call ebp
mov eax, dword [0x6599d0]
add esp, 0x1c
lea ecx, [edi + eax]
call fcn.00431b40
mov edx, dword [esp + 0x10]
mov eax, dword [0x6599d4]
inc esi
add edx, 4
add edi, 0x20
cmp esi, eax
mov dword [esp + 0x10], edx
jl 0x4cdf3e
mov edi, dword [esp + 0x14]
push edi
mov ecx, 0x6af5d8
call fcn.004a7de0
mov eax, dword [0x65a634]
test eax, eax
jne 0x4cdfd2
call fcn.00475520
cmp eax, 5
jl 0x4cdfb7
mov eax, 5
jmp 0x4cdfbb
test eax, eax
jle 0x4cdfd2
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4]
lea edx, [ecx*8 + 0x1f4]
push edx
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esp + 0x44]
mov ecx, dword [0x659a18]
push 0
push eax
push ecx
call ebx
mov edx, dword [0x659a18]
lea eax, [esp + 0x24]
push edx
push 1
push 4
push eax
call ebp
mov edx, dword [esp + 0x34]
mov ecx, 6
xor eax, eax
lea edi, [esp + 0x70]
mov dword [esp + 0x6c], 0
rep stosd dword es:[edi], eax
mov ecx, dword [0x659a18]
lea eax, [esp + 0x6c]
push ecx
push edx
push 4
push eax
call ebp
mov ecx, dword [esp + 0x74]
mov edx, dword [0x659a18]
push 0
push ecx
push edx
call ebx
mov eax, dword [0x659a18]
push eax
push 1
push 0x2c
push 0x659990
call ebp
mov ecx, dword [esp + 0x94]
mov edx, dword [0x659a18]
add esp, 0x48
push 0
push ecx
push edx
call ebx
mov eax, dword [0x659a18]
push eax
push 1
push 0x340
push 0x675aa8
call ebp
add esp, 0x1c
mov ecx, 0x675aa8
call fcn.004a1e00
push eax
call fcn.0047c890
mov ecx, eax
call fcn.0047c830
mov ecx, 0x675aa8
call fcn.004a1640
mov eax, dword [0x675b28]
mov ecx, 0xd0
mov esi, 0x675aa8
mov edi, 0x675768
test eax, eax
rep movsd dword es:[edi], dword [esi]
je 0x4ce0bd
mov eax, dword [0x659a20]
mov ecx, dword [0x659a24]
mov dword [0x659a20], ecx
mov dword [0x659a24], eax
mov edx, dword [0x65993c]
mov eax, dword [0x659a18]
push 0
push edx
push eax
call ebx
mov ecx, dword [0x659a18]
lea edx, [esp + 0x28]
push ecx
push 1
push 4
push edx
call ebp
mov eax, dword [0x659a18]
mov ecx, dword [esp + 0x38]
push eax
push ecx
push 4
push 0x6598f4
call ebp
add esp, 0x2c
call fcn.004b9050
mov eax, dword [esp + 0x50]
test eax, eax
je 0x4ce10d
push eax
call fcn.00410360
add esp, 4
mov eax, dword [esp + 0x54]
test eax, eax
je 0x4ce128
push eax
call fcn.00412790
push 0x675b74
call fcn.00412630
add esp, 8
mov eax, dword [esp + 0x58]
test eax, eax
je 0x4ce139
push eax
call fcn.00410910
add esp, 4
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x60]
test eax, eax
jne 0x4ce149
test ecx, ecx
je 0x4ce153
push ecx
push eax
call fcn.00416ec0
add esp, 8
cmp dword [0x659958], 0x1c
jl 0x4ce171
mov eax, dword [esp + 0x64]
test eax, eax
je 0x4ce171
push eax
call fcn.0041a180
mov ecx, eax
call fcn.0041a0c0
cmp dword [0x659958], 0x1d
jl 0x4ce18f
mov eax, dword [esp + 0x68]
test eax, eax
je 0x4ce18f
push eax
call fcn.0041b280
mov ecx, eax
call fcn.0041b1a0
mov ecx, 0x675aa8
call fcn.004a1d80
push eax
call fcn.0047c740
mov ecx, eax
call fcn.0047c640
mov ecx, 0x675aa8
call fcn.004a1a00
push eax
call fcn.004a0a00
mov ecx, eax
call fcn.0049ffd0
mov ecx, 0x675aa8
call fcn.004a1a80
push eax
call fcn.004af0d0
mov ecx, eax
call fcn.004aef30
mov ecx, 0x675aa8
call fcn.004a1900
push eax
call fcn.004aeab0
mov ecx, eax
call fcn.004ae7f0
mov ecx, 0x675aa8
call fcn.004a1e80
push eax
call fcn.0047beb0
mov ecx, eax
call fcn.0047ba90
mov ecx, 0x675aa8
call fcn.004a1b00
push eax
call fcn.004797a0
mov ecx, eax
call fcn.00479620
mov ecx, 0x675aa8
call fcn.004a1b80
push eax
call fcn.0047cd40
mov ecx, eax
call fcn.0047cb30
mov ecx, 0x675aa8
call fcn.004a1800
push eax
call fcn.0049e650
mov ecx, eax
call fcn.0049da80
mov ecx, 0x675aa8
call fcn.004a1880
push eax
call fcn.0049d690
mov ecx, eax
call fcn.0049d480
mov ecx, 0x675aa8
call fcn.004a2080
push eax
call fcn.0047b980
mov ecx, eax
call fcn.0047b6c0
mov ecx, 0x675aa8
call fcn.004a0cc0
push 0
mov ecx, 0x675aa8
call fcn.004a1c00
push eax
push 0
call fcn.004ae7d0
add esp, 4
mov ecx, eax
call fcn.004adbd0
push 1
mov ecx, 0x675aa8
call fcn.004a1c80
push eax
push 1
call fcn.004ae7d0
add esp, 4
mov ecx, eax
call fcn.004adbd0
push 2
mov ecx, 0x675aa8
call fcn.004a1d00
push eax
push 2
call fcn.004ae7d0
add esp, 4
mov ecx, eax
call fcn.004adbd0
mov ecx, 0x675aa8
call fcn.004a1f00
push eax
call fcn.0047c060
mov ecx, eax
call fcn.0047bec0
mov ecx, 0x675aa8
call fcn.004a1f80
push eax
call fcn.004797f0
mov ecx, eax
call fcn.004797b0
mov ecx, 0x675aa8
call fcn.004a2000
push eax
call fcn.0047a770
mov ecx, eax
call fcn.0047a580
mov ecx, 0x675aa8
call fcn.004a2100
push eax
call fcn.0047ba80
mov ecx, eax
call fcn.0047b9b0
call fcn.0040f290
mov edx, dword [0x659944]
mov eax, dword [0x659a18]
push 0
push edx
push eax
call ebx
mov ecx, dword [0x659a18]
lea edx, [esp + 0x2c]
push ecx
push 1
push 4
push edx
call ebp
mov eax, dword [esp + 0x3c]
mov ecx, dword [0x659a18]
push 0
push eax
push ecx
call ebx
mov edx, dword [0x659a18]
push edx
push 1
push 4
push 0x6a4544
call ebp
mov eax, dword [0x6a4544]
add esp, 0x38
lea ecx, [eax*4]
push ecx
mov ecx, 0x6af5d8
call fcn.004a7db0
mov esi, dword [0x6a4544]
mov edi, eax
lea edx, [esi + esi*8]
lea eax, [edx*8 + 4]
push eax
call fcn.00470280
add esp, 4
test eax, eax
je 0x4ce3e0
push 0x4ce8c0
mov dword [eax], esi
push 0x4ce880
add eax, 4
push esi
push 0x48
push eax
mov dword [esp + 0x28], eax
call fcn.0051c73f
mov ecx, dword [esp + 0x14]
mov dword [0x6a4540], ecx
jmp 0x4ce3ea
mov dword [0x6a4540], 0
mov edx, dword [0x659a18]
mov eax, dword [0x6a4544]
push edx
push eax
push 4
push edi
call ebp
mov eax, dword [0x6a4544]
xor esi, esi
add esp, 0x10
cmp eax, esi
mov dword [esp + 0x14], esi
jle 0x4ce45a
mov dword [esp + 0x10], edi
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
test eax, eax
je 0x4ce42d
mov edx, dword [0x6a4540]
push eax
lea ecx, [esi + edx]
call fcn.004a6040
jmp 0x4ce439
mov eax, dword [0x6a4540]
mov dword [esi + eax], 0xffffffff
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
add ecx, 4
inc eax
mov dword [esp + 0x10], ecx
mov ecx, dword [0x6a4544]
add esi, 0x48
cmp eax, ecx
mov dword [esp + 0x14], eax
jl 0x4ce412
push edi
mov ecx, 0x6af5d8
call fcn.004a7de0
mov ecx, dword [0x659948]
mov edx, dword [0x659a18]
push 0
push ecx
push edx
call ebx
mov eax, dword [0x659a18]
lea ecx, [esp + 0x30]
push eax
push 1
push 4
push ecx
call ebp
mov edx, dword [0x659a18]
lea eax, [esp + 0x54]
push edx
push 1
push 4
push eax
call ebp
mov ecx, dword [0x659a18]
lea edx, [esp + 0x54]
push ecx
push 1
push 4
push edx
call ebp
mov eax, dword [0x659a18]
lea ecx, [esp + 0x68]
push eax
push 1
push 4
push ecx
call ebp
mov edx, dword [0x659a18]
add esp, 0x4c
lea eax, [esp + 0x30]
push edx
push 1
push 4
push eax
call ebp
mov ecx, dword [0x659a18]
lea edx, [esp + 0x44]
push ecx
push 1
push 4
push edx
call ebp
mov eax, dword [esp + 0x44]
mov ecx, dword [0x659a18]
push 0
push eax
push ecx
call ebx
mov edx, dword [0x659a18]
push edx
push 1
push 4
push 0x65a64c
call ebp
mov esi, dword [0x65a64c]
lea eax, [esi + esi*4]
lea eax, [eax + eax*8]
lea ecx, [eax*8 + 4]
push ecx
call fcn.00470280
add esp, 0x40
test eax, eax
je 0x4ce549
push 0x4aa470
push 0x4ce8e0
lea edi, [eax + 4]
push esi
push 0x168
push edi
mov dword [eax], esi
call fcn.0051c73f
mov dword [0x65a648], edi
jmp 0x4ce553
mov dword [0x65a648], 0
mov eax, dword [0x65a64c]
xor edi, edi
test eax, eax
jle 0x4ce5b2
xor esi, esi
mov edx, dword [0x659a18]
mov eax, dword [0x65a648]
push edx
push 1
lea ecx, [esi + eax]
push 0x18
push ecx
call ebp
mov edx, dword [0x65a648]
add esp, 0x10
test byte [esi + edx + 1], 0x80
jne 0x4ce595
mov eax, dword [0x659a18]
push 1
push 0xfffffffffffffff0
push eax
call ebx
add esp, 0xc
mov ecx, dword [0x65a648]
add ecx, esi
call fcn.0047ed20
mov eax, dword [0x65a64c]
inc edi
add esi, 0x168
cmp edi, eax
jl 0x4ce560
cmp dword [0x659958], 0x10
jl 0x4ce60a
mov edx, dword [esp + 0x28]
mov eax, dword [0x659a18]
push 0
push edx
push eax
call ebx
mov ecx, dword [0x659a18]
push ecx
push 1
push 4
push 0x65787c
call ebp
mov edx, dword [0x65787c]
lea eax, [edx*4]
push eax
call fcn.00470280
mov ecx, dword [0x659a18]
mov edx, dword [0x65787c]
push ecx
push edx
push 4
push eax
mov dword [0x657874], eax
call ebp
add esp, 0x30
cmp dword [0x659958], 0x12
jl 0x4ce6ca
mov eax, dword [esp + 0x2c]
mov ecx, dword [0x659a18]
push 0
push eax
push ecx
call ebx
mov edx, dword [0x659a18]
push edx
push 1
push 4
push 0x657870
call ebp
mov esi, dword [0x657870]
lea eax, [esi + esi*2]
lea ecx, [eax*8 + 4]
push ecx
call fcn.00470280
add esp, 0x20
test eax, eax
je 0x4ce676
push 0x4ce920
push 0x4ce910
lea edi, [eax + 4]
push esi
push 0x18
push edi
mov dword [eax], esi
call fcn.0051c73f
mov dword [0x65786c], edi
jmp 0x4ce680
mov dword [0x65786c], 0
mov edx, dword [0x659a18]
push edx
call dword [sym.imp.MSVCRT.dll_ftell]
mov esi, eax
mov eax, dword [0x657870]
add esp, 4
xor edi, edi
test eax, eax
jle 0x4ce6ca
mov dword [esp + 0x10], edi
mov eax, dword [0x65786c]
mov ecx, dword [esp + 0x10]
push esi
add ecx, eax
call fcn.00476a40
mov ecx, dword [esp + 0x10]
mov eax, dword [0x657870]
add esi, 0x14
inc edi
add ecx, 0x18
cmp edi, eax
mov dword [esp + 0x10], ecx
jl 0x4ce6a1
mov eax, dword [0x659958]
pop edi
cmp eax, 0x18
jl 0x4ce720
mov edx, dword [esp + 0x2c]
mov eax, dword [0x659a18]
push 0
push edx
push eax
call ebx
mov ecx, dword [0x659a18]
push ecx
push 1
push 4
push 0x657868
call ebp
mov edx, dword [0x657868]
shl edx, 4
push edx
call fcn.00470280
mov ecx, dword [0x659a18]
mov edx, dword [0x657868]
push ecx
push edx
push 0x10
push eax
mov dword [0x657864], eax
call ebp
add esp, 0x30
cmp dword [0x659958], 0x1a
jl 0x4ce778
mov eax, dword [esp + 0x30]
mov ecx, dword [0x659a18]
push 0
push eax
push ecx
call ebx
mov edx, dword [0x659a18]
push edx
push 1
push 4
push 0x657880
call ebp
mov eax, dword [0x657880]
lea ecx, [eax*4]
push ecx
call fcn.00470280
mov edx, dword [0x659a18]
mov ecx, dword [0x657880]
push edx
push ecx
push 4
push eax
mov dword [0x657878], eax
call ebp
add esp, 0x30
call fcn.0040f6a0
mov ecx, 0x675aa8
call fcn.004a1980
push eax
call fcn.0049e960
mov ecx, eax
call fcn.0049e890
call fcn.0047eea0
mov edx, dword [0x675be4]
mov eax, dword [0x675be0]
push edx
push eax
call fcn.00438df0
mov ecx, eax
call fcn.00438d90
mov ecx, dword [0x675cb0]
push ecx
call fcn.004708a0
mov ecx, eax
call fcn.00470860
call fcn.00487160
mov ecx, eax
call fcn.00483420
mov dx, word [0x675ac2]
push 0
lea ecx, [esp + 0x14]
mov word [esp + 0x14], 0
mov word [esp + 0x16], dx
call fcn.004a6910
call fcn.00413de0
mov eax, dword [0x5fe374]
pop esi
pop ebp
pop ebx
test eax, eax
jne 0x4ce830
mov eax, dword [esp + 0x4c]
test eax, eax
jne 0x4ce810
mov eax, dword [esp + 0x50]
test eax, eax
je 0x4ce830
push str.create_backcmp_thread__n
call fcn.00402b00
push 0
push 0
push 0x41b2e0
push 0x5fe374
call fcn.00472a50
add esp, 0x14
cmp dword [0x659958], 0x1c
jl 0x4ce857
mov eax, dword [esp + 0x54]
test eax, eax
je 0x4ce857
push 0
push 0
push 0x41b290
push 0x5fe378
call fcn.00472a50
add esp, 0x10
call fcn.004775e0
mov ecx, eax
call fcn.004771c0
push str.finish_read_global_data_n
call fcn.00402b00
add esp, 0x60
ret