Function at 0x413340
Capabilities:
Hash data using sha1

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x54ef25
mov eax, dword fs:[0]
push eax
sub esp, 0x118
mov eax, dword [0x5ab1d0]
xor eax, esp
mov dword [esp + 0x110], eax
push ebx
push esi
push edi
mov eax, dword [0x5ab1d0]
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.00414a80
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.00418f90
push 8
push esi
lea ecx, [esp + 0x4c]
call fcn.00418f90
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.00414a80
mov dword [esp + 0x34], eax
mov edi, 8
mov byte [esp + 0x130], 6
mov dword [esp + 0x24], edi
call fcn.00414a80
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.00412d00
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.00409220
push 0x60
call fcn.0041b219
add esp, 4
mov dword [esp + 0x18], eax
mov byte [esp + 0x130], 0xa
test eax, eax
je 0x413517
test edi, edi
je 0x413509
lea ecx, [ebx + 0x5c]
push ecx
mov edi, eax
call fcn.0040d150
mov esi, eax
jmp 0x413519
xor ecx, ecx
push ecx
mov edi, eax
call fcn.0040d150
mov esi, eax
jmp 0x413519
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.0040cbf0
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.0040ce90
mov eax, dword [esp + 0x14]
push 8
push eax
mov eax, edi
call fcn.00414980
add esp, 8
test al, al
jne 0x41359f
mov dword [ebx + 0x48], 2
cmp byte [ebx + 0x1bc], al
je 0x4135a6
lea esi, [esp + 0xf4]
call fcn.00412690
push 0x5a01a4
mov ecx, esi
push ecx
call fcn.0051ffa8
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.0051c2f1
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.0051c2f1
mov edi, dword [esp + 0xf4]
lea eax, [esp + 0xa8]
add esp, 4
cmp edi, eax
jne 0x4135fd
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 0x41361f
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.0051c2f1
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.0051b73f
mov esp, ebp
pop ebp
ret 8