Function at 0x1126220
Capabilities:
Hash data using sha1
Initialize hashing via wincrypt

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1147100
mov eax, dword fs:[0]
push eax
sub esp, 0x34
push ebx
push esi
push edi
mov eax, dword [0x115f604]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
xor edi, edi
mov dword [ebp - 0x10], edi
mov dword [ebp - 4], edi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x38], edi
mov eax, dword [0x1161d94]
mov edx, dword [eax + 0xc]
mov ecx, 0x1161d94
mov byte [ebp - 4], 1
mov dword [ebp - 0x20], edi
call edx
add eax, 0x10
mov dword [ebp - 0x1c], eax
mov eax, dword [0x1161d94]
mov edx, dword [eax + 0xc]
mov ecx, 0x1161d94
mov byte [ebp - 4], 2
call edx
add eax, 0x10
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x28], edi
cmp dword [esi + 0xc], edi
mov byte [ebp - 4], 4
je 0x11265c4
cmp dword [esi + 0x30], edi
je 0x11265c4
cmp dword [esi + 0x38], edi
je 0x11265c4
mov eax, dword [esi + 0x24]
lea edi, [esi + 0x24]
sub eax, 0x10
mov ecx, 1
sub ecx, dword [eax + 0xc]
mov eax, dword [eax + 8]
sub eax, 0x7d0
or eax, ecx
jge 0x11262db
push 0x7d0
mov ecx, edi
call fcn.01080db0
mov ecx, esi
call fcn.01125ee0
mov ebx, eax
test ebx, ebx
jl 0x11262fd
mov eax, dword [edi]
mov edx, dword [eax - 0xc]
mov ecx, dword [esi + 0x34]
cmp edx, ecx
jg 0x1126384
mov ebx, 0x8004131a
xor edi, edi
mov eax, dword [ebp - 0x10]
cmp eax, edi
mov esi, dword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
je 0x1126312
push eax
call esi
mov dword [ebp - 0x10], edi
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
mov byte [ebp - 4], 2
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x1126335
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff0
mov byte [ebp - 4], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x1126358
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x3c]
cmp eax, edi
je 0x1126366
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [ebp - 0x10]
cmp eax, edi
je 0x1126370
push eax
call esi
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
add ecx, eax
mov eax, dword [esi + 0x3c]
mov dword [ebp - 0x14], ecx
lea ecx, [ebp - 0x10]
push ecx
push 0
push 0
push 0x8004
push eax
call dword [sym.imp.ADVAPI32.dll_CryptCreateHash]
test eax, eax
jne 0x11263b3
call fcn.01071a70
mov ebx, eax
test ebx, ebx
jl 0x11262fd
push 0
push 0x37
push 0x10697ac
lea ecx, [ebp - 0x10]
call fcn.010d3d60
mov ebx, eax
test ebx, ebx
jl 0x11262fd
mov edx, dword [edi]
mov eax, dword [edx - 0xc]
sub eax, dword [esi + 0x34]
push 0
push eax
mov eax, dword [ebp - 0x14]
push eax
lea ecx, [ebp - 0x10]
call fcn.010d3d60
mov ebx, eax
test ebx, ebx
jl 0x11262fd
mov ecx, dword [esi + 0x44]
push ecx
push 0
lea edx, [ebp - 0x20]
push edx
push 0
lea ecx, [ebp - 0x10]
call fcn.01125410
mov ebx, eax
test ebx, ebx
jl 0x11262fd
mov eax, dword [esi + 0x44]
mov edx, dword [ebp - 0x20]
push eax
push 0
lea ecx, [ebp - 0x20]
push ecx
push 0
push edx
lea ecx, [ebp - 0x40]
call fcn.010d42a0
push eax
lea ecx, [ebp - 0x10]
call fcn.01125410
mov ebx, eax
test ebx, ebx
jl 0x11262fd
lea ecx, [ebp - 0x40]
call fcn.011254f0
mov eax, dword [ebp - 0x40]
push 0
push eax
call fcn.0109ff70
push 0
lea ecx, [ebp - 0x14]
push ecx
push eax
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x14], eax
call fcn.010a0610
mov edx, dword [ebp - 0x40]
push eax
mov eax, dword [ebp - 0x3c]
push edx
push eax
call fcn.010a0010
mov ecx, dword [ebp - 0x14]
push ecx
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x24], eax
call fcn.010976b0
cmp dword [ebp - 0x24], 0
jne 0x112648a
mov ebx, 0x80045c0e
jmp 0x11262fd
mov edx, dword [esi + 0x20]
cmp dword [edx - 0xc], 0
jne 0x112652d
mov ebx, 0x14
push ebx
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
test eax, eax
mov dword [ebp - 0x30], eax
jne 0x11264c1
push 0x114de9c
lea eax, [ebp - 0x24]
push eax
mov dword [ebp - 0x24], 0x8007000e
call fcn.01083d3b
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x2c], ebx
lea ecx, [ebp - 0x34]
push ecx
push ebx
mov ecx, esi
mov byte [ebp - 4], 5
call fcn.01125520
mov ebx, eax
test ebx, ebx
jge 0x11264ea
lea ecx, [ebp - 0x34]
call fcn.010975a0
jmp 0x11262fd
mov edx, dword [ebp - 0x34]
push 0
push edx
call fcn.0109ff70
push 0
lea ecx, [ebp - 0x14]
push ecx
push eax
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x14], eax
call fcn.010a0610
mov edx, dword [ebp - 0x34]
push eax
mov eax, dword [ebp - 0x30]
push edx
push eax
call fcn.010a0010
mov ecx, dword [ebp - 0x14]
push ecx
lea ecx, [ebp - 0x18]
call fcn.010976b0
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 4
call fcn.010975a0
push 0x1069bf4
mov ecx, edi
call fcn.010d63f0
lea edx, [ebp - 0x1c]
push edx
mov ecx, edi
call fcn.010ece70
push 0x1069bd8
mov ecx, edi
call fcn.010d63f0
mov ecx, dword [esi + 0x20]
cmp dword [ecx - 0xc], 0
lea eax, [esi + 0x20]
mov ecx, edi
jne 0x1126581
push 0x1069bc4
call fcn.010d63f0
lea edx, [ebp - 0x18]
push edx
mov ecx, edi
call fcn.010ece70
push 0x1069bac
mov ecx, edi
call fcn.010d63f0
jmp 0x1126587
push eax
call fcn.010ece70
mov eax, dword [esi + 0x1c]
add esi, 0x1c
cmp dword [eax - 0xc], 0
je 0x11265b3
push 0x1069ba0
mov ecx, edi
call fcn.010d63f0
push esi
mov ecx, edi
call fcn.010ece70
push 0x1069b94
mov ecx, edi
call fcn.010d63f0
push 0x1069b7c
mov ecx, edi
call fcn.010d63f0
jmp 0x11262fd
mov ebx, 0x80041319
jmp 0x11262ff