Function at 0x10069372
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4f0
push ebx
push esi
xor ebx, ebx
push edi
push ebx
call fcn.100680fb
mov esi, dword [sym.imp.KERNEL32.dll_SetFilePointer]
pop ecx
lea eax, [ebp - 0x10]
push 1
push eax
push ebx
push dword [ebp + 8]
mov dword [ebp - 0x10], ebx
call esi
push ebx
push ebx
push ebx
mov dword [ebp - 0x14], eax
push dword [ebp + 8]
call esi
mov ecx, 0x105
xor eax, eax
lea edi, [ebp - 0x4ef]
mov byte [ebp - 0x4f0], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x4f0]
push 0x418
push eax
push dword [ebp + 8]
call fcn.1006bccb
add esp, 0xc
mov edi, eax
lea eax, [ebp - 0x10]
push ebx
push eax
push dword [ebp - 0x14]
push dword [ebp + 8]
call esi
cmp edi, ebx
jne 0x100693f2
push 0x2154
push 0xf
jmp 0x1006943d
lea eax, [ebp - 0x4f0]
push eax
call fcn.1006bdf6
cmp eax, ebx
pop ecx
jne 0x1006940c
push 0x215b
push 0x23
jmp 0x1006943d
push 1
cmp eax, 3
pop ecx
mov dword [ebp - 4], ecx
jne 0x10069545
push dword [ebp - 0x4bc]
lea eax, [ebp - 0x4f0]
push 0x34
push eax
call fcn.10074c8c
add esp, 0xc
test eax, eax
jne 0x1006944b
push 0x2164
push 0x1c
call fcn.100680dd
pop ecx
xor eax, eax
pop ecx
jmp 0x10069872
mov eax, dword [ebp - 0x4c4]
cmp dword [ebp + 0x10], eax
mov dword [ebp - 0x18], eax
jae 0x1006947e
mov ecx, dword [ebp + 0x14]
cmp ecx, ebx
je 0x10069462
mov dword [ecx], eax
cmp dword [ebp + 0xc], ebx
je 0x10069565
push 0x2170
push 0x20
call fcn.100680dd
pop ecx
pop ecx
jmp 0x10069565
cmp eax, 0x3e0
mov dword [ebp - 8], ebx
lea edi, [ebp - 0x4b8]
jbe 0x10069505
push eax
mov dword [ebp - 4], ebx
call fcn.1007e238
mov edi, eax
pop ecx
cmp edi, ebx
je 0x1006986f
push dword [ebp - 0x18]
push ebx
push edi
call fcn.1007e1e0
add esp, 0xc
mov dword [ebp - 8], 1
push ebx
push ebx
push dword [ebp - 0x4c8]
push dword [ebp + 8]
call esi
lea eax, [ebp - 0xc]
push ebx
push eax
mov dword [ebp - 0xc], ebx
push dword [ebp - 0x18]
push edi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x100694e5
mov dword [ebp - 4], 1
jmp 0x100694f3
push 0x2188
push 0xd
call fcn.100680dd
pop ecx
pop ecx
lea eax, [ebp - 0x10]
push ebx
push eax
push dword [ebp - 0x14]
push dword [ebp + 8]
call esi
cmp dword [ebp - 4], ebx
je 0x1006953f
push dword [ebp + 0x14]
lea eax, [ebp - 0x4f0]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp - 0x18]
push edi
push eax
call fcn.10071693
add esp, 0x18
cmp eax, ebx
mov dword [ebp - 4], eax
jne 0x10069536
push 0x2194
push 0x18
call fcn.100680dd
pop ecx
pop ecx
cmp dword [ebp - 8], ebx
je 0x1006986f
push edi
jmp 0x1006985a
cmp eax, 2
je 0x10069552
cmp eax, ecx
jne 0x1006986f
mov ecx, 0x240
cmp dword [ebp + 0x10], ecx
jae 0x10069572
mov eax, dword [ebp + 0x14]
cmp eax, ebx
je 0x10069565
mov dword [eax], ecx
xor eax, eax
cmp dword [ebp + 0xc], ebx
sete al
jmp 0x10069872
cmp dword [ebp - 0x4ac], ebx
je 0x100696b2
push dword [ebp - 0x4ac]
call fcn.1007e238
mov edi, eax
pop ecx
cmp edi, ebx
mov dword [ebp + 0x10], edi
je 0x100696a4
push dword [ebp - 0x4ac]
push ebx
push edi
call fcn.1007e1e0
add esp, 0xc
push ebx
push ebx
push 0x100
push dword [ebp + 8]
call esi
lea eax, [ebp - 0xc]
push ebx
push eax
mov dword [ebp - 0xc], ebx
push dword [ebp - 0x4ac]
push edi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1006968d
push 2
call fcn.1005fb73
cmp eax, ebx
pop ecx
mov dword [ebp + 0x14], eax
je 0x1006967f
push 0xf
xor eax, eax
pop ecx
lea edi, [ebp - 0x57]
mov byte [ebp - 0x58], bl
push str.sdheader
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x58]
push eax
call fcn.1007e520
pop ecx
xor eax, eax
pop ecx
lea edi, [ebp - 0xd4]
push 0x1f
mov dword [ebp - 0xd8], ebx
pop ecx
mov dword [ebp - 8], ebx
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 0x14]
mov edi, dword [eax]
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0xd8]
push 0x80
push eax
push dword [ebp - 0x4ac]
lea eax, [ebp - 0x58]
push dword [ebp + 0x10]
push eax
call fcn.1007e450
pop ecx
mov ecx, dword [ebp + 0x14]
push eax
lea eax, [ebp - 0x58]
push eax
call dword [edi + 0x14]
cmp eax, ebx
mov dword [ebp - 4], eax
je 0x10069676
mov edi, dword [ebp + 0xc]
lea eax, [ebp - 0xc0]
push 0x10
push eax
push edi
call fcn.1007dea0
mov eax, dword [ebp - 0xa0]
add esp, 0xc
mov dword [edi + 0x50], eax
jmp 0x1006968d
push 0x21d5
push 0x12
jmp 0x10069686
push 0x21da
push 0xc
call fcn.100680dd
pop ecx
pop ecx
lea eax, [ebp - 0x10]
push ebx
push eax
push dword [ebp - 0x14]
push dword [ebp + 8]
call esi
push dword [ebp + 0x10]
call fcn.1007de95
jmp 0x100696b1
push 0x21e7
push 0x21
call fcn.100680dd
pop ecx
pop ecx
cmp dword [ebp - 0x4a8], ebx
jbe 0x1006986f
push dword [ebp - 0x4a8]
call fcn.1007e238
mov edi, eax
pop ecx
cmp edi, ebx
mov dword [ebp + 0x10], edi
je 0x10069861
push dword [ebp - 0x4a8]
push ebx
push edi
call fcn.1007e1e0
mov eax, dword [ebp - 0x4ac]
add esp, 0xc
add eax, 0x100
push ebx
push ebx
push eax
push dword [ebp + 8]
call esi
lea eax, [ebp - 0xc]
push ebx
push eax
mov dword [ebp - 0xc], ebx
push dword [ebp - 0x4a8]
push edi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1006984a
push 2
call fcn.1005fb73
cmp eax, ebx
pop ecx
mov dword [ebp + 0x14], eax
je 0x1006983c
push 0xf
xor eax, eax
pop ecx
lea edi, [ebp - 0x57]
mov byte [ebp - 0x58], bl
push str.sdheader
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x58]
push eax
call fcn.1007e520
pop ecx
xor eax, eax
pop ecx
lea edi, [ebp - 0xd4]
push 0x1f
mov dword [ebp - 0xd8], ebx
pop ecx
mov dword [ebp - 8], ebx
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 0x14]
mov edi, dword [eax]
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0xd8]
push 0x80
push eax
push dword [ebp - 0x4ac]
lea eax, [ebp - 0x58]
push dword [ebp + 0x10]
push eax
call fcn.1007e450
pop ecx
mov ecx, dword [ebp + 0x14]
push eax
lea eax, [ebp - 0x58]
push eax
call dword [edi + 0x14]
cmp eax, ebx
mov dword [ebp - 4], eax
je 0x10069833
mov eax, dword [ebp + 0xc]
push 1
pop edi
xor ecx, ecx
cmp dword [ebp - 0xa0], edi
mov dword [eax + 0x214], edi
fld qword [ebp - 0xc0]
setne cl
mov dword [eax + 0x1f0], ecx
xor ecx, ecx
cmp dword [ebp - 0x9c], edi
mov dword [eax + 0x1f8], edi
fstp qword [eax + 0x228]
setne cl
mov dword [eax + 0x1fc], ecx
xor ecx, ecx
cmp dword [ebp - 0x98], edi
fld qword [ebp - 0xb8]
setne cl
mov dword [eax + 0x208], ecx
xor ecx, ecx
cmp dword [ebp - 0x94], edi
fstp qword [eax + 0x230]
setne cl
mov dword [eax + 0x1f4], ecx
xor ecx, ecx
cmp dword [ebp - 0x90], edi
setne cl
mov dword [eax + 0x20c], ecx
xor ecx, ecx
cmp dword [ebp - 0x8c], edi
setne cl
mov dword [eax + 0x210], ecx
jmp 0x1006984a
push 0x2216
push 0x12
jmp 0x10069843
push 0x221b
push 0xc
call fcn.100680dd
pop ecx
pop ecx
lea eax, [ebp - 0x10]
push ebx
push eax
push dword [ebp - 0x14]
push dword [ebp + 8]
call esi
push dword [ebp + 0x10]
call fcn.1007de95
jmp 0x1006986e
push 0x2227
push 0x21
call fcn.100680dd
pop ecx
pop ecx
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
leave
ret