Function at 0x1006fdd0
Capabilities:
Hash data using sha256

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x24bc
call fcn.10029de0
mov eax, dword [ebp + 0x14]
push ebx
push esi
push edi
mov dword [0x10097820], eax
mov eax, dword [ebp + 0xc]
push 0x1000
mov dword [0x10097828], eax
lea eax, [esp + 0x4cc]
push 0
push eax
call fcn.1002b840
add esp, 0xc
lea eax, [esp + 0x14c8]
push 0x1000
push 0
push eax
call fcn.1002b840
add esp, 0xc
call fcn.10001d70
test eax, eax
je 0x10070244
mov edx, dword [eax]
cmp edx, vtable.ATL::CAtlStringMgr.0
jne 0x1007024e
lock inc dword [eax + 0x14]
add eax, 8
push 0
add eax, 0x10
lea ecx, [esp + 0x20]
push 0x10089140
mov dword [esp + 0x24], eax
call fcn.100043b0
lea ecx, [esp + 0x24]
call section..ef69jr3
call fcn.10001d70
test eax, eax
je 0x10070258
mov edx, dword [eax]
cmp edx, vtable.ATL::CAtlStringMgr.0
jne 0x10070262
lock inc dword [eax + 0x14]
add eax, 8
add eax, 0x10
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], eax
call fcn.100711e0
call fcn.10001d70
test eax, eax
je 0x1007026c
mov edx, dword [eax]
cmp edx, vtable.ATL::CAtlStringMgr.0
jne 0x10070276
lock inc dword [eax + 0x14]
add eax, 8
add eax, 0x10
lea ecx, [esp + 0x14]
mov dword [esp + 0x14], eax
call fcn.10070bb0
lea ecx, [esp + 0x20]
call fcn.10070fd0
call fcn.10001d70
test eax, eax
je 0x10070280
mov edx, dword [eax]
cmp edx, vtable.ATL::CAtlStringMgr.0
jne 0x1007028a
lock inc dword [eax + 0x14]
add eax, 8
add eax, 0x10
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], eax
call fcn.10070d10
push dword [esp + 0x1c]
lea eax, [esp + 0x4cc]
push 0x800
push eax
call fcn.10048724
add esp, 0xc
lea eax, [esp + 0x4c8]
push dword [esp + 0x24]
push 0x800
push eax
call fcn.100487fa
add esp, 0xc
lea eax, [esp + 0x4c8]
push dword [esp + 0x18]
push 0x800
push eax
call fcn.100487fa
mov edi, dword [esp + 0x20]
lea eax, [esp + 0x4d4]
add esp, 0xc
push edi
push 0x800
push eax
call fcn.100487fa
mov esi, dword [esp + 0x1c]
lea eax, [esp + 0x14d4]
add esp, 0xc
push esi
push 0x800
push eax
call fcn.100487fa
add esp, 0xc
lea eax, [esp + 0x14c8]
push dword [esp + 0x20]
push 0x800
push eax
call fcn.100487fa
add esp, 0xc
mov dword [esp + 0x48], 0
lea eax, [esp + 0x4c8]
mov dword [esp + 0x8c], 0x6a09e667
xorps xmm0, xmm0
mov dword [esp + 0x90], 0xbb67ae85
movlpd qword [esp + 0x40], xmm0
push 0x800
push eax
mov dword [esp + 0x9c], 0x3c6ef372
mov dword [esp + 0xa0], 0xa54ff53a
mov dword [esp + 0xa4], 0x510e527f
mov dword [esp + 0xa8], 0x9b05688c
mov dword [esp + 0xac], 0x1f83d9ab
mov dword [esp + 0xb0], 0x5be0cd19
call fcn.1003699f
add esp, 8
lea ecx, [esp + 0x40]
add eax, eax
push eax
lea eax, [esp + 0x4cc]
push eax
lea eax, [esp + 0x30]
push eax
call fcn.10075970
lea eax, [esp + 0x14c8]
push 0x800
push eax
call fcn.1003699f
add esp, 8
lea ecx, [esp + 0x40]
add eax, eax
push eax
lea eax, [esp + 0x14cc]
push eax
lea eax, [esp + 0xb8]
push eax
call fcn.10075970
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x34]
call fcn.10003560
lea ecx, [esp + 0xb0]
call fcn.100027d0
push 0x400
lea eax, [esp + 0xcc]
push 0
push eax
call fcn.1002b840
add esp, 0xc
lea eax, [esp + 0x28]
cmp dword [esp + 0x3c], 0x10
cmovae eax, dword [esp + 0x28]
push eax
push 0x1008a240
lea eax, [esp + 0xd0]
push 0x400
push eax
call fcn.10001280
add esp, 0x10
cmp dword [0x10097820], 0
je 0x100700fe
mov eax, dword [0x10097828]
add eax, 0x404
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
push dword [0x10097828]
mov ebx, eax
lea eax, [esp + 0xcc]
push eax
lea ecx, [ebx + 4]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
mov edx, dword [0x10097820]
mov ecx, dword [edx]
mov dword [ebx], ecx
mov dword [edx], ebx
lea ecx, [esp + 0x28]
call fcn.100027d0
lea ecx, [esi - 0x10]
or esi, 0xffffffff
mov eax, esi
lock xadd dword [ecx + 0xc], eax
dec eax
mov ebx, dword [sym.imp.KERNEL32.dll_HeapFree]
test eax, eax
jg 0x10070144
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov edi, dword [eax + 4]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x18]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x10070294
mov eax, dword [edx + 4]
push 0
push dword [eax + 4]
call ebx
mov ecx, dword [esp + 0x20]
mov eax, esi
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x1007017c
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov edi, dword [eax + 4]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x18]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x1007029f
mov eax, dword [edx + 4]
push 0
push dword [eax + 4]
call ebx
add edi, 0xfffffff0
mov eax, esi
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x100701a8
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
mov edx, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x100702aa
mov eax, dword [ecx + 4]
push 0
push dword [eax + 4]
call ebx
mov ecx, dword [esp + 0x18]
mov eax, esi
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x100701d8
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov edi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x100702b1
mov eax, dword [edx + 4]
push 0
push dword [eax + 4]
call ebx
mov ecx, dword [esp + 0x24]
mov eax, esi
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x10070208
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov edi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x100702ba
mov eax, dword [edx + 4]
push 0
push dword [eax + 4]
call ebx
mov ecx, dword [esp + 0x1c]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], esi
dec esi
test esi, esi
jg 0x1007023d
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x100702c3
mov eax, dword [edx + 4]
push 0
push dword [eax + 4]
call ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.10001310
mov ecx, eax
call dword [edx + 0xc]
jmp 0x1006fe43
push 0x80004005
call fcn.10001310
mov ecx, eax
call dword [edx + 0xc]
jmp 0x1006fe85
push 0x80004005
call fcn.10001310
mov ecx, eax
call dword [edx + 0xc]
jmp 0x1006feb7
push 0x80004005
call fcn.10001310
mov ecx, eax
call dword [edx + 0xc]
jmp 0x1006fef2
mov ecx, edx
call dword [esp + 0x14]
jmp 0x10070144
mov ecx, edx
call dword [esp + 0x14]
jmp 0x1007017c
call edx
jmp 0x100701a8
mov ecx, edx
call edi
jmp 0x100701d8
mov ecx, edx
call edi
jmp 0x10070208
mov ecx, edx
call esi
jmp 0x1007023d