Function at 0x1006275f
Capabilities:
Hash data via bcrypt

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
push esi
mov esi, ecx
mov dword [ebp - 0x1c], edx
push edi
mov dword [ebp - 8], esi
mov eax, dword [esi + 0x440]
mov ebx, dword [eax]
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebx + 0x6c], eax
jne 0x100627a5
mov eax, 0x40000
push eax
mov dword [ebx + 0x70], eax
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o_malloc]
mov dword [ebx + 0x6c], eax
pop ecx
test eax, eax
jne 0x100627a5
push 0x10018920
jmp 0x100629f1
mov edx, ebx
mov ecx, esi
call fcn.10062703
test eax, eax
jne 0x100629ff
mov ecx, dword [esi + 0x168]
lea eax, [ebp - 0x14]
xor edx, edx
push eax
inc edx
call fcn.1003796c
mov ecx, dword [ebx + 0x44]
mov edi, dword [ebp - 0x14]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], eax
mov dx, word [ecx + 0x56]
xor ecx, ecx
and dx, 8
mov word [ebp - 2], dx
cmp cx, dx
jne 0x10062800
mov eax, edi
cdq
cmp edx, dword [ebx + 0x4c]
jl 0x100627f9
jg 0x100627f6
cmp eax, dword [ebx + 0x48]
jbe 0x100627f9
mov edi, dword [ebx + 0x48]
mov dx, word [ebp - 2]
mov eax, dword [ebp - 0xc]
test edi, edi
jns 0x10062810
push 0x10018940
push 0x2a
jmp 0x100629f3
mov cl, byte [ebx + 0x1e48]
mov byte [ebp - 1], cl
test cl, cl
jne 0x10062829
cmp byte [ebx + 0x1e80], cl
je 0x100628e1
mov eax, dword [ebx + 0x1e34]
mov ecx, eax
cmp eax, edi
jae 0x100628d9
mov esi, dword [ebx + 0x1e30]
add esi, dword [ebx + 0x1e28]
sub esi, dword [ebx + 0x1e2c]
sub esi, eax
cmp esi, edi
cmova esi, edi
xor ecx, ecx
cmp cx, dx
jne 0x1006288d
mov edx, dword [ebx + 0x4c]
xor edi, edi
mov ecx, dword [ebx + 0x48]
cmp edx, edi
jl 0x1006288d
jg 0x1006286b
cmp ecx, edi
jbe 0x1006288d
lea edi, [eax + esi]
cmp dword [ebp - 0x18], edx
jl 0x1006288d
jg 0x10062879
cmp edi, ecx
jbe 0x1006288d
xor esi, esi
cmp edx, esi
jg 0x10062889
jl 0x10062885
cmp ecx, eax
jae 0x10062889
mov ecx, eax
jmp 0x100628d6
mov esi, ecx
sub esi, eax
mov ecx, eax
test esi, esi
je 0x100628d6
add eax, dword [ebx + 0x1e2c]
cmp byte [ebp - 1], 0
je 0x100628b2
mov edx, dword [ebp - 0x10]
lea ecx, [ebx + 0x1e3c]
push esi
push eax
push esi
call fcn.10060459
jmp 0x100628ca
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x18], esi
push ecx
push eax
push esi
push dword [ebp - 0x10]
lea eax, [ebx + 0x1e4c]
push eax
call fcn.1002c4c0
add dword [ebx + 0x1e34], esi
mov ecx, dword [ebx + 0x1e34]
mov esi, dword [ebp - 8]
mov eax, dword [ebx + 0x1e2c]
mov edi, ecx
lea ecx, [ebx + 0x74]
mov dword [ebx + 0x78], edi
mov dword [ecx], eax
xor edi, edi
mov eax, dword [ebx + 0x6c]
xor edx, edx
mov dword [ebx + 0x80], eax
mov eax, dword [ebx + 0x70]
mov dword [ebx + 0x7c], edi
mov dword [ebx + 0x84], eax
mov dword [ebx + 0x88], edi
call fcn.10089f74
cmp eax, 0xfffffffc
je 0x100629ec
test eax, eax
je 0x10062939
cmp eax, 1
je 0x10062935
push eax
push 0x1001897c
push 0xffffffffffffffff
push esi
call sym.archiveint.dll_archive_set_error
add esp, 0x10
jmp 0x100629fc
mov byte [ebx + 0x6a], 1
cmp byte [ebx + 0x1e48], 0
mov esi, dword [ebx + 0x7c]
jne 0x1006294e
cmp byte [ebx + 0x1e80], 0
je 0x1006296a
sub dword [ebx + 0x1e34], esi
jne 0x10062964
mov eax, dword [ebx + 0x1e28]
mov dword [ebx + 0x1e2c], eax
jmp 0x1006296a
add dword [ebx + 0x1e2c], esi
cmp byte [ebx + 0x1e94], 0
je 0x10062984
push edi
push esi
push dword [ebp - 0x10]
push dword [ebx + 0x1e88]
call dword [sym.imp.bcrypt.dll_BCryptHashData]
mov ecx, dword [ebp - 8]
mov eax, esi
cdq
mov edi, edx
mov esi, eax
push edi
push esi
call fcn.10037bf6
sub dword [ebx + 0x48], esi
mov eax, dword [ebp + 8]
sbb dword [ebx + 0x4c], edi
add dword [ebx + 0x50], esi
mov ecx, dword [ebx + 0x88]
adc dword [ebx + 0x54], edi
mov dword [eax], ecx
mov eax, dword [ebx + 0x88]
add dword [ebx + 0x58], eax
mov ecx, dword [ebp - 0x1c]
push 0
pop eax
adc dword [ebx + 0x5c], eax
mov eax, dword [ebx + 0x6c]
mov dword [ecx], eax
cmp byte [ebx + 0x6a], 0
je 0x100629e0
cmp byte [ebx + 0x1e94], 0
je 0x100629e0
mov ecx, dword [ebp - 8]
xor edx, edx
call fcn.100615c5
test eax, eax
jne 0x100629ff
mov ecx, dword [ebp - 8]
mov edx, ebx
call fcn.10061981
jmp 0x100629ff
push 0x10018958
push 0xc
push esi
call sym.archiveint.dll_archive_set_error
add esp, 0xc
push 0xffffffffffffffe2
pop eax
pop edi
pop esi
pop ebx
leave
ret 8