Function at 0x477f10
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x488519
mov eax, dword fs:[0]
push eax
sub esp, 0x270
mov eax, dword [0x4a3350]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x214], esi
push 0x74
lea eax, [ebp - 0x200]
push 0
push eax
call fcn.00424c50
add esp, 0xc
lea ecx, [ebp - 0x200]
call fcn.00408af0
xorps xmm0, xmm0
mov dword [ebp - 4], 0
push 0
lea ecx, [ebp - 0x12c]
movq qword [ebp - 0x11c], xmm0
movdqu xmmword [ebp - 0x12c], xmm0
call fcn.00402bf0
push 0xffffffffffffffff
push 0
lea eax, [esi + 0x30]
mov byte [ebp - 4], 1
push eax
lea ecx, [ebp - 0x15c]
mov byte [ebp - 0x202], 0
mov dword [ebp - 0x148], 0xf
mov dword [ebp - 0x14c], 0
mov byte [ebp - 0x15c], 0
call fcn.00406850
push 1
lea eax, [ebp - 0x12c]
mov byte [ebp - 4], 2
push eax
lea eax, [ebp - 0x15c]
push eax
lea ecx, [ebp - 0x200]
call fcn.00408c40
cmp dword [ebp - 0x148], 0x10
mov byte [ebp - 0x201], al
mov byte [ebp - 4], 1
jb 0x478009
push dword [ebp - 0x15c]
call fcn.004235a4
mov al, byte [ebp - 0x201]
add esp, 4
test al, al
je 0x4786ef
push str.success
lea ecx, [ebp - 0x12c]
call fcn.00404870
mov ecx, eax
call fcn.00404c80
test al, al
jne 0x4786ef
push str.success
lea ecx, [ebp - 0x12c]
call fcn.00404870
mov ecx, eax
call fcn.00404c90
test al, al
je 0x4786ef
push str.success
lea ecx, [ebp - 0x12c]
call fcn.00404870
mov ecx, eax
call fcn.00403be0
cmp al, 1
jne 0x4786ef
push str.data
lea ecx, [ebp - 0x12c]
call fcn.00404870
mov ecx, eax
call fcn.00404c80
test al, al
jne 0x4786ef
push str.data
lea ecx, [ebp - 0x12c]
call fcn.00404870
mov ecx, eax
call fcn.00404e80
test al, al
je 0x4786ef
push str.file
push str.source
push str.data
lea ecx, [ebp - 0x12c]
call fcn.00404870
mov ecx, eax
call fcn.00404870
mov ecx, eax
call fcn.00404870
mov ecx, eax
call fcn.00404e70
test al, al
je 0x4786ef
push str.file
push str.source
push str.data
lea ecx, [ebp - 0x12c]
call fcn.00404870
mov ecx, eax
call fcn.00404870
mov ecx, eax
call fcn.00404870
mov ecx, eax
call fcn.00403ce0
test eax, eax
je 0x4786ef
push 0x49bc14
lea ecx, [ebp - 0x174]
call fcn.004051a0
push 0x49bc14
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 3
call fcn.004051a0
push 0x49bc14
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 4
call fcn.004051a0
add esi, 0xe0
mov byte [ebp - 4], 5
mov ecx, esi
mov dword [ebp - 0x218], esi
call fcn.0040b7c0
push str.file
push str.source
xor edi, edi
lea ecx, [ebp - 0x12c]
push str.data
mov dword [ebp - 0x210], edi
call fcn.00404870
mov ecx, eax
call fcn.00404870
mov ecx, eax
call fcn.00404870
mov ecx, eax
call fcn.00403ce0
test eax, eax
jle 0x4786b4
jmp 0x4781b0
push 0x49bc14
lea ecx, [ebp - 0x174]
call fcn.004129f0
push 0x49bc14
lea ecx, [ebp - 0x18c]
call fcn.004129f0
push 0x49bc14
lea ecx, [ebp - 0x15c]
call fcn.004129f0
lea eax, [ebp - 0x144]
push eax
push str.name
push edi
push str.file
push str.source
push str.data
lea ecx, [ebp - 0x12c]
call fcn.00404870
mov ecx, eax
call fcn.00404870
mov ecx, eax
call fcn.00404870
mov ecx, eax
call fcn.00403ff0
mov ecx, eax
call fcn.00404870
mov ecx, eax
call fcn.00403130
push eax
lea ecx, [ebp - 0x174]
call fcn.0040b780
lea ecx, [ebp - 0x144]
call fcn.00405270
lea eax, [ebp - 0x144]
push eax
push 0x498b78
push edi
push str.file
push str.source
push str.data
lea ecx, [ebp - 0x12c]
call fcn.00404870
mov ecx, eax
call fcn.00404870
mov ecx, eax
call fcn.00404870
mov ecx, eax
call fcn.00403ff0
mov ecx, eax
call fcn.00404870
mov ecx, eax
call fcn.00403130
push eax
lea ecx, [ebp - 0x18c]
call fcn.0040b780
lea ecx, [ebp - 0x144]
call fcn.00405270
lea eax, [ebp - 0x144]
push eax
push str.path
push edi
push str.file
push str.source
push str.data
lea ecx, [ebp - 0x12c]
call fcn.00404870
mov ecx, eax
call fcn.00404870
mov ecx, eax
call fcn.00404870
mov ecx, eax
call fcn.00403ff0
mov ecx, eax
call fcn.00404870
mov ecx, eax
call fcn.00403130
push eax
lea ecx, [ebp - 0x15c]
call fcn.0040b780
lea ecx, [ebp - 0x144]
call fcn.00405270
push 0x54
call fcn.00423553
add esp, 4
test eax, eax
je 0x47831c
mov ecx, eax
call fcn.0046b510
mov esi, eax
jmp 0x47831e
xor esi, esi
lea ecx, [esi + 0x1c]
lea eax, [ebp - 0x174]
cmp ecx, eax
je 0x478335
push 0xffffffffffffffff
push 0
push eax
call fcn.00406850
lea eax, [ebp - 0x18c]
cmp esi, eax
je 0x47834b
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
call fcn.00406850
cmp dword [ebp - 0x148], 0x10
lea eax, [ebp - 0x15c]
lea ecx, [esi + 0x34]
cmovae eax, dword [ebp - 0x15c]
push eax
call fcn.004129f0
cmp byte [ebp + 8], 0
mov dword [esi + 0x18], 0
mov byte [ebp - 0x201], 0
je 0x47844d
cmp dword [ebp - 0x160], 0x10
lea ecx, [ebp - 0x174]
mov eax, dword [ebp - 0x214]
cmovae ecx, dword [ebp - 0x174]
add eax, 0xc0
cmp dword [eax + 0x14], 0x10
jb 0x4783a7
mov eax, dword [eax]
push ecx
push eax
call fcn.00481c41
add esp, 8
test eax, eax
jne 0x47844d
mov byte [ebp - 0x201], 1
push 0x49bc14
lea ecx, [ebp - 0x144]
call fcn.004051a0
push 0x104
lea eax, [ebp - 0x114]
mov byte [ebp - 4], 9
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
cmp byte [ebp - 0x201], 0
lea eax, [ebp - 0x114]
jne 0x478537
push 0x5c
push eax
call fcn.004275b0
add esp, 8
lea ecx, [ebp - 0x144]
mov byte [eax + 1], 0
lea eax, [ebp - 0x114]
push eax
call fcn.004052a0
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x15c]
push eax
lea ecx, [ebp - 0x144]
call fcn.00406570
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x174]
push eax
lea ecx, [ebp - 0x144]
call fcn.00406570
jmp 0x478543
sub esp, 0x18
lea eax, [ebp - 0x15c]
mov ecx, esp
mov dword [ebp - 0x208], esp
push eax
call fcn.00405140
sub esp, 0x18
mov byte [ebp - 4], 6
lea eax, [ebp - 0x18c]
mov dword [ebp - 0x20c], esp
mov ecx, esp
push eax
call fcn.00405140
sub esp, 0x18
mov byte [ebp - 4], 7
lea eax, [ebp - 0x174]
mov ecx, esp
push eax
call fcn.00405140
mov ecx, dword [ebp - 0x214]
mov byte [ebp - 4], 5
call fcn.00478730
test al, al
jne 0x4783c0
mov eax, dword [ebp - 0x214]
cmp dword [eax + 0xf0], 0
jbe 0x4784ca
push 0x49c244
lea ecx, [eax + 0xe0]
call fcn.004052a0
lea eax, [ebp - 0x144]
push eax
push edi
push str.file
push str.source
push str.data
lea ecx, [ebp - 0x12c]
call fcn.00404870
mov ecx, eax
call fcn.00404870
mov ecx, eax
call fcn.00404870
mov ecx, eax
call fcn.00403ff0
mov ecx, eax
call fcn.00404fe0
mov ecx, dword [ebp - 0x218]
push 0xffffffffffffffff
push 0
push eax
mov byte [ebp - 4], 8
call fcn.00406570
lea ecx, [ebp - 0x144]
mov byte [ebp - 4], 5
call fcn.00405270
mov byte [ebp - 0x202], 1
jmp 0x478619
push eax
lea ecx, [ebp - 0x144]
call fcn.004052a0
cmp dword [ebp - 0x130], 0x10
lea eax, [ebp - 0x144]
push 0x48af50
cmovae eax, dword [ebp - 0x144]
push eax
call fcn.00425d2b
mov edi, eax
add esp, 8
mov dword [ebp - 0x208], edi
test edi, edi
je 0x478604
push 2
push 0
push edi
call fcn.00425e14
push edi
call fcn.00426227
add esp, 0x10
mov dword [ebp - 0x20c], eax
test eax, eax
jle 0x4785fb
push eax
call fcn.0041fc85
push dword [ebp - 0x208]
mov edi, eax
call fcn.00427a9a
push 0
push 0
push dword [ebp - 0x208]
call fcn.00425e14
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
push 1
push edi
call fcn.00426900
push dword [ebp - 0x20c]
call fcn.0041fc85
push dword [ebp - 0x20c]
mov dword [esi + 0x50], eax
push edi
push eax
call fcn.00424600
mov eax, dword [ebp - 0x20c]
push edi
mov dword [esi + 0x18], eax
call fcn.004235a4
mov edi, dword [ebp - 0x208]
add esp, 0x38
push edi
call fcn.00423755
add esp, 4
lea ecx, [ebp - 0x144]
mov byte [ebp - 4], 5
call fcn.00405270
mov edi, dword [ebp - 0x210]
cmp dword [ebp - 0x178], 0x10
lea eax, [ebp - 0x18c]
push esi
cmovae eax, dword [ebp - 0x18c]
mov dword [ebp - 0x210], eax
lea eax, [ebp - 0x210]
push eax
lea eax, [ebp - 0x27c]
push eax
call fcn.0046b2c0
add esp, 0xc
mov ecx, dword [0x4aa70c]
push eax
lea eax, [ebp - 0x224]
mov byte [ebp - 4], 0xa
push eax
call fcn.0046b250
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 5
call fcn.0046b720
push str.file
push str.source
inc edi
lea ecx, [ebp - 0x12c]
push str.data
mov dword [ebp - 0x210], edi
call fcn.00404870
mov ecx, eax
call fcn.00404870
mov ecx, eax
call fcn.00404870
mov ecx, eax
call fcn.00403ce0
cmp edi, eax
jl 0x4781b0
mov esi, dword [ebp - 0x218]
push 0x49c234
push 0
mov ecx, esi
call fcn.0040fe90
push 0x49c238
mov ecx, esi
call fcn.004052a0
lea ecx, [ebp - 0x15c]
call fcn.00405270
lea ecx, [ebp - 0x18c]
call fcn.00405270
lea ecx, [ebp - 0x174]
call fcn.00405270
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 0
call fcn.00402ea0
lea ecx, [ebp - 0x200]
call fcn.0041dcf0
mov al, byte [ebp - 0x202]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0042419e
mov esp, ebp
pop ebp
ret 4