Function at 0x585982
Capabilities:
Hash data with md5

Disassembly:
mov dword [esi + 0xc], 0x10325476
jmp 0x5859a3
mov dword [esi], 0x67452301
mov dword [esi + 4], 0xefcdab89
mov dword [esi + 8], 0x98badcfe
jmp 0x585917
pushal
mov esi, dword [esp + 0x24]
jmp 0x585935
lea esp, [esp + 4]
jmp 0x585962
mov eax, dword [esp + 0x2c]
push eax
xor edx, edx
mov ecx, 0x40
jmp 0x585a3d
test eax, eax
js 0x585a67
jns 0x585b16
sahf
sbb cl, byte [eax + 0x6cf41aef]
out dx, eax
jg 0x585a1a
jmp 0x3e057f23
xor eax, eax
dec eax
jmp 0x585acc
push eax
mov eax, dword [esp + 0x70]
push edx
xor edx, edx
mov ecx, 8
jmp 0x585a85
div ecx
inc eax
pop edx
sub esp, 0x40
mov ebx, esp
mov esi, dword [esp + 0x68]
xchg edx, eax
mov edi, ebx
dec edx
jne 0x5859ec
test eax, eax
js 0x585a0b
mov byte [eax + ebx], 0x80
jmp 0x585acc
inc edx
jmp 0x5859ec
xor eax, eax
jmp 0x585b41
mul ecx
mov dword [ebx + 0x38], eax
mov dword [ebx + 0x3c], edx
pop edx
pop eax
jmp 0x5859ec
mov ecx, 0x40
sub ecx, eax
add edi, eax
push eax
xor eax, eax
inc edi
dec ecx
rep stosb byte es:[edi], al
pop eax
test eax, eax
js 0x585a14
cmp eax, 0x38
jae 0x585a63
jmp 0x585a14
mov ecx, 0x40
jmp 0x585b96
cmp eax, 0x40
jae 0x585af4
jmp 0x585b41
mov ecx, eax
jmp 0x585b96
mov edi, ebx
rep movsb byte es:[edi], byte [esi]
push eax
push edx
push ebx
push esi
lea esi, [esp + 0x10]
mov edi, dword [esp + 0x74]
push edi
mov eax, dword [edi]
mov ebx, dword [edi + 4]
mov ecx, dword [edi + 8]
mov edx, dword [edi + 0xc]
jmp 0x585c88
or edi, ebp
lea ebx, [ebx + edi - 0x3e423112]
add ebx, dword [esi + 0xc]
rol ebx, 0x16
add ebx, ecx
jmp 0x585f0a
rol edx, 0xc
add edx, eax
mov edi, edx
mov ebp, edx
and edi, eax
not ebp
and ebp, ebx
or edi, ebp
lea ecx, [ecx + edi + 0x242070db]
add ecx, dword [esi + 8]
rol ecx, 0x11
add ecx, edx
mov edi, ecx
mov ebp, ecx
and edi, edx
not ebp
and ebp, eax
jmp 0x585bf3
or edi, ebp
lea edx, [edx + edi - 0x173848aa]
add edx, dword [esi + 4]
jmp 0x585c1e
mov edi, ebx
mov ebp, ebx
and edi, ecx
not ebp
and ebp, edx
or edi, ebp
lea eax, [eax + edi - 0x28955b88]
add eax, dword [esi]
rol eax, 7
add eax, ebx
mov edi, eax
mov ebp, eax
and edi, ebx
not ebp
and ebp, ecx
jmp 0x585c62
add eax, dword [esi + 0x24]
rol eax, 4
jmp 0x5862ae
add ebx, dword [esi + 0x20]
rol ebx, 0x14
add ebx, ecx
mov edi, edx
mov ebp, edx
and edi, ebx
not ebp
and ebp, ecx
or edi, ebp
lea eax, [eax + edi - 0x561c16fb]
add eax, dword [esi + 0x34]
rol eax, 5
add eax, ebx
mov edi, ecx
mov ebp, ecx
and edi, eax
not ebp
and ebp, ebx
or edi, ebp
lea edx, [edx + edi - 0x3105c08]
add edx, dword [esi + 8]
rol edx, 9
add edx, eax
mov edi, ebx
mov ebp, ebx
and edi, edx
not ebp
and ebp, eax
or edi, ebp
lea ecx, [ecx + edi + 0x676f02d9]
add ecx, dword [esi + 0x1c]
rol ecx, 0xe
add ecx, edx
mov edi, eax
mov ebp, eax
and edi, ecx
not ebp
and ebp, edx
or edi, ebp
lea ebx, [ebx + edi - 0x72d5b376]
add ebx, dword [esi + 0x30]
rol ebx, 0x14
add ebx, ecx
mov ebp, ebx
xor ebp, ecx
xor ebp, edx
lea eax, [eax + ebp - 0x5c6be]
add eax, dword [esi + 0x14]
rol eax, 4
add eax, ebx
mov ebp, eax
xor ebp, ebx
xor ebp, ecx
lea edx, [edx + ebp - 0x788e097f]
add edx, dword [esi + 0x20]
rol edx, 0xb
add edx, eax
mov ebp, edx
xor ebp, eax
xor ebp, ebx
lea ecx, [ecx + ebp + 0x6d9d6122]
add ecx, dword [esi + 0x2c]
rol ecx, 0x10
add ecx, edx
mov ebp, ecx
xor ebp, edx
xor ebp, eax
lea ebx, [ebx + ebp - 0x21ac7f4]
add ebx, dword [esi + 0x38]
rol ebx, 0x17
add ebx, ecx
mov ebp, ebx
xor ebp, ecx
xor ebp, edx
lea eax, [eax + ebp - 0x5b4115bc]
add eax, dword [esi + 4]
rol eax, 4
add eax, ebx
mov ebp, eax
xor ebp, ebx
xor ebp, ecx
lea edx, [edx + ebp + 0x4bdecfa9]
add edx, dword [esi + 0x10]
rol edx, 0xb
add edx, eax
mov ebp, edx
xor ebp, eax
xor ebp, ebx
lea ecx, [ecx + ebp - 0x944b4a0]
add ecx, dword [esi + 0x1c]
rol ecx, 0x10
add ecx, edx
mov ebp, ecx
xor ebp, edx
xor ebp, eax
lea ebx, [ebx + ebp - 0x41404390]
add ebx, dword [esi + 0x28]
rol ebx, 0x17
add ebx, ecx
mov ebp, ebx
xor ebp, ecx
xor ebp, edx
lea eax, [eax + ebp + 0x289b7ec6]
add eax, dword [esi + 0x34]
rol eax, 4
add eax, ebx
mov ebp, eax
xor ebp, ebx
xor ebp, ecx
lea edx, [edx + ebp - 0x155ed806]
add edx, dword [esi]
rol edx, 0xb
add edx, eax
mov ebp, edx
xor ebp, eax
xor ebp, ebx
lea ecx, [ecx + ebp - 0x2b10cf7b]
add ecx, dword [esi + 0xc]
rol ecx, 0x10
add ecx, edx
mov ebp, ecx
xor ebp, edx
xor ebp, eax
lea ebx, [ebx + ebp + 0x4881d05]
add ebx, dword [esi + 0x18]
rol ebx, 0x17
add ebx, ecx
mov ebp, ebx
xor ebp, ecx
xor ebp, edx
lea eax, [eax + ebp - 0x262b2fc7]
jmp 0x585d07
add edx, dword [esi + 0x38]
rol edx, 9
add edx, eax
mov edi, ebx
mov ebp, ebx
and edi, edx
not ebp
and ebp, eax
or edi, ebp
lea ecx, [ecx + edi - 0xb2af279]
add ecx, dword [esi + 0xc]
rol ecx, 0xe
add ecx, edx
mov edi, eax
mov ebp, eax
and edi, ecx
not ebp
and ebp, edx
or edi, ebp
lea ebx, [ebx + edi + 0x455a14ed]
jmp 0x585d26
mov edi, ebx
mov ebp, ebx
and edi, ecx
not ebp
and ebp, edx
or edi, ebp
lea eax, [eax + edi - 0xa83f051]
add eax, dword [esi + 0x10]
rol eax, 7
add eax, ebx
mov edi, eax
mov ebp, eax
and edi, ebx
not ebp
and ebp, ecx
or edi, ebp
lea edx, [edx + edi + 0x4787c62a]
add edx, dword [esi + 0x14]
rol edx, 0xc
add edx, eax
mov edi, edx
mov ebp, edx
and edi, eax
not ebp
and ebp, ebx
or edi, ebp
lea ecx, [ecx + edi - 0x57cfb9ed]
add ecx, dword [esi + 0x18]
rol ecx, 0x11
add ecx, edx
mov edi, ecx
mov ebp, ecx
and edi, edx
not ebp
and ebp, eax
or edi, ebp
lea ebx, [ebx + edi - 0x2b96aff]
add ebx, dword [esi + 0x1c]
rol ebx, 0x16
add ebx, ecx
mov edi, ebx
mov ebp, ebx
and edi, ecx
not ebp
and ebp, edx
or edi, ebp
lea eax, [eax + edi + 0x698098d8]
add eax, dword [esi + 0x20]
rol eax, 7
add eax, ebx
mov edi, eax
mov ebp, eax
and edi, ebx
not ebp
and ebp, ecx
or edi, ebp
lea edx, [edx + edi - 0x74bb0851]
add edx, dword [esi + 0x24]
rol edx, 0xc
add edx, eax
mov edi, edx
mov ebp, edx
and edi, eax
not ebp
and ebp, ebx
or edi, ebp
lea ecx, [ecx + edi - 0xa44f]
add ecx, dword [esi + 0x28]
rol ecx, 0x11
add ecx, edx
mov edi, ecx
mov ebp, ecx
and edi, edx
not ebp
and ebp, eax
or edi, ebp
lea ebx, [ebx + edi - 0x76a32842]
add ebx, dword [esi + 0x2c]
rol ebx, 0x16
add ebx, ecx
mov edi, ebx
mov ebp, ebx
and edi, ecx
not ebp
and ebp, edx
or edi, ebp
lea eax, [eax + edi + 0x6b901122]
add eax, dword [esi + 0x30]
rol eax, 7
add eax, ebx
mov edi, eax
mov ebp, eax
and edi, ebx
not ebp
and ebp, ecx
or edi, ebp
lea edx, [edx + edi - 0x2678e6d]
add edx, dword [esi + 0x34]
rol edx, 0xc
add edx, eax
mov edi, edx
mov ebp, edx
and edi, eax
not ebp
and ebp, ebx
or edi, ebp
lea ecx, [ecx + edi - 0x5986bc72]
add ecx, dword [esi + 0x38]
rol ecx, 0x11
add ecx, edx
mov edi, ecx
mov ebp, ecx
and edi, edx
not ebp
and ebp, eax
or edi, ebp
lea ebx, [ebx + edi + 0x49b40821]
add ebx, dword [esi + 0x3c]
rol ebx, 0x16
add ebx, ecx
mov edi, edx
mov ebp, edx
and edi, ebx
not ebp
and ebp, ecx
or edi, ebp
lea eax, [eax + edi - 0x9e1da9e]
add eax, dword [esi + 4]
rol eax, 5
add eax, ebx
mov edi, ecx
mov ebp, ecx
and edi, eax
not ebp
and ebp, ebx
or edi, ebp
lea edx, [edx + edi - 0x3fbf4cc0]
add edx, dword [esi + 0x18]
rol edx, 9
add edx, eax
mov edi, ebx
mov ebp, ebx
and edi, edx
not ebp
and ebp, eax
or edi, ebp
lea ecx, [ecx + edi + 0x265e5a51]
add ecx, dword [esi + 0x2c]
rol ecx, 0xe
add ecx, edx
mov edi, eax
mov ebp, eax
and edi, ecx
not ebp
and ebp, edx
or edi, ebp
lea ebx, [ebx + edi - 0x16493856]
add ebx, dword [esi]
rol ebx, 0x14
add ebx, ecx
mov edi, edx
mov ebp, edx
and edi, ebx
not ebp
and ebp, ecx
or edi, ebp
lea eax, [eax + edi - 0x29d0efa3]
add eax, dword [esi + 0x14]
rol eax, 5
add eax, ebx
mov edi, ecx
mov ebp, ecx
and edi, eax
not ebp
and ebp, ebx
or edi, ebp
lea edx, [edx + edi + 0x2441453]
add edx, dword [esi + 0x28]
rol edx, 9
add edx, eax
mov edi, ebx
mov ebp, ebx
and edi, edx
not ebp
and ebp, eax
or edi, ebp
lea ecx, [ecx + edi - 0x275e197f]
add ecx, dword [esi + 0x3c]
rol ecx, 0xe
add ecx, edx
mov edi, eax
mov ebp, eax
and edi, ecx
not ebp
and ebp, edx
or edi, ebp
lea ebx, [ebx + edi - 0x182c0438]
add ebx, dword [esi + 0x10]
rol ebx, 0x14
add ebx, ecx
mov edi, edx
mov ebp, edx
and edi, ebx
not ebp
and ebp, ecx
or edi, ebp
lea eax, [eax + edi + 0x21e1cde6]
add eax, dword [esi + 0x24]
rol eax, 5
add eax, ebx
mov edi, ecx
mov ebp, ecx
and edi, eax
not ebp
and ebp, ebx
or edi, ebp
lea edx, [edx + edi - 0x3cc8f82a]
jmp 0x585ebb
add eax, ebx
mov ebp, eax
xor ebp, ebx
xor ebp, ecx
lea edx, [edx + ebp - 0x1924661b]
add edx, dword [esi + 0x30]
rol edx, 0xb
add edx, eax
mov ebp, edx
xor ebp, eax
xor ebp, ebx
lea ecx, [ecx + ebp + 0x1fa27cf8]
add ecx, dword [esi + 0x3c]
rol ecx, 0x10
add ecx, edx
mov ebp, ecx
xor ebp, edx
xor ebp, eax
lea ebx, [ebx + ebp - 0x3b53a99b]
add ebx, dword [esi + 8]
rol ebx, 0x17
add ebx, ecx
mov ebp, edx
not ebp
or ebp, ebx
xor ebp, ecx
lea eax, [eax + ebp - 0xbd6ddbc]
add eax, dword [esi]
rol eax, 6
add eax, ebx
mov ebp, ecx
not ebp
or ebp, eax
xor ebp, ebx
lea edx, [edx + ebp + 0x432aff97]
add edx, dword [esi + 0x1c]
rol edx, 0xa
add edx, eax
mov ebp, ebx
not ebp
or ebp, edx
xor ebp, eax
lea ecx, [ecx + ebp - 0x546bdc59]
add ecx, dword [esi + 0x38]
rol ecx, 0xf
add ecx, edx
mov ebp, eax
not ebp
or ebp, ecx
xor ebp, edx
lea ebx, [ebx + ebp - 0x36c5fc7]
add ebx, dword [esi + 0x14]
rol ebx, 0x15
add ebx, ecx
mov ebp, edx
not ebp
or ebp, ebx
xor ebp, ecx
lea eax, [eax + ebp + 0x655b59c3]
add eax, dword [esi + 0x30]
rol eax, 6
add eax, ebx
mov ebp, ecx
not ebp
or ebp, eax
xor ebp, ebx
lea edx, [edx + ebp - 0x70f3336e]
add edx, dword [esi + 0xc]
rol edx, 0xa
add edx, eax
mov ebp, ebx
not ebp
or ebp, edx
xor ebp, eax
lea ecx, [ecx + ebp - 0x100b83]
add ecx, dword [esi + 0x28]
rol ecx, 0xf
add ecx, edx
mov ebp, eax
not ebp
or ebp, ecx
xor ebp, edx
lea ebx, [ebx + ebp - 0x7a7ba22f]
add ebx, dword [esi + 4]
rol ebx, 0x15
add ebx, ecx
mov ebp, edx
not ebp
or ebp, ebx
xor ebp, ecx
lea eax, [eax + ebp + 0x6fa87e4f]
add eax, dword [esi + 0x20]
rol eax, 6
add eax, ebx
mov ebp, ecx
not ebp
or ebp, eax
xor ebp, ebx
lea edx, [edx + ebp - 0x1d31920]
add edx, dword [esi + 0x3c]
rol edx, 0xa
add edx, eax
mov ebp, ebx
not ebp
or ebp, edx
xor ebp, eax
lea ecx, [ecx + ebp - 0x5cfebcec]
add ecx, dword [esi + 0x18]
rol ecx, 0xf
add ecx, edx
mov ebp, eax
not ebp
or ebp, ecx
xor ebp, edx
lea ebx, [ebx + ebp + 0x4e0811a1]
add ebx, dword [esi + 0x34]
rol ebx, 0x15
add ebx, ecx
mov ebp, edx
not ebp
or ebp, ebx
xor ebp, ecx
lea eax, [eax + ebp - 0x8ac817e]
add eax, dword [esi + 0x10]
rol eax, 6
add eax, ebx
mov ebp, ecx
not ebp
or ebp, eax
xor ebp, ebx
lea edx, [edx + ebp - 0x42c50dcb]
add edx, dword [esi + 0x2c]
rol edx, 0xa
add edx, eax
mov ebp, ebx
not ebp
or ebp, edx
xor ebp, eax
lea ecx, [ecx + ebp + 0x2ad7d2bb]
add ecx, dword [esi + 8]
rol ecx, 0xf
add ecx, edx
mov ebp, eax
not ebp
or ebp, ecx
xor ebp, edx
lea ebx, [ebx + ebp - 0x14792c6f]
add ebx, dword [esi + 0x24]
rol ebx, 0x15
add ebx, ecx
pop edi
add dword [edi], eax
add dword [edi + 4], ebx
add dword [edi + 8], ecx
add dword [edi + 0xc], edx
pop esi
pop ebx
pop edx
pop eax
sub eax, 0x40
test edx, edx
jne 0x585a4b
add esp, 0x40
popal
ret 0xc