Function at 0x401560
Capabilities:
Encode data using xor

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov dword [esp + 0x58], eax
mov eax, dword [eax]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x58]
mov eax, dword [eax + 4]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x58]
mov eax, dword [eax + 8]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x58]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x48], eax
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
mov ebx, dword [esp + 0x4c]
movzx esi, byte [edx + 5]
shl ecx, 8
mov edi, dword [esp + 0x48]
shl eax, 0x10
movzx ebp, byte [edx + 9]
or ecx, eax
movzx eax, byte [edx]
shl esi, 8
shl ebp, 8
or ecx, eax
movzx eax, byte [edx + 3]
shl eax, 0x18
or ecx, eax
mov eax, dword [esp + 0x48]
xor eax, dword [esp + 0x44]
and eax, dword [esp + 0x40]
xor eax, dword [esp + 0x48]
mov dword [esp + 4], ecx
lea ecx, [ebx + eax - 0x28955b88]
movzx eax, byte [edx + 6]
add ecx, dword [esp + 4]
shl eax, 0x10
or esi, eax
movzx eax, byte [edx + 4]
ror ecx, 0x19
add ecx, dword [esp + 0x40]
or esi, eax
movzx eax, byte [edx + 7]
shl eax, 0x18
or esi, eax
mov eax, dword [esp + 0x44]
xor eax, dword [esp + 0x40]
lea ebx, [edi + esi - 0x173848aa]
mov dword [esp + 8], esi
and eax, ecx
xor eax, dword [esp + 0x44]
add ebx, eax
movzx eax, byte [edx + 0xa]
ror ebx, 0x14
add ebx, ecx
shl eax, 0x10
or ebp, eax
movzx eax, byte [edx + 8]
or ebp, eax
movzx eax, byte [edx + 0xb]
shl eax, 0x18
or ebp, eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xc], ebp
lea esi, [eax + ebp + 0x242070db]
mov eax, dword [esp + 0x40]
xor eax, ecx
and eax, ebx
xor eax, dword [esp + 0x40]
add eax, esi
movzx esi, byte [edx + 0xd]
ror eax, 0xf
add eax, ebx
shl esi, 8
mov dword [esp + 0x10], esi
movzx esi, byte [edx + 0xe]
shl esi, 0x10
or dword [esp + 0x10], esi
movzx esi, byte [edx + 0xc]
or dword [esp + 0x10], esi
movzx esi, byte [edx + 0xf]
shl esi, 0x18
or dword [esp + 0x10], esi
mov ebp, dword [esp + 0x10]
mov esi, dword [esp + 0x40]
lea edi, [esi + ebp - 0x3e423112]
mov esi, ebx
movzx ebp, byte [edx + 0x11]
xor esi, ecx
and esi, eax
xor esi, ecx
add edi, esi
movzx esi, byte [edx + 0x12]
shl ebp, 8
ror edi, 0xa
add edi, eax
shl esi, 0x10
or ebp, esi
movzx esi, byte [edx + 0x10]
or ebp, esi
movzx esi, byte [edx + 0x13]
shl esi, 0x18
or ebp, esi
lea esi, [ecx + ebp - 0xa83f051]
mov ecx, eax
xor ecx, ebx
and ecx, edi
xor ecx, ebx
add ecx, esi
movzx esi, byte [edx + 0x15]
mov dword [esp + 0x14], ebp
ror ecx, 0x19
add ecx, edi
shl esi, 8
mov dword [esp + 0x18], esi
movzx esi, byte [edx + 0x16]
shl esi, 0x10
or dword [esp + 0x18], esi
movzx esi, byte [edx + 0x14]
or dword [esp + 0x18], esi
movzx esi, byte [edx + 0x17]
shl esi, 0x18
or dword [esp + 0x18], esi
mov ebp, dword [esp + 0x18]
lea esi, [ebx + ebp + 0x4787c62a]
mov ebx, edi
xor ebx, eax
and ebx, ecx
xor ebx, eax
add ebx, esi
movzx esi, byte [edx + 0x19]
ror ebx, 0x14
add ebx, ecx
shl esi, 8
mov dword [esp + 0x1c], esi
movzx esi, byte [edx + 0x1a]
shl esi, 0x10
or dword [esp + 0x1c], esi
movzx esi, byte [edx + 0x18]
or dword [esp + 0x1c], esi
movzx esi, byte [edx + 0x1b]
shl esi, 0x18
or dword [esp + 0x1c], esi
mov ebp, dword [esp + 0x1c]
lea esi, [eax + ebp - 0x57cfb9ed]
mov eax, ecx
movzx ebp, byte [edx + 0x1e]
xor eax, edi
and eax, ebx
xor eax, edi
add esi, eax
movzx eax, byte [edx + 0x1d]
shl ebp, 0x10
ror esi, 0xf
add esi, ebx
shl eax, 8
or eax, ebp
movzx ebp, byte [edx + 0x1c]
or eax, ebp
movzx ebp, byte [edx + 0x1f]
shl ebp, 0x18
or eax, ebp
lea ebp, [edi + eax - 0x2b96aff]
mov edi, ebx
xor edi, ecx
and edi, esi
xor edi, ecx
add edi, ebp
movzx ebp, byte [edx + 0x21]
ror edi, 0xa
add edi, esi
shl ebp, 8
mov dword [esp + 0x20], ebp
movzx ebp, byte [edx + 0x22]
shl ebp, 0x10
or dword [esp + 0x20], ebp
movzx ebp, byte [edx + 0x20]
or dword [esp + 0x20], ebp
movzx ebp, byte [edx + 0x23]
shl ebp, 0x18
or dword [esp + 0x20], ebp
mov ebp, dword [esp + 0x20]
lea ecx, [ecx + ebp + 0x698098d8]
movzx ebp, byte [edx + 0x25]
mov dword [esp + 0x24], ecx
mov ecx, esi
xor ecx, ebx
and ecx, edi
shl ebp, 8
xor ecx, ebx
add ecx, dword [esp + 0x24]
mov dword [esp + 0x24], ebp
movzx ebp, byte [edx + 0x26]
ror ecx, 0x19
add ecx, edi
shl ebp, 0x10
or dword [esp + 0x24], ebp
movzx ebp, byte [edx + 0x24]
or dword [esp + 0x24], ebp
movzx ebp, byte [edx + 0x27]
shl ebp, 0x18
or dword [esp + 0x24], ebp
mov ebp, dword [esp + 0x24]
lea ebx, [ebx + ebp - 0x74bb0851]
movzx ebp, byte [edx + 0x29]
mov dword [esp + 0x28], ebx
mov ebx, edi
xor ebx, esi
and ebx, ecx
shl ebp, 8
xor ebx, esi
add ebx, dword [esp + 0x28]
mov dword [esp + 0x28], ebp
movzx ebp, byte [edx + 0x2a]
ror ebx, 0x14
add ebx, ecx
shl ebp, 0x10
or dword [esp + 0x28], ebp
movzx ebp, byte [edx + 0x28]
or dword [esp + 0x28], ebp
movzx ebp, byte [edx + 0x2b]
shl ebp, 0x18
or dword [esp + 0x28], ebp
mov ebp, dword [esp + 0x28]
lea esi, [esi + ebp - 0xa44f]
movzx ebp, byte [edx + 0x2d]
mov dword [esp + 0x2c], esi
mov esi, ecx
xor esi, edi
and esi, ebx
xor esi, edi
add esi, dword [esp + 0x2c]
ror esi, 0xf
add esi, ebx
shl ebp, 8
mov dword [esp + 0x2c], ebp
movzx ebp, byte [edx + 0x2e]
shl ebp, 0x10
or dword [esp + 0x2c], ebp
movzx ebp, byte [edx + 0x2c]
or dword [esp + 0x2c], ebp
movzx ebp, byte [edx + 0x2f]
shl ebp, 0x18
or dword [esp + 0x2c], ebp
mov ebp, dword [esp + 0x2c]
lea edi, [edi + ebp - 0x76a32842]
movzx ebp, byte [edx + 0x31]
mov dword [esp + 0x30], edi
mov edi, ebx
xor edi, ecx
and edi, esi
shl ebp, 8
xor edi, ecx
add edi, dword [esp + 0x30]
mov dword [esp + 0x30], ebp
movzx ebp, byte [edx + 0x32]
ror edi, 0xa
add edi, esi
shl ebp, 0x10
or dword [esp + 0x30], ebp
movzx ebp, byte [edx + 0x30]
or dword [esp + 0x30], ebp
movzx ebp, byte [edx + 0x33]
shl ebp, 0x18
or dword [esp + 0x30], ebp
mov ebp, dword [esp + 0x30]
lea ecx, [ecx + ebp + 0x6b901122]
movzx ebp, byte [edx + 0x35]
mov dword [esp + 0x34], ecx
mov ecx, esi
xor ecx, ebx
and ecx, edi
shl ebp, 8
xor ecx, ebx
add ecx, dword [esp + 0x34]
mov dword [esp + 0x34], ebp
movzx ebp, byte [edx + 0x36]
ror ecx, 0x19
add ecx, edi
shl ebp, 0x10
or dword [esp + 0x34], ebp
movzx ebp, byte [edx + 0x34]
or dword [esp + 0x34], ebp
movzx ebp, byte [edx + 0x37]
shl ebp, 0x18
or dword [esp + 0x34], ebp
mov ebp, dword [esp + 0x34]
lea ebx, [ebx + ebp - 0x2678e6d]
movzx ebp, byte [edx + 0x39]
mov dword [esp + 0x38], ebx
mov ebx, edi
xor ebx, esi
and ebx, ecx
xor ebx, esi
add ebx, dword [esp + 0x38]
shl ebp, 8
mov dword [esp + 0x38], ebp
movzx ebp, byte [edx + 0x3a]
ror ebx, 0x14
add ebx, ecx
shl ebp, 0x10
or dword [esp + 0x38], ebp
movzx ebp, byte [edx + 0x38]
or dword [esp + 0x38], ebp
movzx ebp, byte [edx + 0x3b]
shl ebp, 0x18
or dword [esp + 0x38], ebp
mov ebp, dword [esp + 0x38]
lea esi, [esi + ebp - 0x5986bc72]
movzx ebp, byte [edx + 0x3d]
mov dword [esp + 0x3c], esi
mov esi, ecx
xor esi, edi
and esi, ebx
shl ebp, 8
xor esi, edi
add esi, dword [esp + 0x3c]
mov dword [esp + 0x3c], ebp
movzx ebp, byte [edx + 0x3e]
ror esi, 0xf
add esi, ebx
shl ebp, 0x10
or dword [esp + 0x3c], ebp
movzx ebp, byte [edx + 0x3c]
or dword [esp + 0x3c], ebp
movzx ebp, byte [edx + 0x3f]
add edx, 0x40
shl ebp, 0x18
or dword [esp + 0x3c], ebp
mov ebp, dword [esp + 0x3c]
lea edi, [edi + ebp + 0x49b40821]
mov ebp, dword [esp + 8]
mov dword [esp + 0x54], edi
mov edi, ebx
xor edi, ecx
and edi, esi
xor edi, ecx
add edi, dword [esp + 0x54]
lea ecx, [ebp + ecx - 0x9e1da9e]
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x54], ecx
ror edi, 0xa
add edi, esi
mov ecx, edi
xor ecx, esi
and ecx, ebx
xor ecx, esi
add ecx, dword [esp + 0x54]
lea ebx, [ebp + ebx - 0x3fbf4cc0]
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x54], ebx
ror ecx, 0x1b
add ecx, edi
mov ebx, ecx
xor ebx, edi
and ebx, esi
xor ebx, edi
add ebx, dword [esp + 0x54]
lea esi, [ebp + esi + 0x265e5a51]
mov ebp, dword [esp + 4]
mov dword [esp + 0x54], esi
ror ebx, 0x17
add ebx, ecx
mov esi, ebx
xor esi, ecx
and esi, edi
xor esi, ecx
add esi, dword [esp + 0x54]
lea edi, [ebp + edi - 0x16493856]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x54], edi
ror esi, 0x12
add esi, ebx
mov edi, esi
xor edi, ebx
and edi, ecx
xor edi, ebx
add edi, dword [esp + 0x54]
lea ecx, [ebp + ecx - 0x29d0efa3]
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x54], ecx
ror edi, 0xc
add edi, esi
mov ecx, edi
xor ecx, esi
and ecx, ebx
xor ecx, esi
add ecx, dword [esp + 0x54]
lea ebx, [ebp + ebx + 0x2441453]
mov ebp, dword [esp + 0x3c]
mov dword [esp + 0x54], ebx
ror ecx, 0x1b
add ecx, edi
mov ebx, ecx
xor ebx, edi
and ebx, esi
xor ebx, edi
add ebx, dword [esp + 0x54]
lea esi, [ebp + esi - 0x275e197f]
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x54], esi
ror ebx, 0x17
add ebx, ecx
mov esi, ebx
xor esi, ecx
and esi, edi
xor esi, ecx
add esi, dword [esp + 0x54]
lea edi, [ebp + edi - 0x182c0438]
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x54], edi
ror esi, 0x12
add esi, ebx
mov edi, esi
xor edi, ebx
and edi, ecx
xor edi, ebx
add edi, dword [esp + 0x54]
lea ecx, [ebp + ecx + 0x21e1cde6]
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x54], ecx
ror edi, 0xc
add edi, esi
mov ecx, edi
xor ecx, esi
and ecx, ebx
xor ecx, esi
add ecx, dword [esp + 0x54]
lea ebx, [ebp + ebx - 0x3cc8f82a]
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x54], ebx
ror ecx, 0x1b
add ecx, edi
mov ebx, ecx
xor ebx, edi
and ebx, esi
xor ebx, edi
add ebx, dword [esp + 0x54]
lea esi, [ebp + esi - 0xb2af279]
mov dword [esp + 0x54], esi
mov ebp, dword [esp + 0x20]
ror ebx, 0x17
add ebx, ecx
mov esi, ebx
xor esi, ecx
and esi, edi
xor esi, ecx
add esi, dword [esp + 0x54]
lea edi, [ebp + edi + 0x455a14ed]
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x54], edi
ror esi, 0x12
add esi, ebx
mov edi, esi
xor edi, ebx
and edi, ecx
xor edi, ebx
add edi, dword [esp + 0x54]
lea ecx, [ebp + ecx - 0x561c16fb]
mov ebp, dword [esp + 0xc]
mov dword [esp + 0x54], ecx
ror edi, 0xc
add edi, esi
mov ecx, edi
xor ecx, esi
and ecx, ebx
xor ecx, esi
add ecx, dword [esp + 0x54]
lea ebx, [ebp + ebx - 0x3105c08]
mov dword [esp + 0x54], ebx
lea ebp, [eax + esi + 0x676f02d9]
ror ecx, 0x1b
add ecx, edi
mov ebx, ecx
xor ebx, edi
and ebx, esi
xor ebx, edi
add ebx, dword [esp + 0x54]
ror ebx, 0x17
add ebx, ecx
mov esi, ebx
xor esi, ecx
and esi, edi
xor esi, ecx
add esi, ebp
ror esi, 0x12
add esi, ebx
mov ebp, esi
xor ebp, ebx
mov dword [esp + 0x54], ebp
mov ebp, dword [esp + 0x30]
lea edi, [ebp + edi - 0x72d5b376]
mov ebp, dword [esp + 0x18]
mov dword [esp], edi
mov edi, dword [esp + 0x54]
and edi, ecx
xor edi, ebx
add edi, dword [esp]
lea ecx, [ebp + ecx - 0x5c6be]
mov ebp, dword [esp + 0x54]
ror edi, 0xc
add edi, esi
xor ebp, edi
add ebp, ecx
mov ecx, dword [esp + 0x20]
ror ebp, 0x1c
add ebp, edi
lea ebx, [ecx + ebx - 0x788e097f]
mov ecx, edi
xor ecx, esi
xor ecx, ebp
add ebx, ecx
mov ecx, dword [esp + 0x2c]
ror ebx, 0x15
add ebx, ebp
lea esi, [ecx + esi + 0x6d9d6122]
mov ecx, ebp
xor ecx, edi
xor ecx, ebx
add esi, ecx
mov ecx, dword [esp + 0x38]
ror esi, 0x10
add esi, ebx
lea edi, [ecx + edi - 0x21ac7f4]
mov ecx, ebx
xor ecx, ebp
xor ecx, esi
add ecx, edi
mov edi, dword [esp + 8]
ror ecx, 9
add ecx, esi
lea ebp, [edi + ebp - 0x5b4115bc]
mov edi, esi
xor edi, ebx
xor edi, ecx
add edi, ebp
mov ebp, dword [esp + 0x14]
ror edi, 0x1c
add edi, ecx
lea ebx, [ebp + ebx + 0x4bdecfa9]
mov dword [esp + 0x54], ebx
mov ebp, dword [esp + 0x54]
mov ebx, ecx
xor ebx, esi
xor ebx, edi
lea esi, [eax + esi - 0x944b4a0]
add ebp, ebx
mov ebx, edi
ror ebp, 0x15
xor ebx, ecx
add ebp, edi
xor ebx, ebp
add ebx, esi
mov esi, dword [esp + 0x28]
ror ebx, 0x10
add ebx, ebp
lea ecx, [esi + ecx - 0x41404390]
mov dword [esp + 0x54], ecx
mov esi, dword [esp + 0x54]
mov ecx, ebp
xor ecx, edi
xor ecx, ebx
add esi, ecx
mov ecx, dword [esp + 0x34]
ror esi, 9
add esi, ebx
lea edi, [ecx + edi + 0x289b7ec6]
mov ecx, ebx
xor ecx, ebp
xor ecx, esi
add edi, ecx
mov ecx, dword [esp + 4]
ror edi, 0x1c
add edi, esi
lea ebp, [ecx + ebp - 0x155ed806]
mov ecx, esi
xor ecx, ebx
xor ecx, edi
add ecx, ebp
mov ebp, dword [esp + 0x10]
ror ecx, 0x15
add ecx, edi
lea ebx, [ebp + ebx - 0x2b10cf7b]
mov dword [esp + 0x54], ebx
mov ebp, dword [esp + 0x54]
mov ebx, edi
xor ebx, esi
xor ebx, ecx
add ebp, ebx
mov ebx, dword [esp + 0x1c]
ror ebp, 0x10
add ebp, ecx
lea esi, [ebx + esi + 0x4881d05]
mov ebx, ecx
xor ebx, edi
xor ebx, ebp
add esi, ebx
mov ebx, dword [esp + 0x24]
ror esi, 9
add esi, ebp
lea edi, [ebx + edi - 0x262b2fc7]
mov ebx, ebp
xor ebx, ecx
xor ebx, esi
add ebx, edi
mov edi, dword [esp + 0x30]
ror ebx, 0x1c
add ebx, esi
lea ecx, [edi + ecx - 0x1924661b]
mov dword [esp + 0x54], ecx
mov edi, dword [esp + 0x54]
mov ecx, esi
xor ecx, ebp
xor ecx, ebx
add edi, ecx
mov ecx, dword [esp + 0x3c]
ror edi, 0x15
add edi, ebx
lea ebp, [ecx + ebp + 0x1fa27cf8]
mov ecx, ebx
xor ecx, esi
xor ecx, edi
add ebp, ecx
mov ecx, dword [esp + 0xc]
ror ebp, 0x10
add ebp, edi
lea esi, [ecx + esi - 0x3b53a99b]
mov ecx, edi
xor ecx, ebx
xor ecx, ebp
add ecx, esi
mov esi, dword [esp + 4]
ror ecx, 9
add ecx, ebp
lea ebx, [esi + ebx - 0xbd6ddbc]
mov dword [esp + 4], ebx
mov ebx, edi
not ebx
or ebx, ecx
xor ebx, ebp
add ebx, dword [esp + 4]
lea esi, [eax + edi + 0x432aff97]
mov eax, ebp
not eax
ror ebx, 0x1a
add ebx, ecx
or eax, ebx
xor eax, ecx
add eax, esi
mov esi, dword [esp + 0x38]
ror eax, 0x16
add eax, ebx
lea edi, [esi + ebp - 0x546bdc59]
mov esi, ecx
mov ebp, dword [esp + 0x18]
not esi
or esi, eax
xor esi, ebx
add esi, edi
ror esi, 0x11
lea edi, [ebp + ecx - 0x36c5fc7]
mov ecx, ebx
mov ebp, dword [esp + 0x30]
add esi, eax
not ecx
or ecx, esi
xor ecx, eax
add ecx, edi
ror ecx, 0xb
lea edi, [ebp + ebx + 0x655b59c3]
mov ebx, eax
mov ebp, dword [esp + 0x10]
add ecx, esi
not ebx
or ebx, ecx
xor ebx, esi
add ebx, edi
ror ebx, 0x1a
lea edi, [ebp + eax - 0x70f3336e]
mov eax, esi
mov ebp, dword [esp + 8]
add ebx, ecx
not eax
or eax, ebx
xor eax, ecx
add edi, eax
mov eax, dword [esp + 0x28]
ror edi, 0x16
add edi, ebx
lea esi, [eax + esi - 0x100b83]
mov eax, ecx
not eax
or eax, edi
xor eax, ebx
add esi, eax
mov eax, ebx
ror esi, 0x11
not eax
add esi, edi
or eax, esi
lea ecx, [ebp + ecx - 0x7a7ba22f]
xor eax, edi
mov ebp, dword [esp + 0x1c]
add eax, ecx
mov ecx, dword [esp + 0x20]
ror eax, 0xb
add eax, esi
lea ebx, [ecx + ebx + 0x6fa87e4f]
mov ecx, edi
not ecx
or ecx, eax
xor ecx, esi
add ecx, ebx
mov ebx, dword [esp + 0x3c]
ror ecx, 0x1a
add ecx, eax
lea edi, [ebx + edi - 0x1d31920]
mov ebx, esi
not ebx
or ebx, ecx
xor ebx, eax
add ebx, edi
ror ebx, 0x16
lea edi, [ebp + esi - 0x5cfebcec]
mov esi, eax
mov ebp, dword [esp + 0x34]
add ebx, ecx
not esi
or esi, ebx
xor esi, ecx
add esi, edi
ror esi, 0x11
lea edi, [ebp + eax + 0x4e0811a1]
mov eax, ecx
mov ebp, dword [esp + 0x14]
add esi, ebx
not eax
or eax, esi
xor eax, ebx
add eax, edi
ror eax, 0xb
lea edi, [ebp + ecx - 0x8ac817e]
mov ecx, ebx
mov ebp, dword [esp + 0x2c]
add eax, esi
not ecx
or ecx, eax
xor ecx, esi
add ecx, edi
ror ecx, 0x1a
lea edi, [ebp + ebx - 0x42c50dcb]
mov ebx, esi
mov ebp, dword [esp + 0xc]
add ecx, eax
not ebx
or ebx, ecx
xor ebx, eax
add ebx, edi
ror ebx, 0x16
lea edi, [ebp + esi + 0x2ad7d2bb]
mov esi, eax
mov ebp, dword [esp + 0x24]
add ebx, ecx
not esi
or esi, ebx
xor esi, ecx
add esi, edi
ror esi, 0x11
lea edi, [ebp + eax - 0x14792c6f]
mov eax, ecx
add esi, ebx
not eax
or eax, esi
xor eax, ebx
add eax, edi
ror eax, 0xb
add eax, esi
add dword [esp + 0x4c], ecx
add dword [esp + 0x40], eax
add dword [esp + 0x44], esi
add dword [esp + 0x48], ebx
sub dword [esp + 0x50], 1
jne 0x401596
mov eax, dword [esp + 0x58]
mov ebx, dword [esp + 0x44]
mov esi, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x40]
mov dword [eax + 8], ebx
mov dword [eax + 0xc], esi
mov dword [eax], edx
mov dword [eax + 4], ecx
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret