Function at 0x413300
Capabilities:
Hash data using sha1

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x54ece5
mov eax, dword fs:[0]
push eax
sub esp, 0x118
mov eax, dword [0x5ac1d0]
xor eax, esp
mov dword [esp + 0x110], eax
push ebx
push esi
push edi
mov eax, dword [0x5ac1d0]
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.00414a50
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.00418f10
push 8
push esi
lea ecx, [esp + 0x4c]
call fcn.00418f10
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.00414a50
mov dword [esp + 0x34], eax
mov edi, 8
mov byte [esp + 0x130], 6
mov dword [esp + 0x24], edi
call fcn.00414a50
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.00412cc0
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.00409130
push 0x60
call fcn.0041b189
add esp, 4
mov dword [esp + 0x18], eax
mov byte [esp + 0x130], 0xa
test eax, eax
je 0x4134d7
test edi, edi
je 0x4134c9
lea ecx, [ebx + 0x5c]
push ecx
mov edi, eax
call fcn.0040d0d0
mov esi, eax
jmp 0x4134d9
xor ecx, ecx
push ecx
mov edi, eax
call fcn.0040d0d0
mov esi, eax
jmp 0x4134d9
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.0040cb70
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.0040ce10
mov eax, dword [esp + 0x14]
push 8
push eax
mov eax, edi
call fcn.00414950
add esp, 8
test al, al
jne 0x41355f
mov dword [ebx + 0x48], 2
cmp byte [ebx + 0x1bc], al
je 0x413566
lea esi, [esp + 0xf4]
call fcn.00412630
push 0x5a08a4
mov ecx, esi
push ecx
call fcn.0051fdd8
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.0051c1b1
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.0051c1b1
mov edi, dword [esp + 0xf4]
lea eax, [esp + 0xa8]
add esp, 4
cmp edi, eax
jne 0x4135bd
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 0x4135df
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.0051c1b1
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.0051b5fb
mov esp, ebp
pop ebp
ret 8