Function at 0x410e10
Capabilities:
Hash data with md5

Disassembly:
sub esp, 0x68
mov eax, dword [esp + 0x70]
push ebx
add eax, 0x48
push esi
cdq
and edx, 0x3f
push edi
add eax, edx
xor edi, edi
mov esi, eax
mov ecx, 0x98badcfe
sar esi, 6
cmp esi, edi
mov dword [esp + 0x24], esi
mov ebx, 0x67452301
mov edx, 0xefcdab89
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], 0x10325476
mov dword [esp + 0xc], edi
mov dword [esp + 0x1c], edi
jle 0x411890
push ebp
jmp 0x410e64
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
xor esi, esi
lea eax, [esp + 0x38]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x80]
add eax, 0xfffffffd
cmp edi, eax
jge 0x410edb
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x7c]
mov ebp, dword [esp + 0x7c]
xor eax, eax
mov al, byte [esi + edi + 3]
mov edi, dword [esp + 0x10]
mov esi, eax
xor eax, eax
mov al, byte [edi + ebp + 2]
add edi, 4
shl esi, 8
add esi, eax
xor eax, eax
mov al, byte [edi + ebp - 3]
mov dword [esp + 0x10], edi
shl esi, 8
add esi, eax
xor eax, eax
mov al, byte [edi + ebp - 4]
shl esi, 8
add esi, eax
mov eax, dword [esp + 0x24]
mov dword [eax], esi
mov esi, dword [esp + 0x1c]
inc esi
add eax, 4
cmp esi, 0x10
mov dword [esp + 0x1c], esi
mov dword [esp + 0x24], eax
jl 0x410e72
mov eax, dword [esp + 0x28]
mov ebp, dword [esp + 0x20]
dec eax
cmp ebp, eax
jne 0x410fa6
mov ebp, dword [esp + 0x80]
lea eax, [ebp - 3]
cmp edi, eax
jne 0x410f3b
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x7c]
mov ebp, dword [esp + 0x7c]
xor eax, eax
mov al, byte [esi + edi + 2]
mov edi, eax
xor eax, eax
mov al, byte [esi + ebp + 1]
add edi, 0x8000
shl edi, 8
add edi, eax
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0x7c]
xor eax, eax
mov al, byte [esi + ebp]
mov esi, dword [esp + 0x1c]
shl edi, 8
add edi, eax
mov dword [esp + esi*4 + 0x38], edi
jmp 0x410f7f
lea eax, [ebp - 2]
cmp edi, eax
jne 0x410f5a
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x7c]
xor eax, eax
mov al, byte [esi + edi + 1]
mov edi, eax
add edi, 0x8000
jmp 0x410f1f
dec ebp
cmp edi, ebp
jne 0x410f77
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x7c]
xor eax, eax
mov al, byte [edi + ebp]
add eax, 0x8000
mov dword [esp + esi*4 + 0x38], eax
jmp 0x410f7f
mov dword [esp + esi*4 + 0x38], 0x80
inc esi
cmp esi, 0x10
jge 0x410f98
mov ecx, 0x10
lea edi, [esp + esi*4 + 0x38]
sub ecx, esi
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x80]
shl eax, 3
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x18]
mov dword [esp + 0x34], eax
mov eax, edx
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x1c], ebx
not eax
and eax, esi
mov esi, ecx
and esi, edx
mov dword [esp + 0x30], ecx
or eax, esi
mov dword [esp + 0x2c], edx
add eax, ebp
mov ebp, dword [esp + 0x40]
lea ebx, [eax + ebx - 0x28955b88]
mov eax, ebx
shr eax, 0x19
shl ebx, 7
or eax, ebx
add eax, edx
mov esi, eax
not esi
and esi, ecx
mov ecx, edx
and ecx, eax
or esi, ecx
mov ecx, dword [esp + 0x3c]
add esi, ecx
mov ecx, dword [esp + 0x18]
lea esi, [esi + ecx - 0x173848aa]
mov ecx, esi
shr ecx, 0x14
shl esi, 0xc
or ecx, esi
add ecx, eax
mov esi, ecx
mov edi, ecx
not esi
and esi, edx
and edi, eax
or esi, edi
mov edi, dword [esp + 0x14]
add esi, ebp
mov ebp, dword [esp + 0x44]
mov ebx, ecx
lea edi, [esi + edi + 0x242070db]
mov esi, edi
shr esi, 0xf
shl edi, 0x11
or esi, edi
add esi, ecx
mov edi, esi
and ebx, esi
not edi
and edi, eax
or edi, ebx
mov ebx, esi
add edi, ebp
mov ebp, dword [esp + 0x48]
lea edi, [edi + edx - 0x3e423112]
mov edx, edi
shl edx, 0x16
shr edi, 0xa
or edx, edi
add edx, esi
mov edi, edx
and ebx, edx
not edi
and edi, ecx
or edi, ebx
add edi, ebp
lea edi, [edi + eax - 0xa83f051]
mov eax, edi
shr eax, 0x19
shl edi, 7
or eax, edi
add eax, edx
mov edi, eax
not edi
and edi, esi
mov ebp, dword [esp + 0x4c]
mov ebx, edx
and ebx, eax
or edi, ebx
add edi, ebp
mov ebp, dword [esp + 0x50]
lea edi, [edi + ecx + 0x4787c62a]
mov ecx, edi
shl edi, 0xc
shr ecx, 0x14
or ecx, edi
add ecx, eax
mov edi, ecx
mov ebx, ecx
not edi
and edi, edx
and ebx, eax
or edi, ebx
mov ebx, ecx
add edi, ebp
mov ebp, dword [esp + 0x54]
lea edi, [edi + esi - 0x57cfb9ed]
mov esi, edi
shr esi, 0xf
shl edi, 0x11
or esi, edi
add esi, ecx
mov edi, esi
and ebx, esi
not edi
and edi, eax
or edi, ebx
mov ebx, esi
add edi, ebp
mov ebp, dword [esp + 0x58]
lea edi, [edi + edx - 0x2b96aff]
mov edx, edi
shl edx, 0x16
shr edi, 0xa
or edx, edi
add edx, esi
mov edi, edx
and ebx, edx
not edi
and edi, ecx
or edi, ebx
mov ebx, edx
add edi, ebp
mov ebp, dword [esp + 0x5c]
lea edi, [edi + eax + 0x698098d8]
mov eax, edi
shr eax, 0x19
shl edi, 7
or eax, edi
add eax, edx
mov edi, eax
and ebx, eax
not edi
and edi, esi
or edi, ebx
add edi, ebp
mov ebp, dword [esp + 0x60]
lea edi, [edi + ecx - 0x74bb0851]
mov ecx, edi
shr ecx, 0x14
shl edi, 0xc
or ecx, edi
add ecx, eax
mov edi, ecx
mov ebx, ecx
not edi
and edi, edx
and ebx, eax
or edi, ebx
add edi, ebp
lea edi, [edi + esi - 0xa44f]
mov esi, edi
shr esi, 0xf
shl edi, 0x11
or esi, edi
add esi, ecx
mov ebp, dword [esp + 0x64]
mov edi, esi
not edi
mov ebx, ecx
and edi, eax
and ebx, esi
or edi, ebx
mov ebx, esi
add edi, ebp
mov ebp, dword [esp + 0x68]
lea edi, [edi + edx - 0x76a32842]
mov edx, edi
shl edx, 0x16
shr edi, 0xa
or edx, edi
add edx, esi
mov edi, edx
and ebx, edx
not edi
and edi, ecx
or edi, ebx
mov ebx, edx
add edi, ebp
mov ebp, dword [esp + 0x6c]
lea edi, [edi + eax + 0x6b901122]
mov eax, edi
shr eax, 0x19
shl edi, 7
or eax, edi
add eax, edx
mov edi, eax
and ebx, eax
not edi
and edi, esi
or edi, ebx
add edi, ebp
lea edi, [edi + ecx - 0x2678e6d]
mov ecx, edi
shr ecx, 0x14
shl edi, 0xc
or ecx, edi
add ecx, eax
mov edi, ecx
mov ebp, ecx
not edi
mov ebx, edi
and ebp, eax
and ebx, edx
or ebx, ebp
mov ebp, dword [esp + 0x70]
add ebx, ebp
mov ebp, ecx
lea ebx, [ebx + esi - 0x5986bc72]
mov esi, ebx
shr esi, 0xf
shl ebx, 0x11
or esi, ebx
add esi, ecx
mov ebx, esi
and ebp, esi
not ebx
mov dword [esp + 0x24], ebx
and ebx, eax
or ebx, ebp
mov ebp, dword [esp + 0x74]
add ebx, ebp
mov ebp, dword [esp + 0x3c]
and edi, esi
lea ebx, [ebx + edx + 0x49b40821]
mov edx, ebx
shl edx, 0x16
shr ebx, 0xa
or edx, ebx
mov ebx, ecx
add edx, esi
and ebx, edx
or edi, ebx
add edi, ebp
lea edi, [edi + eax - 0x9e1da9e]
mov eax, edi
shr eax, 0x1b
shl edi, 5
mov ebp, dword [esp + 0x50]
or eax, edi
mov edi, dword [esp + 0x24]
add eax, edx
mov ebx, esi
and edi, edx
and ebx, eax
or edi, ebx
add edi, ebp
mov ebp, dword [esp + 0x64]
lea edi, [edi + ecx - 0x3fbf4cc0]
mov ecx, edi
shl edi, 9
shr ecx, 0x17
or ecx, edi
mov edi, edx
add ecx, eax
not edi
mov ebx, ecx
and edi, eax
and ebx, edx
or edi, ebx
add edi, ebp
mov ebp, dword [esp + 0x38]
lea edi, [edi + esi + 0x265e5a51]
mov esi, edi
shr esi, 0x12
shl edi, 0xe
or esi, edi
mov edi, eax
add esi, ecx
not edi
mov ebx, esi
and edi, ecx
and ebx, eax
or edi, ebx
mov ebx, ecx
add edi, ebp
mov ebp, dword [esp + 0x4c]
lea edi, [edi + edx - 0x16493856]
mov edx, edi
shl edx, 0x14
shr edi, 0xc
or edx, edi
mov edi, ecx
add edx, esi
not edi
and edi, esi
and ebx, edx
or edi, ebx
mov ebx, esi
add edi, ebp
mov ebp, dword [esp + 0x60]
lea edi, [edi + eax - 0x29d0efa3]
mov eax, edi
shr eax, 0x1b
shl edi, 5
or eax, edi
mov edi, esi
add eax, edx
not edi
and edi, edx
and ebx, eax
or edi, ebx
add edi, ebp
mov ebp, dword [esp + 0x74]
lea edi, [edi + ecx + 0x2441453]
mov ecx, edi
shr ecx, 0x17
shl edi, 9
or ecx, edi
mov edi, edx
add ecx, eax
not edi
mov ebx, ecx
and edi, eax
and ebx, edx
or edi, ebx
add edi, ebp
lea edi, [edi + esi - 0x275e197f]
mov esi, edi
shl edi, 0xe
shr esi, 0x12
or esi, edi
mov edi, eax
add esi, ecx
not edi
mov ebx, esi
and edi, ecx
and ebx, eax
or edi, ebx
mov ebx, dword [esp + 0x48]
add edi, ebx
mov ebx, ecx
lea edi, [edi + edx - 0x182c0438]
mov edx, edi
shr edi, 0xc
shl edx, 0x14
or edx, edi
mov edi, ecx
add edx, esi
not edi
and edi, esi
and ebx, edx
or edi, ebx
mov ebx, dword [esp + 0x5c]
add edi, ebx
mov ebx, esi
lea edi, [edi + eax + 0x21e1cde6]
mov eax, edi
shr eax, 0x1b
shl edi, 5
or eax, edi
mov edi, esi
add eax, edx
not edi
and edi, edx
and ebx, eax
or edi, ebx
mov ebx, dword [esp + 0x70]
add edi, ebx
lea edi, [edi + ecx - 0x3cc8f82a]
mov ecx, edi
shr ecx, 0x17
shl edi, 9
or ecx, edi
mov edi, edx
add ecx, eax
not edi
mov ebx, ecx
and edi, eax
and ebx, edx
or edi, ebx
mov ebx, dword [esp + 0x44]
add edi, ebx
lea edi, [edi + esi - 0xb2af279]
mov esi, edi
shr esi, 0x12
shl edi, 0xe
or esi, edi
mov edi, eax
add esi, ecx
not edi
mov ebx, esi
and edi, ecx
and ebx, eax
or edi, ebx
mov ebx, dword [esp + 0x58]
add edi, ebx
mov ebx, ecx
lea edi, [edi + edx + 0x455a14ed]
mov edx, edi
shl edx, 0x14
shr edi, 0xc
or edx, edi
mov edi, ecx
add edx, esi
not edi
and edi, esi
and ebx, edx
or edi, ebx
mov ebx, dword [esp + 0x6c]
add edi, ebx
mov ebx, esi
lea edi, [edi + eax - 0x561c16fb]
mov eax, edi
shl edi, 5
shr eax, 0x1b
or eax, edi
mov edi, esi
not edi
add eax, edx
and edi, edx
and ebx, eax
or edi, ebx
mov ebx, dword [esp + 0x40]
add edi, ebx
lea edi, [edi + ecx - 0x3105c08]
mov ecx, edi
shr ecx, 0x17
shl edi, 9
or ecx, edi
mov edi, edx
add ecx, eax
not edi
mov ebx, ecx
and edi, eax
and ebx, edx
or edi, ebx
mov ebx, dword [esp + 0x54]
add edi, ebx
lea edi, [edi + esi + 0x676f02d9]
mov esi, edi
shr esi, 0x12
shl edi, 0xe
or esi, edi
mov edi, eax
add esi, ecx
not edi
mov ebx, esi
and edi, ecx
and ebx, eax
or edi, ebx
mov ebx, dword [esp + 0x68]
add edi, ebx
mov ebx, dword [esp + 0x4c]
lea edi, [edi + edx - 0x72d5b376]
mov edx, edi
shl edx, 0x14
shr edi, 0xc
or edx, edi
mov edi, ecx
add edx, esi
xor edi, esi
xor edi, edx
add edi, ebx
mov ebx, dword [esp + 0x58]
lea edi, [edi + eax - 0x5c6be]
mov eax, edi
shr eax, 0x1c
shl edi, 4
or eax, edi
mov edi, esi
add eax, edx
xor edi, edx
xor edi, eax
add edi, ebx
mov ebx, dword [esp + 0x64]
lea ecx, [edi + ecx - 0x788e097f]
mov edi, ecx
shr edi, 0x15
shl ecx, 0xb
or edi, ecx
add edi, eax
mov ecx, edi
xor ecx, edx
xor ecx, eax
add ecx, ebx
lea ecx, [ecx + esi + 0x6d9d6122]
mov esi, ecx
shr esi, 0x10
shl ecx, 0x10
or esi, ecx
mov ebx, edi
add esi, edi
xor ebx, esi
mov ecx, ebx
xor ecx, eax
add ecx, dword [esp + 0x70]
lea edx, [ecx + edx - 0x21ac7f4]
mov ecx, edx
shl ecx, 0x17
shr edx, 9
or ecx, edx
mov edx, dword [esp + 0x3c]
add ecx, esi
xor ebx, ecx
add ebx, edx
mov edx, esi
xor edx, ecx
lea ebx, [ebx + eax - 0x5b4115bc]
mov eax, ebx
shr eax, 0x1c
shl ebx, 4
or eax, ebx
mov ebx, dword [esp + 0x48]
add eax, ecx
xor edx, eax
add edx, ebx
mov ebx, dword [esp + 0x54]
lea edi, [edx + edi + 0x4bdecfa9]
mov edx, edi
shr edx, 0x15
shl edi, 0xb
or edx, edi
add edx, eax
mov edi, edx
xor edi, ecx
xor edi, eax
add edi, ebx
lea edi, [edi + esi - 0x944b4a0]
mov esi, edi
shr esi, 0x10
shl edi, 0x10
or esi, edi
mov edi, edx
add esi, edx
xor edi, esi
mov ebx, edi
xor ebx, eax
add ebx, dword [esp + 0x60]
lea ebx, [ebx + ecx - 0x41404390]
mov ecx, ebx
shl ecx, 0x17
shr ebx, 9
or ecx, ebx
mov ebx, dword [esp + 0x6c]
add ecx, esi
xor edi, ecx
add edi, ebx
mov ebx, dword [esp + 0x38]
lea edi, [edi + eax + 0x289b7ec6]
mov eax, edi
shr eax, 0x1c
shl edi, 4
or eax, edi
mov edi, esi
add eax, ecx
xor edi, ecx
xor edi, eax
add edi, ebx
mov ebx, dword [esp + 0x44]
lea edi, [edi + edx - 0x155ed806]
mov edx, edi
shr edx, 0x15
shl edi, 0xb
or edx, edi
add edx, eax
mov edi, edx
xor edi, ecx
xor edi, eax
add edi, ebx
lea edi, [edi + esi - 0x2b10cf7b]
mov esi, edi
shl edi, 0x10
shr esi, 0x10
or esi, edi
mov edi, edx
add esi, edx
xor edi, esi
mov ebx, edi
xor ebx, eax
add ebx, dword [esp + 0x50]
lea ebx, [ebx + ecx + 0x4881d05]
mov ecx, ebx
shl ecx, 0x17
shr ebx, 9
or ecx, ebx
mov ebx, dword [esp + 0x5c]
add ecx, esi
xor edi, ecx
add edi, ebx
mov ebx, dword [esp + 0x68]
lea edi, [edi + eax - 0x262b2fc7]
mov eax, edi
shl edi, 4
shr eax, 0x1c
or eax, edi
mov edi, esi
xor edi, ecx
add eax, ecx
xor edi, eax
add edi, ebx
mov ebx, dword [esp + 0x40]
lea edi, [edi + edx - 0x1924661b]
mov edx, edi
shr edx, 0x15
shl edi, 0xb
or edx, edi
add edx, eax
mov edi, edx
xor edi, ecx
xor edi, eax
add edi, ebp
lea edi, [edi + esi + 0x1fa27cf8]
mov esi, edi
shr esi, 0x10
shl edi, 0x10
or esi, edi
mov edi, edx
add esi, edx
xor edi, esi
xor edi, eax
add edi, ebx
mov ebx, dword [esp + 0x38]
lea edi, [edi + ecx - 0x3b53a99b]
mov ecx, edi
shl ecx, 0x17
shr edi, 9
or ecx, edi
mov edi, edx
add ecx, esi
not edi
or edi, ecx
xor edi, esi
add edi, ebx
mov ebx, dword [esp + 0x54]
lea edi, [edi + eax - 0xbd6ddbc]
mov eax, edi
shr eax, 0x1a
shl edi, 6
or eax, edi
mov edi, esi
add eax, ecx
not edi
or edi, eax
xor edi, ecx
add edi, ebx
lea edi, [edi + edx + 0x432aff97]
mov edx, edi
shr edx, 0x16
shl edi, 0xa
or edx, edi
add edx, eax
mov ebx, dword [esp + 0x70]
mov edi, ecx
not edi
or edi, edx
xor edi, eax
add edi, ebx
mov ebx, dword [esp + 0x4c]
lea edi, [edi + esi - 0x546bdc59]
mov esi, edi
shl edi, 0xf
shr esi, 0x11
or esi, edi
mov edi, eax
not edi
add esi, edx
or edi, esi
xor edi, edx
add edi, ebx
mov ebx, dword [esp + 0x68]
lea edi, [edi + ecx - 0x36c5fc7]
mov ecx, edi
shr edi, 0xb
shl ecx, 0x15
or ecx, edi
mov edi, edx
not edi
add ecx, esi
or edi, ecx
xor edi, esi
add edi, ebx
mov ebx, dword [esp + 0x44]
lea edi, [edi + eax + 0x655b59c3]
mov eax, edi
shr eax, 0x1a
shl edi, 6
or eax, edi
mov edi, esi
add eax, ecx
not edi
or edi, eax
xor edi, ecx
add edi, ebx
mov ebx, dword [esp + 0x60]
lea edi, [edi + edx - 0x70f3336e]
mov edx, edi
shr edx, 0x16
shl edi, 0xa
or edx, edi
mov edi, ecx
add edx, eax
not edi
or edi, edx
xor edi, eax
add edi, ebx
mov ebx, dword [esp + 0x3c]
lea edi, [edi + esi - 0x100b83]
mov esi, edi
shr esi, 0x11
shl edi, 0xf
or esi, edi
mov edi, eax
add esi, edx
not edi
or edi, esi
xor edi, edx
add edi, ebx
mov ebx, dword [esp + 0x58]
lea edi, [edi + ecx - 0x7a7ba22f]
mov ecx, edi
shl ecx, 0x15
shr edi, 0xb
or ecx, edi
mov edi, edx
add ecx, esi
not edi
or edi, ecx
xor edi, esi
add edi, ebx
lea edi, [edi + eax + 0x6fa87e4f]
mov eax, edi
shr eax, 0x1a
shl edi, 6
or eax, edi
mov edi, esi
add eax, ecx
mov ebx, dword [esp + 0x48]
not edi
or edi, eax
xor edi, ecx
add edi, ebp
mov ebp, dword [esp + 0x50]
lea edi, [edi + edx - 0x1d31920]
mov edx, edi
shr edx, 0x16
shl edi, 0xa
or edx, edi
mov edi, ecx
add edx, eax
not edi
or edi, edx
xor edi, eax
add edi, ebp
mov ebp, dword [esp + 0x6c]
lea edi, [edi + esi - 0x5cfebcec]
mov esi, edi
shr esi, 0x11
shl edi, 0xf
or esi, edi
mov edi, eax
add esi, edx
not edi
or edi, esi
xor edi, edx
add edi, ebp
mov ebp, dword [esp + 0x64]
lea edi, [edi + ecx + 0x4e0811a1]
mov ecx, edi
shl ecx, 0x15
shr edi, 0xb
or ecx, edi
mov edi, edx
add ecx, esi
not edi
or edi, ecx
xor edi, esi
add edi, ebx
lea eax, [edi + eax - 0x8ac817e]
mov edi, eax
shr edi, 0x1a
shl eax, 6
or edi, eax
mov eax, esi
add edi, ecx
mov ebx, edi
mov edi, dword [esp + 0x5c]
not eax
or eax, ebx
xor eax, ecx
add eax, ebp
mov ebp, dword [esp + 0x40]
lea edx, [eax + edx - 0x42c50dcb]
mov eax, edx
shr eax, 0x16
shl edx, 0xa
or eax, edx
mov edx, ecx
add eax, ebx
not edx
or edx, eax
xor edx, ebx
add edx, ebp
lea esi, [edx + esi + 0x2ad7d2bb]
mov edx, esi
shr edx, 0x11
shl esi, 0xf
or edx, esi
add edx, eax
mov esi, edx
mov edx, ebx
not edx
or edx, esi
xor edx, eax
add edx, edi
mov edi, dword [esp + 0x2c]
mov ebp, dword [esp + 0x30]
lea ecx, [edx + ecx - 0x14792c6f]
mov edx, dword [esp + 0x1c]
add ebx, edx
mov edx, ecx
shl edx, 0x15
shr ecx, 0xb
or edx, ecx
mov ecx, dword [esp + 0x28]
add edx, edi
mov edi, dword [esp + 0x34]
add eax, edi
add edx, esi
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x20]
add esi, ebp
inc eax
cmp eax, ecx
mov dword [esp + 0x14], esi
mov dword [esp + 0x20], eax
jl 0x410e5c
mov ecx, esi
pop ebp
mov eax, dword [esp + 0x80]
pop edi
pop esi
mov byte [eax + 8], cl
mov byte [eax], bl
shr ecx, 8
mov byte [eax + 9], cl
mov byte [eax + 4], dl
shr ecx, 8
mov byte [eax + 0xa], cl
shr ecx, 8
mov byte [eax + 0xb], cl
mov ecx, dword [esp + 0xc]
shr ebx, 8
shr edx, 8
mov byte [eax + 0xc], cl
mov byte [eax + 1], bl
shr ecx, 8
mov byte [eax + 5], dl
mov byte [eax + 0xd], cl
shr ebx, 8
shr edx, 8
shr ecx, 8
mov byte [eax + 2], bl
mov byte [eax + 6], dl
shr ebx, 8
shr edx, 8
mov byte [eax + 0xe], cl
mov byte [eax + 3], bl
shr ecx, 8
mov byte [eax + 7], dl
mov byte [eax + 0xf], cl
pop ebx
add esp, 0x68
ret