Function at 0x10069490
Capabilities:
Hash data with md5
Write file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1084
call fcn.1008bd60
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0
push 0
push 2
push 0
push 0
push 0x40000000
mov esi, ecx
mov dword [ebp - 0x1080], 1
push edx
mov dword [ebp - 0x107c], esi
call dword [sym.imp.KERNEL32.DLL_CreateFileW]
mov ebx, eax
cmp ebx, 0xffffffff
je 0x10069819
push 0
lea eax, [ebp - 0x1074]
push eax
push 4
lea eax, [ebp - 0x1080]
push eax
push ebx
call dword [sym.imp.KERNEL32.DLL_WriteFile]
test eax, eax
je 0x1006950a
cmp dword [ebp - 0x1074], 4
jne 0x1006950a
mov edi, 1
jmp 0x1006950c
xor edi, edi
mov eax, dword [esi]
mov dword [ebp - 0x1070], 0
mov dword [ebp - 0x106c], 0
mov dword [ebp - 0x1068], 0x67452301
mov esi, dword [eax]
mov dword [ebp - 0x1064], 0xefcdab89
mov dword [ebp - 0x1060], 0x98badcfe
mov dword [ebp - 0x105c], 0x10325476
cmp esi, eax
je 0x100697a7
mov edi, dword [sym.imp.KERNEL32.DLL_WriteFile]
lea ebx, [ebx]
push 0
lea ecx, [ebp - 0x1074]
push ecx
push 4
lea eax, [esi + 8]
push eax
push ebx
call edi
test eax, eax
je 0x100697fd
cmp dword [ebp - 0x1074], 4
jne 0x100697fd
push 4
lea edx, [esi + 8]
lea ecx, [ebp - 0x1070]
call fcn.100762d0
add esp, 4
lea ecx, [ebp - 0x1074]
lea eax, [esi + 0xc]
push 0
push ecx
push 0x10
push eax
push ebx
call edi
test eax, eax
je 0x100697fd
cmp dword [ebp - 0x1074], 0x10
jne 0x100697fd
push 0x10
lea edx, [esi + 0xc]
lea ecx, [ebp - 0x1070]
call fcn.100762d0
add esp, 4
lea ecx, [ebp - 0x1074]
lea eax, [esi + 0x20]
push 0
push ecx
push 4
push eax
push ebx
call edi
test eax, eax
je 0x100697fd
cmp dword [ebp - 0x1074], 4
jne 0x100697fd
push 4
lea edx, [esi + 0x20]
lea ecx, [ebp - 0x1070]
call fcn.100762d0
add esp, 4
lea ecx, [ebp - 0x1074]
lea eax, [esi + 0x24]
push 0
push ecx
push 4
push eax
push ebx
call edi
test eax, eax
je 0x100697fd
cmp dword [ebp - 0x1074], 4
jne 0x100697fd
push 4
lea edx, [esi + 0x24]
lea ecx, [ebp - 0x1070]
call fcn.100762d0
add esp, 4
lea ecx, [ebp - 0x1074]
lea eax, [esi + 0x28]
push 0
push ecx
push 8
push eax
push ebx
call edi
test eax, eax
je 0x100697fd
cmp dword [ebp - 0x1074], 8
jne 0x100697fd
push 8
lea edx, [esi + 0x28]
lea ecx, [ebp - 0x1070]
call fcn.100762d0
add esp, 4
lea ecx, [ebp - 0x1074]
lea eax, [esi + 0x30]
push 0
push ecx
push 8
push eax
push ebx
call edi
test eax, eax
je 0x100697fd
cmp dword [ebp - 0x1074], 8
jne 0x100697fd
push 8
lea edx, [esi + 0x30]
lea ecx, [ebp - 0x1070]
call fcn.100762d0
mov eax, dword [esi + 0x48]
lea ecx, [esi + 0x38]
add esp, 4
cmp dword [ecx + 0x14], 8
lea edx, [eax*2 + 2]
jb 0x100696d1
mov ecx, dword [ecx]
lea edi, [ebp - 0x1018]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edi], ax
lea edi, [edi + 2]
test ax, ax
jne 0x100696d7
lea eax, [ebp - 0x1078]
push eax
lea eax, [ebp - 0x818]
push eax
push 5
push 0x100c6984
lea ecx, [ebp - 0x1018]
call fcn.1005d0c0
mov edi, dword [sym.imp.KERNEL32.DLL_WriteFile]
lea eax, [ebp - 0x1074]
add esp, 0x10
push 0
push eax
push 4
lea eax, [ebp - 0x1078]
push eax
push ebx
call edi
test eax, eax
je 0x100697fd
cmp dword [ebp - 0x1074], 4
jne 0x100697fd
push 4
lea edx, [ebp - 0x1078]
lea ecx, [ebp - 0x1070]
call fcn.100762d0
add esp, 4
lea eax, [ebp - 0x1074]
push 0
push eax
push dword [ebp - 0x1078]
lea eax, [ebp - 0x818]
push eax
push ebx
call edi
test eax, eax
je 0x100697fd
mov eax, dword [ebp - 0x1078]
cmp dword [ebp - 0x1074], eax
jne 0x100697fd
push eax
lea edx, [ebp - 0x818]
lea ecx, [ebp - 0x1070]
call fcn.100762d0
mov eax, dword [ebp - 0x107c]
add esp, 4
mov esi, dword [esi]
cmp esi, dword [eax]
jne 0x10069560
jmp 0x100697b1
test edi, edi
je 0x100697ff
mov edi, dword [sym.imp.KERNEL32.DLL_WriteFile]
lea edx, [ebp - 0x14]
lea ecx, [ebp - 0x1070]
call fcn.10076390
push 0
lea eax, [ebp - 0x1074]
push eax
push 0x10
lea eax, [ebp - 0x14]
push eax
push ebx
call edi
test eax, eax
je 0x100697fd
cmp dword [ebp - 0x1074], 0x10
jne 0x100697fd
push ebx
mov edi, 1
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1007aa10
mov esp, ebp
pop ebp
ret
xor edi, edi
push ebx
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1007aa10
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1007aa10
mov esp, ebp
pop ebp
ret