Function at 0x413270
Capabilities:
Hash data using sha1

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x54f555
mov eax, dword fs:[0]
push eax
sub esp, 0x118
mov eax, dword [0x5ad1d0]
xor eax, esp
mov dword [esp + 0x110], eax
push ebx
push esi
push edi
mov eax, dword [0x5ad1d0]
xor eax, esp
push eax
lea eax, [esp + 0x128]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov edi, 0x14
mov esi, ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x3c], edi
call fcn.00414990
mov edi, eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x40], edi
xor eax, eax
mov dword [esp + 0x130], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov eax, 0x10
lea ecx, [esp + 0x54]
lea edx, [esp + 0xa4]
mov dword [esp + 0x9c], eax
mov byte [esp + 0x95], 1
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xec], eax
mov byte [esp + 0xe5], 1
mov dword [esp + 0xf0], edx
mov dword [esp + 0xa4], 0x67452301
mov dword [esp + 0xa8], 0xefcdab89
mov dword [esp + 0xac], 0x98badcfe
mov dword [esp + 0xb0], 0x10325476
mov dword [esp + 0xb4], 0xc3d2e1f0
mov dword [esp + 0x44], vtable.KM::SHA1.0
mov byte [esp + 0x130], 3
mov eax, dword [ebx + 0x50]
mov ecx, dword [ebx + 0x54]
push eax
push ecx
lea ecx, [esp + 0x4c]
call fcn.00418db0
push 8
push esi
lea ecx, [esp + 0x4c]
call fcn.00418db0
mov eax, dword [esp + 0x44]
mov edx, dword [eax + 0x1c]
lea ecx, [esp + 0x44]
call edx
push eax
mov eax, dword [esp + 0x48]
mov edx, dword [eax + 0x38]
push edi
lea ecx, [esp + 0x4c]
call edx
mov edi, 0x10
mov dword [esp + 0x30], edi
call fcn.00414990
mov dword [esp + 0x34], eax
mov edi, 8
mov byte [esp + 0x130], 6
mov dword [esp + 0x24], edi
call fcn.00414990
mov dword [esp + 0x28], eax
mov byte [esp + 0x130], 9
mov ecx, dword [ebx + 0x50]
mov edi, dword [ebx + 0x54]
push esi
mov esi, dword [esp + 0x38]
push ecx
push edi
mov edx, eax
mov ecx, esi
call fcn.00412c30
mov eax, dword [ebx + 0x58]
mov edx, dword [eax + 0x20]
lea edi, [ebx + 0x58]
add esp, 0xc
mov ecx, edi
call edx
push eax
mov eax, dword [esp + 0x2c]
push eax
mov ecx, esi
push 0x10
mov esi, edi
call fcn.00409230
push 0x60
call fcn.0041b029
add esp, 4
mov dword [esp + 0x18], eax
mov byte [esp + 0x130], 0xa
test eax, eax
je 0x413447
test edi, edi
je 0x413439
lea ecx, [ebx + 0x5c]
push ecx
mov edi, eax
call fcn.0040d190
mov esi, eax
jmp 0x413449
xor ecx, ecx
push ecx
mov edi, eax
call fcn.0040d190
mov esi, eax
jmp 0x413449
xor esi, esi
mov dword [esp + 0x18], esi
mov eax, dword [esp + 0x1c]
push 1
push 0
mov byte [esp + 0x138], 0xb
mov edx, dword [esi]
mov edx, dword [edx + 0x14]
push 8
push eax
mov ecx, esi
call edx
call fcn.0040cc30
mov edi, dword [esp + 0x14]
mov eax, dword [esi]
mov edx, dword [eax + 0x44]
push 8
add edi, 8
push edi
mov ecx, esi
call edx
mov ecx, esi
mov esi, ebx
mov dword [esp + 0x18], 0
call fcn.0040ced0
mov eax, dword [esp + 0x14]
push 8
push eax
mov eax, edi
call fcn.00414890
add esp, 8
test al, al
jne 0x4134cf
mov dword [ebx + 0x48], 2
cmp byte [ebx + 0x1bc], al
je 0x4134d6
lea esi, [esp + 0xf4]
call fcn.004125b0
push 0x5a1e4c
mov ecx, esi
push ecx
call fcn.0051fe38
mov dword [ebx + 0x48], 1
mov edx, dword [esp + 0x28]
mov edi, dword [esp + 0x28]
xor al, al
mov ecx, 8
push edx
rep stosb byte es:[edi], al
call fcn.0051c65c
mov edx, dword [esp + 0x38]
add esp, 4
mov edi, edx
xor al, al
mov ecx, 0x10
push edx
rep stosb byte es:[edi], al
call fcn.0051c65c
mov edi, dword [esp + 0xf4]
lea eax, [esp + 0xa8]
add esp, 4
cmp edi, eax
jne 0x41352d
mov ecx, dword [esp + 0xec]
xor eax, eax
mov byte [esp + 0xe5], 0
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0xa0]
lea ecx, [esp + 0x54]
cmp edi, ecx
jne 0x41354f
mov ecx, dword [esp + 0x9c]
xor eax, eax
mov byte [esp + 0x95], 0
rep stosd dword es:[edi], eax
mov edx, dword [esp + 0x14]
mov edi, edx
xor al, al
mov ecx, 0x14
push edx
rep stosb byte es:[edi], al
call fcn.0051c65c
add esp, 4
mov ecx, dword [esp + 0x128]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x110]
xor ecx, esp
call fcn.0051b53a
mov esp, ebp
pop ebp
ret 8