Function at 0x43448c
Capabilities:
Hash data using sha1

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1a8
mov dword [ebp - 0xc], 0
jmp 0x4344c3
mov eax, dword [ebp - 0xc]
lea edx, [eax*4]
mov eax, dword [ebp + 0xc]
add eax, edx
mov dword [esp], eax
call sym._GET_32BIT_MSB_FIRST_5
mov edx, dword [ebp - 0xc]
mov dword [ebp + edx*4 - 0x164], eax
add dword [ebp - 0xc], 1
cmp dword [ebp - 0xc], 0xf
jbe 0x43449e
mov dword [ebp - 0x10], 0x10
jmp 0x43452a
mov eax, dword [ebp - 0x10]
sub eax, 3
mov edx, dword [ebp + eax*4 - 0x164]
mov eax, dword [ebp - 0x10]
sub eax, 8
mov eax, dword [ebp + eax*4 - 0x164]
xor edx, eax
mov eax, dword [ebp - 0x10]
sub eax, 0xe
mov eax, dword [ebp + eax*4 - 0x164]
xor edx, eax
mov eax, dword [ebp - 0x10]
sub eax, 0x10
mov eax, dword [ebp + eax*4 - 0x164]
xor eax, edx
mov dword [esp + 4], 1
mov dword [esp], eax
call sym._rol_2
mov edx, dword [ebp - 0x10]
mov dword [ebp + edx*4 - 0x164], eax
add dword [ebp - 0x10], 1
cmp dword [ebp - 0x10], 0x4f
jbe 0x4344d2
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0x168], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov dword [ebp - 0x170], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x174], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
jmp 0x4347f3
mov ecx, dword [ebp - 0x174]
mov edx, dword [ebp - 0x170]
mov eax, dword [ebp - 0x16c]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._Ch_3
mov edx, eax
mov eax, dword [ebp - 0x14]
lea ecx, [eax + 1]
mov dword [ebp - 0x14], ecx
mov dword [esp + 0x20], 0x5a827999
mov dword [esp + 0x1c], edx
lea edx, [ebp - 0x178]
mov dword [esp + 0x18], edx
lea edx, [ebp - 0x174]
mov dword [esp + 0x14], edx
lea edx, [ebp - 0x170]
mov dword [esp + 0x10], edx
lea edx, [ebp - 0x16c]
mov dword [esp + 0xc], edx
lea edx, [ebp - 0x168]
mov dword [esp + 8], edx
lea edx, [ebp - 0x164]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._sha1_sw_round
mov ecx, dword [ebp - 0x170]
mov edx, dword [ebp - 0x16c]
mov eax, dword [ebp - 0x168]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._Ch_3
mov edx, eax
mov eax, dword [ebp - 0x14]
lea ecx, [eax + 1]
mov dword [ebp - 0x14], ecx
mov dword [esp + 0x20], 0x5a827999
mov dword [esp + 0x1c], edx
lea edx, [ebp - 0x174]
mov dword [esp + 0x18], edx
lea edx, [ebp - 0x170]
mov dword [esp + 0x14], edx
lea edx, [ebp - 0x16c]
mov dword [esp + 0x10], edx
lea edx, [ebp - 0x168]
mov dword [esp + 0xc], edx
lea edx, [ebp - 0x178]
mov dword [esp + 8], edx
lea edx, [ebp - 0x164]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._sha1_sw_round
mov ecx, dword [ebp - 0x16c]
mov edx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x178]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._Ch_3
mov edx, eax
mov eax, dword [ebp - 0x14]
lea ecx, [eax + 1]
mov dword [ebp - 0x14], ecx
mov dword [esp + 0x20], 0x5a827999
mov dword [esp + 0x1c], edx
lea edx, [ebp - 0x170]
mov dword [esp + 0x18], edx
lea edx, [ebp - 0x16c]
mov dword [esp + 0x14], edx
lea edx, [ebp - 0x168]
mov dword [esp + 0x10], edx
lea edx, [ebp - 0x178]
mov dword [esp + 0xc], edx
lea edx, [ebp - 0x174]
mov dword [esp + 8], edx
lea edx, [ebp - 0x164]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._sha1_sw_round
mov ecx, dword [ebp - 0x168]
mov edx, dword [ebp - 0x178]
mov eax, dword [ebp - 0x174]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._Ch_3
mov edx, eax
mov eax, dword [ebp - 0x14]
lea ecx, [eax + 1]
mov dword [ebp - 0x14], ecx
mov dword [esp + 0x20], 0x5a827999
mov dword [esp + 0x1c], edx
lea edx, [ebp - 0x16c]
mov dword [esp + 0x18], edx
lea edx, [ebp - 0x168]
mov dword [esp + 0x14], edx
lea edx, [ebp - 0x178]
mov dword [esp + 0x10], edx
lea edx, [ebp - 0x174]
mov dword [esp + 0xc], edx
lea edx, [ebp - 0x170]
mov dword [esp + 8], edx
lea edx, [ebp - 0x164]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._sha1_sw_round
mov ecx, dword [ebp - 0x178]
mov edx, dword [ebp - 0x174]
mov eax, dword [ebp - 0x170]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._Ch_3
mov edx, eax
mov eax, dword [ebp - 0x14]
lea ecx, [eax + 1]
mov dword [ebp - 0x14], ecx
mov dword [esp + 0x20], 0x5a827999
mov dword [esp + 0x1c], edx
lea edx, [ebp - 0x168]
mov dword [esp + 0x18], edx
lea edx, [ebp - 0x178]
mov dword [esp + 0x14], edx
lea edx, [ebp - 0x174]
mov dword [esp + 0x10], edx
lea edx, [ebp - 0x170]
mov dword [esp + 0xc], edx
lea edx, [ebp - 0x16c]
mov dword [esp + 8], edx
lea edx, [ebp - 0x164]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._sha1_sw_round
add dword [ebp - 0x18], 1
cmp dword [ebp - 0x18], 3
jbe 0x43457e
mov dword [ebp - 0x1c], 0
jmp 0x434a7e
mov ecx, dword [ebp - 0x174]
mov edx, dword [ebp - 0x170]
mov eax, dword [ebp - 0x16c]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._Par
mov edx, eax
mov eax, dword [ebp - 0x14]
lea ecx, [eax + 1]
mov dword [ebp - 0x14], ecx
mov dword [esp + 0x20], 0x6ed9eba1
mov dword [esp + 0x1c], edx
lea edx, [ebp - 0x178]
mov dword [esp + 0x18], edx
lea edx, [ebp - 0x174]
mov dword [esp + 0x14], edx
lea edx, [ebp - 0x170]
mov dword [esp + 0x10], edx
lea edx, [ebp - 0x16c]
mov dword [esp + 0xc], edx
lea edx, [ebp - 0x168]
mov dword [esp + 8], edx
lea edx, [ebp - 0x164]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._sha1_sw_round
mov ecx, dword [ebp - 0x170]
mov edx, dword [ebp - 0x16c]
mov eax, dword [ebp - 0x168]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._Par
mov edx, eax
mov eax, dword [ebp - 0x14]
lea ecx, [eax + 1]
mov dword [ebp - 0x14], ecx
mov dword [esp + 0x20], 0x6ed9eba1
mov dword [esp + 0x1c], edx
lea edx, [ebp - 0x174]
mov dword [esp + 0x18], edx
lea edx, [ebp - 0x170]
mov dword [esp + 0x14], edx
lea edx, [ebp - 0x16c]
mov dword [esp + 0x10], edx
lea edx, [ebp - 0x168]
mov dword [esp + 0xc], edx
lea edx, [ebp - 0x178]
mov dword [esp + 8], edx
lea edx, [ebp - 0x164]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._sha1_sw_round
mov ecx, dword [ebp - 0x16c]
mov edx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x178]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._Par
mov edx, eax
mov eax, dword [ebp - 0x14]
lea ecx, [eax + 1]
mov dword [ebp - 0x14], ecx
mov dword [esp + 0x20], 0x6ed9eba1
mov dword [esp + 0x1c], edx
lea edx, [ebp - 0x170]
mov dword [esp + 0x18], edx
lea edx, [ebp - 0x16c]
mov dword [esp + 0x14], edx
lea edx, [ebp - 0x168]
mov dword [esp + 0x10], edx
lea edx, [ebp - 0x178]
mov dword [esp + 0xc], edx
lea edx, [ebp - 0x174]
mov dword [esp + 8], edx
lea edx, [ebp - 0x164]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._sha1_sw_round
mov ecx, dword [ebp - 0x168]
mov edx, dword [ebp - 0x178]
mov eax, dword [ebp - 0x174]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._Par
mov edx, eax
mov eax, dword [ebp - 0x14]
lea ecx, [eax + 1]
mov dword [ebp - 0x14], ecx
mov dword [esp + 0x20], 0x6ed9eba1
mov dword [esp + 0x1c], edx
lea edx, [ebp - 0x16c]
mov dword [esp + 0x18], edx
lea edx, [ebp - 0x168]
mov dword [esp + 0x14], edx
lea edx, [ebp - 0x178]
mov dword [esp + 0x10], edx
lea edx, [ebp - 0x174]
mov dword [esp + 0xc], edx
lea edx, [ebp - 0x170]
mov dword [esp + 8], edx
lea edx, [ebp - 0x164]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._sha1_sw_round
mov ecx, dword [ebp - 0x178]
mov edx, dword [ebp - 0x174]
mov eax, dword [ebp - 0x170]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._Par
mov edx, eax
mov eax, dword [ebp - 0x14]
lea ecx, [eax + 1]
mov dword [ebp - 0x14], ecx
mov dword [esp + 0x20], 0x6ed9eba1
mov dword [esp + 0x1c], edx
lea edx, [ebp - 0x168]
mov dword [esp + 0x18], edx
lea edx, [ebp - 0x178]
mov dword [esp + 0x14], edx
lea edx, [ebp - 0x174]
mov dword [esp + 0x10], edx
lea edx, [ebp - 0x170]
mov dword [esp + 0xc], edx
lea edx, [ebp - 0x16c]
mov dword [esp + 8], edx
lea edx, [ebp - 0x164]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._sha1_sw_round
add dword [ebp - 0x1c], 1
cmp dword [ebp - 0x1c], 3
jbe 0x434809
mov dword [ebp - 0x20], 0
jmp 0x434d09
mov ecx, dword [ebp - 0x174]
mov edx, dword [ebp - 0x170]
mov eax, dword [ebp - 0x16c]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._Maj_2
mov edx, eax
mov eax, dword [ebp - 0x14]
lea ecx, [eax + 1]
mov dword [ebp - 0x14], ecx
mov dword [esp + 0x20], 0x8f1bbcdc
mov dword [esp + 0x1c], edx
lea edx, [ebp - 0x178]
mov dword [esp + 0x18], edx
lea edx, [ebp - 0x174]
mov dword [esp + 0x14], edx
lea edx, [ebp - 0x170]
mov dword [esp + 0x10], edx
lea edx, [ebp - 0x16c]
mov dword [esp + 0xc], edx
lea edx, [ebp - 0x168]
mov dword [esp + 8], edx
lea edx, [ebp - 0x164]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._sha1_sw_round
mov ecx, dword [ebp - 0x170]
mov edx, dword [ebp - 0x16c]
mov eax, dword [ebp - 0x168]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._Maj_2
mov edx, eax
mov eax, dword [ebp - 0x14]
lea ecx, [eax + 1]
mov dword [ebp - 0x14], ecx
mov dword [esp + 0x20], 0x8f1bbcdc
mov dword [esp + 0x1c], edx
lea edx, [ebp - 0x174]
mov dword [esp + 0x18], edx
lea edx, [ebp - 0x170]
mov dword [esp + 0x14], edx
lea edx, [ebp - 0x16c]
mov dword [esp + 0x10], edx
lea edx, [ebp - 0x168]
mov dword [esp + 0xc], edx
lea edx, [ebp - 0x178]
mov dword [esp + 8], edx
lea edx, [ebp - 0x164]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._sha1_sw_round
mov ecx, dword [ebp - 0x16c]
mov edx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x178]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._Maj_2
mov edx, eax
mov eax, dword [ebp - 0x14]
lea ecx, [eax + 1]
mov dword [ebp - 0x14], ecx
mov dword [esp + 0x20], 0x8f1bbcdc
mov dword [esp + 0x1c], edx
lea edx, [ebp - 0x170]
mov dword [esp + 0x18], edx
lea edx, [ebp - 0x16c]
mov dword [esp + 0x14], edx
lea edx, [ebp - 0x168]
mov dword [esp + 0x10], edx
lea edx, [ebp - 0x178]
mov dword [esp + 0xc], edx
lea edx, [ebp - 0x174]
mov dword [esp + 8], edx
lea edx, [ebp - 0x164]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._sha1_sw_round
mov ecx, dword [ebp - 0x168]
mov edx, dword [ebp - 0x178]
mov eax, dword [ebp - 0x174]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._Maj_2
mov edx, eax
mov eax, dword [ebp - 0x14]
lea ecx, [eax + 1]
mov dword [ebp - 0x14], ecx
mov dword [esp + 0x20], 0x8f1bbcdc
mov dword [esp + 0x1c], edx
lea edx, [ebp - 0x16c]
mov dword [esp + 0x18], edx
lea edx, [ebp - 0x168]
mov dword [esp + 0x14], edx
lea edx, [ebp - 0x178]
mov dword [esp + 0x10], edx
lea edx, [ebp - 0x174]
mov dword [esp + 0xc], edx
lea edx, [ebp - 0x170]
mov dword [esp + 8], edx
lea edx, [ebp - 0x164]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._sha1_sw_round
mov ecx, dword [ebp - 0x178]
mov edx, dword [ebp - 0x174]
mov eax, dword [ebp - 0x170]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._Maj_2
mov edx, eax
mov eax, dword [ebp - 0x14]
lea ecx, [eax + 1]
mov dword [ebp - 0x14], ecx
mov dword [esp + 0x20], 0x8f1bbcdc
mov dword [esp + 0x1c], edx
lea edx, [ebp - 0x168]
mov dword [esp + 0x18], edx
lea edx, [ebp - 0x178]
mov dword [esp + 0x14], edx
lea edx, [ebp - 0x174]
mov dword [esp + 0x10], edx
lea edx, [ebp - 0x170]
mov dword [esp + 0xc], edx
lea edx, [ebp - 0x16c]
mov dword [esp + 8], edx
lea edx, [ebp - 0x164]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._sha1_sw_round
add dword [ebp - 0x20], 1
cmp dword [ebp - 0x20], 3
jbe 0x434a94
mov dword [ebp - 0x24], 0
jmp 0x434f94
mov ecx, dword [ebp - 0x174]
mov edx, dword [ebp - 0x170]
mov eax, dword [ebp - 0x16c]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._Par
mov edx, eax
mov eax, dword [ebp - 0x14]
lea ecx, [eax + 1]
mov dword [ebp - 0x14], ecx
mov dword [esp + 0x20], 0xca62c1d6
mov dword [esp + 0x1c], edx
lea edx, [ebp - 0x178]
mov dword [esp + 0x18], edx
lea edx, [ebp - 0x174]
mov dword [esp + 0x14], edx
lea edx, [ebp - 0x170]
mov dword [esp + 0x10], edx
lea edx, [ebp - 0x16c]
mov dword [esp + 0xc], edx
lea edx, [ebp - 0x168]
mov dword [esp + 8], edx
lea edx, [ebp - 0x164]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._sha1_sw_round
mov ecx, dword [ebp - 0x170]
mov edx, dword [ebp - 0x16c]
mov eax, dword [ebp - 0x168]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._Par
mov edx, eax
mov eax, dword [ebp - 0x14]
lea ecx, [eax + 1]
mov dword [ebp - 0x14], ecx
mov dword [esp + 0x20], 0xca62c1d6
mov dword [esp + 0x1c], edx
lea edx, [ebp - 0x174]
mov dword [esp + 0x18], edx
lea edx, [ebp - 0x170]
mov dword [esp + 0x14], edx
lea edx, [ebp - 0x16c]
mov dword [esp + 0x10], edx
lea edx, [ebp - 0x168]
mov dword [esp + 0xc], edx
lea edx, [ebp - 0x178]
mov dword [esp + 8], edx
lea edx, [ebp - 0x164]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._sha1_sw_round
mov ecx, dword [ebp - 0x16c]
mov edx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x178]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._Par
mov edx, eax
mov eax, dword [ebp - 0x14]
lea ecx, [eax + 1]
mov dword [ebp - 0x14], ecx
mov dword [esp + 0x20], 0xca62c1d6
mov dword [esp + 0x1c], edx
lea edx, [ebp - 0x170]
mov dword [esp + 0x18], edx
lea edx, [ebp - 0x16c]
mov dword [esp + 0x14], edx
lea edx, [ebp - 0x168]
mov dword [esp + 0x10], edx
lea edx, [ebp - 0x178]
mov dword [esp + 0xc], edx
lea edx, [ebp - 0x174]
mov dword [esp + 8], edx
lea edx, [ebp - 0x164]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._sha1_sw_round
mov ecx, dword [ebp - 0x168]
mov edx, dword [ebp - 0x178]
mov eax, dword [ebp - 0x174]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._Par
mov edx, eax
mov eax, dword [ebp - 0x14]
lea ecx, [eax + 1]
mov dword [ebp - 0x14], ecx
mov dword [esp + 0x20], 0xca62c1d6
mov dword [esp + 0x1c], edx
lea edx, [ebp - 0x16c]
mov dword [esp + 0x18], edx
lea edx, [ebp - 0x168]
mov dword [esp + 0x14], edx
lea edx, [ebp - 0x178]
mov dword [esp + 0x10], edx
lea edx, [ebp - 0x174]
mov dword [esp + 0xc], edx
lea edx, [ebp - 0x170]
mov dword [esp + 8], edx
lea edx, [ebp - 0x164]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._sha1_sw_round
mov ecx, dword [ebp - 0x178]
mov edx, dword [ebp - 0x174]
mov eax, dword [ebp - 0x170]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._Par
mov edx, eax
mov eax, dword [ebp - 0x14]
lea ecx, [eax + 1]
mov dword [ebp - 0x14], ecx
mov dword [esp + 0x20], 0xca62c1d6
mov dword [esp + 0x1c], edx
lea edx, [ebp - 0x168]
mov dword [esp + 0x18], edx
lea edx, [ebp - 0x178]
mov dword [esp + 0x14], edx
lea edx, [ebp - 0x174]
mov dword [esp + 0x10], edx
lea edx, [ebp - 0x170]
mov dword [esp + 0xc], edx
lea edx, [ebp - 0x16c]
mov dword [esp + 8], edx
lea edx, [ebp - 0x164]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._sha1_sw_round
add dword [ebp - 0x24], 1
cmp dword [ebp - 0x24], 3
jbe 0x434d1f
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov eax, dword [ebp - 0x168]
add edx, eax
mov eax, dword [ebp + 8]
mov dword [eax], edx
mov eax, dword [ebp + 8]
add eax, 4
mov ecx, dword [eax]
mov edx, dword [ebp - 0x16c]
mov eax, dword [ebp + 8]
add eax, 4
add edx, ecx
mov dword [eax], edx
mov eax, dword [ebp + 8]
add eax, 8
mov ecx, dword [eax]
mov edx, dword [ebp - 0x170]
mov eax, dword [ebp + 8]
add eax, 8
add edx, ecx
mov dword [eax], edx
mov eax, dword [ebp + 8]
add eax, 0xc
mov ecx, dword [eax]
mov edx, dword [ebp - 0x174]
mov eax, dword [ebp + 8]
add eax, 0xc
add edx, ecx
mov dword [eax], edx
mov eax, dword [ebp + 8]
add eax, 0x10
mov ecx, dword [eax]
mov edx, dword [ebp - 0x178]
mov eax, dword [ebp + 8]
add eax, 0x10
add edx, ecx
mov dword [eax], edx
mov dword [esp + 4], 0x140
lea eax, [ebp - 0x164]
mov dword [esp], eax
call sym._smemclr
nop
leave
ret