Function at 0x1006fd80
Capabilities:
Hash data using sha256

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x24bc
call fcn.10029dd0
mov eax, dword [ebp + 0x14]
push ebx
push esi
push edi
mov dword [0x10097820], eax
mov eax, dword [ebp + 0xc]
push 0x1000
mov dword [0x10097824], eax
lea eax, [esp + 0x4cc]
push 0
push eax
call fcn.1002b830
add esp, 0xc
lea eax, [esp + 0x14c8]
push 0x1000
push 0
push eax
call fcn.1002b830
add esp, 0xc
call fcn.10001d70
test eax, eax
je 0x100701f4
mov edx, dword [eax]
cmp edx, vtable.ATL::CAtlStringMgr.0
jne 0x100701fe
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 fcn.100795c0
call fcn.10001d70
test eax, eax
je 0x10070208
mov edx, dword [eax]
cmp edx, vtable.ATL::CAtlStringMgr.0
jne 0x10070212
lock inc dword [eax + 0x14]
add eax, 8
add eax, 0x10
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], eax
call fcn.10079910
call fcn.10001d70
test eax, eax
je 0x1007021c
mov edx, dword [eax]
cmp edx, vtable.ATL::CAtlStringMgr.0
jne 0x10070226
lock inc dword [eax + 0x14]
add eax, 8
add eax, 0x10
lea ecx, [esp + 0x14]
mov dword [esp + 0x14], eax
call fcn.10078f90
lea ecx, [esp + 0x20]
call fcn.100793b0
call fcn.10001d70
test eax, eax
je 0x10070230
mov edx, dword [eax]
cmp edx, vtable.ATL::CAtlStringMgr.0
jne 0x1007023a
lock inc dword [eax + 0x14]
add eax, 8
add eax, 0x10
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], eax
call fcn.100790f0
push dword [esp + 0x1c]
lea eax, [esp + 0x4cc]
push 0x800
push eax
call fcn.10048714
add esp, 0xc
lea eax, [esp + 0x4c8]
push dword [esp + 0x24]
push 0x800
push eax
call fcn.100487ea
add esp, 0xc
lea eax, [esp + 0x4c8]
push dword [esp + 0x18]
push 0x800
push eax
call fcn.100487ea
mov edi, dword [esp + 0x20]
lea eax, [esp + 0x4d4]
add esp, 0xc
push edi
push 0x800
push eax
call fcn.100487ea
mov esi, dword [esp + 0x1c]
lea eax, [esp + 0x14d4]
add esp, 0xc
push esi
push 0x800
push eax
call fcn.100487ea
add esp, 0xc
lea eax, [esp + 0x14c8]
push dword [esp + 0x20]
push 0x800
push eax
call fcn.100487ea
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.1003698f
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.10074b00
lea eax, [esp + 0x14c8]
push 0x800
push eax
call fcn.1003698f
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.10074b00
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.1002b830
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 0x100700ae
mov eax, dword [0x10097824]
add eax, 0x404
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
push dword [0x10097824]
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 0x100700f4
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 0x10070244
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 0x1007012c
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 0x1007024f
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 0x10070158
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
mov edx, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x1007025a
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 0x10070188
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov edi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x10070261
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 0x100701b8
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov edi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x1007026a
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 0x100701ed
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x10070273
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 0x1006fdf3
push 0x80004005
call fcn.10001310
mov ecx, eax
call dword [edx + 0xc]
jmp 0x1006fe35
push 0x80004005
call fcn.10001310
mov ecx, eax
call dword [edx + 0xc]
jmp 0x1006fe67
push 0x80004005
call fcn.10001310
mov ecx, eax
call dword [edx + 0xc]
jmp 0x1006fea2
mov ecx, edx
call dword [esp + 0x14]
jmp 0x100700f4
mov ecx, edx
call dword [esp + 0x14]
jmp 0x1007012c
call edx
jmp 0x10070158
mov ecx, edx
call edi
jmp 0x10070188
mov ecx, edx
call edi
jmp 0x100701b8
mov ecx, edx
call esi
jmp 0x100701ed