Function at 0x59a640
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov eax, 8
call fcn.004c47c0
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
movzx ecx, byte [edi + 4]
movzx eax, byte [edi + 5]
shl ecx, 8
or ecx, eax
movzx edx, byte [edi + 0xc]
movzx eax, byte [edi + 6]
shl ecx, 8
or ecx, eax
shl edx, 8
movzx eax, byte [edi + 7]
shl ecx, 8
or ecx, eax
movzx eax, byte [edi + 9]
mov dword [esp + 0x1c], ecx
movzx ecx, byte [edi + 8]
shl ecx, 8
or ecx, eax
movzx eax, byte [edi + 0xa]
shl ecx, 8
or ecx, eax
movzx eax, byte [edi + 0xb]
shl ecx, 8
or ecx, eax
movzx eax, byte [edi + 0xd]
or edx, eax
mov dword [esp + 0x10], ecx
movzx eax, byte [edi + 0xe]
mov ecx, dword [ebx]
shl edx, 8
or edx, eax
movzx eax, byte [edi + 0xf]
shl edx, 8
or edx, eax
xor ecx, edx
mov dword [esp + 0x14], edx
xor ecx, dword [esp + 0x10]
xor ecx, dword [esp + 0x1c]
mov eax, ecx
shr eax, 0x18
movzx esi, byte [eax + 0x64e2c0]
mov eax, ecx
shr eax, 0x10
movzx eax, al
shl esi, 8
movzx eax, byte [eax + 0x64e2c0]
or esi, eax
mov eax, ecx
shr eax, 8
movzx eax, al
shl esi, 8
movzx eax, byte [eax + 0x64e2c0]
or esi, eax
movzx eax, cl
mov edx, esi
shl edx, 8
movzx ecx, byte [eax + 0x64e2c0]
or edx, ecx
mov ebp, edx
mov eax, edx
ror eax, 0x16
ror ebp, 0x1e
xor ebp, eax
mov eax, edx
bswap ecx
ror eax, 0xe
or ecx, esi
xor ebp, eax
movzx eax, byte [edi + 1]
xor ebp, ecx
movzx ecx, byte [edi]
shl ecx, 8
mov dword [esp + 0x24], ebp
or ecx, eax
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
movzx eax, byte [edi + 3]
shl ecx, 8
or ecx, eax
mov eax, ebp
xor eax, ecx
mov ecx, dword [ebx + 4]
xor ecx, dword [esp + 0x14]
xor eax, edx
xor ecx, dword [esp + 0x10]
xor ecx, eax
mov dword [esp + 0x24], eax
mov eax, ecx
mov ebp, dword [esp + 0x24]
shr eax, 0x18
movzx edi, byte [eax + 0x64e2c0]
mov eax, ecx
shr eax, 0x10
movzx eax, al
shl edi, 8
movzx eax, byte [eax + 0x64e2c0]
or edi, eax
mov eax, ecx
shr eax, 8
movzx eax, al
shl edi, 8
movzx eax, byte [eax + 0x64e2c0]
or edi, eax
movzx eax, cl
mov edx, edi
shl edx, 8
movzx esi, byte [eax + 0x64e2c0]
or edx, esi
mov ecx, edx
mov eax, edx
ror eax, 0x16
ror ecx, 0x1e
xor ecx, eax
mov eax, edx
ror eax, 0xe
xor ecx, eax
mov eax, dword [esp + 0x1c]
bswap esi
or esi, edi
xor ecx, esi
xor ecx, edx
xor eax, ecx
mov ecx, dword [ebx + 8]
xor ecx, dword [esp + 0x14]
xor ecx, eax
mov dword [esp + 0x1c], eax
xor ecx, ebp
mov eax, ecx
shr eax, 0x18
movzx edi, byte [eax + 0x64e2c0]
mov eax, ecx
shr eax, 0x10
movzx eax, al
shl edi, 8
movzx eax, byte [eax + 0x64e2c0]
or edi, eax
mov eax, ecx
shr eax, 8
movzx eax, al
shl edi, 8
movzx eax, byte [eax + 0x64e2c0]
or edi, eax
movzx eax, cl
mov edx, edi
shl edx, 8
movzx esi, byte [eax + 0x64e2c0]
or edx, esi
mov ecx, edx
mov eax, edx
ror eax, 0x16
ror ecx, 0x1e
xor ecx, eax
mov eax, edx
ror eax, 0xe
xor ecx, eax
mov eax, dword [esp + 0x10]
bswap esi
or esi, edi
xor ecx, esi
xor ecx, edx
xor eax, ecx
mov ecx, dword [ebx + 0xc]
xor ecx, eax
mov dword [esp + 0x10], eax
xor ecx, dword [esp + 0x1c]
xor ecx, ebp
mov eax, ecx
shr eax, 0x18
movzx edi, byte [eax + 0x64e2c0]
mov eax, ecx
shr eax, 0x10
movzx eax, al
shl edi, 8
movzx eax, byte [eax + 0x64e2c0]
or edi, eax
mov eax, ecx
shr eax, 8
movzx eax, al
shl edi, 8
movzx eax, byte [eax + 0x64e2c0]
or edi, eax
movzx eax, cl
mov edx, edi
shl edx, 8
movzx esi, byte [eax + 0x64e2c0]
or edx, esi
mov ecx, edx
mov eax, edx
ror eax, 0x16
ror ecx, 0x1e
xor ecx, eax
mov eax, edx
ror eax, 0xe
xor ecx, eax
bswap esi
or esi, edi
mov edi, dword [esp + 0x10]
xor ecx, esi
mov esi, dword [esp + 0x14]
xor ecx, edx
mov edx, dword [ebx + 0x10]
xor esi, ecx
xor edx, esi
xor edx, edi
xor edx, dword [esp + 0x1c]
mov eax, edx
shr eax, 8
movzx eax, al
mov ecx, dword [eax*4 + 0x64e3c0]
mov eax, edx
shr eax, 0x10
movzx eax, al
ror ecx, 0x10
mov eax, dword [eax*4 + 0x64e3c0]
ror eax, 8
xor ecx, eax
movzx eax, dl
shr edx, 0x18
mov eax, dword [eax*4 + 0x64e3c0]
ror eax, 0x18
xor ecx, eax
xor ecx, dword [edx*4 + 0x64e3c0]
mov edx, dword [ebx + 0x14]
xor ebp, ecx
xor edx, esi
xor edx, edi
xor edx, ebp
mov eax, edx
shr eax, 8
movzx eax, al
mov ecx, dword [eax*4 + 0x64e3c0]
mov eax, edx
ror ecx, 0x10
shr eax, 0x10
movzx eax, al
mov eax, dword [eax*4 + 0x64e3c0]
ror eax, 8
xor ecx, eax
movzx eax, dl
shr edx, 0x18
mov eax, dword [eax*4 + 0x64e3c0]
ror eax, 0x18
xor ecx, eax
mov eax, dword [esp + 0x1c]
xor ecx, dword [edx*4 + 0x64e3c0]
xor eax, ecx
mov edx, dword [ebx + 0x18]
mov dword [esp + 0x1c], eax
xor edx, esi
xor edx, eax
xor edx, ebp
mov eax, edx
shr eax, 8
movzx eax, al
mov ecx, dword [eax*4 + 0x64e3c0]
mov eax, edx
shr eax, 0x10
movzx eax, al
ror ecx, 0x10
mov eax, dword [eax*4 + 0x64e3c0]
ror eax, 8
xor ecx, eax
movzx eax, dl
shr edx, 0x18
mov eax, dword [eax*4 + 0x64e3c0]
ror eax, 0x18
xor ecx, eax
xor ecx, dword [edx*4 + 0x64e3c0]
mov edx, dword [ebx + 0x1c]
xor edi, ecx
xor edx, edi
xor edx, dword [esp + 0x1c]
xor edx, ebp
mov eax, edx
shr eax, 8
movzx eax, al
mov ecx, dword [eax*4 + 0x64e3c0]
mov eax, edx
shr eax, 0x10
movzx eax, al
ror ecx, 0x10
mov eax, dword [eax*4 + 0x64e3c0]
ror eax, 8
xor ecx, eax
movzx eax, dl
shr edx, 0x18
mov eax, dword [eax*4 + 0x64e3c0]
ror eax, 0x18
xor ecx, eax
xor ecx, dword [edx*4 + 0x64e3c0]
mov edx, dword [ebx + 0x20]
xor esi, ecx
xor edx, esi
xor edx, edi
xor edx, dword [esp + 0x1c]
mov eax, edx
shr eax, 0x10
movzx eax, al
mov ecx, dword [eax*4 + 0x64e3c0]
mov eax, edx
shr eax, 8
movzx eax, al
ror ecx, 8
mov eax, dword [eax*4 + 0x64e3c0]
ror eax, 0x10
xor ecx, eax
movzx eax, dl
shr edx, 0x18
mov eax, dword [eax*4 + 0x64e3c0]
ror eax, 0x18
xor ecx, eax
xor ecx, dword [edx*4 + 0x64e3c0]
mov edx, dword [ebx + 0x24]
xor ebp, ecx
xor edx, esi
xor edx, edi
xor edx, ebp
mov eax, edx
shr eax, 8
movzx eax, al
mov ecx, dword [eax*4 + 0x64e3c0]
mov eax, edx
shr eax, 0x10
movzx eax, al
ror ecx, 0x10
mov eax, dword [eax*4 + 0x64e3c0]
ror eax, 8
xor ecx, eax
movzx eax, dl
shr edx, 0x18
mov eax, dword [eax*4 + 0x64e3c0]
ror eax, 0x18
xor ecx, eax
mov eax, dword [esp + 0x1c]
xor ecx, dword [edx*4 + 0x64e3c0]
xor eax, ecx
mov edx, dword [ebx + 0x28]
mov dword [esp + 0x1c], eax
xor edx, esi
xor edx, eax
xor edx, ebp
mov eax, edx
shr eax, 8
movzx eax, al
mov ecx, dword [eax*4 + 0x64e3c0]
mov eax, edx
shr eax, 0x10
movzx eax, al
ror ecx, 0x10
mov eax, dword [eax*4 + 0x64e3c0]
ror eax, 8
xor ecx, eax
movzx eax, dl
shr edx, 0x18
mov eax, dword [eax*4 + 0x64e3c0]
ror eax, 0x18
xor ecx, eax
xor ecx, dword [edx*4 + 0x64e3c0]
mov edx, dword [ebx + 0x2c]
xor edi, ecx
xor edx, edi
xor edx, dword [esp + 0x1c]
xor edx, ebp
mov eax, edx
shr eax, 8
movzx eax, al
mov ecx, dword [eax*4 + 0x64e3c0]
mov eax, edx
shr eax, 0x10
movzx eax, al
ror ecx, 0x10
mov eax, dword [eax*4 + 0x64e3c0]
ror eax, 8
xor ecx, eax
movzx eax, dl
shr edx, 0x18
mov eax, dword [eax*4 + 0x64e3c0]
ror eax, 0x18
xor ecx, eax
xor ecx, dword [edx*4 + 0x64e3c0]
mov edx, dword [ebx + 0x30]
xor esi, ecx
xor edx, esi
xor edx, edi
xor edx, dword [esp + 0x1c]
mov eax, edx
shr eax, 8
movzx eax, al
mov ecx, dword [eax*4 + 0x64e3c0]
mov eax, edx
shr eax, 0x10
movzx eax, al
ror ecx, 0x10
mov eax, dword [eax*4 + 0x64e3c0]
ror eax, 8
xor ecx, eax
movzx eax, dl
mov eax, dword [eax*4 + 0x64e3c0]
ror eax, 0x18
xor ecx, eax
shr edx, 0x18
xor ecx, dword [edx*4 + 0x64e3c0]
mov edx, dword [ebx + 0x34]
xor ebp, ecx
xor edx, esi
xor edx, edi
xor edx, ebp
mov eax, edx
shr eax, 8
movzx eax, al
mov ecx, dword [eax*4 + 0x64e3c0]
mov eax, edx
shr eax, 0x10
movzx eax, al
ror ecx, 0x10
mov eax, dword [eax*4 + 0x64e3c0]
ror eax, 8
xor ecx, eax
movzx eax, dl
shr edx, 0x18
mov eax, dword [eax*4 + 0x64e3c0]
ror eax, 0x18
xor ecx, eax
mov eax, dword [esp + 0x1c]
xor ecx, dword [edx*4 + 0x64e3c0]
xor eax, ecx
mov edx, dword [ebx + 0x38]
mov dword [esp + 0x1c], eax
xor edx, esi
xor edx, eax
xor edx, ebp
mov eax, edx
shr eax, 8
movzx eax, al
mov ecx, dword [eax*4 + 0x64e3c0]
mov eax, edx
shr eax, 0x10
movzx eax, al
ror ecx, 0x10
mov eax, dword [eax*4 + 0x64e3c0]
ror eax, 8
xor ecx, eax
movzx eax, dl
shr edx, 0x18
mov eax, dword [eax*4 + 0x64e3c0]
ror eax, 0x18
xor ecx, eax
xor ecx, dword [edx*4 + 0x64e3c0]
mov edx, dword [ebx + 0x3c]
xor edi, ecx
xor edx, edi
xor edx, dword [esp + 0x1c]
xor edx, ebp
mov eax, edx
shr eax, 8
movzx eax, al
mov ecx, dword [eax*4 + 0x64e3c0]
mov eax, edx
shr eax, 0x10
movzx eax, al
ror ecx, 0x10
mov eax, dword [eax*4 + 0x64e3c0]
ror eax, 8
xor ecx, eax
movzx eax, dl
shr edx, 0x18
mov eax, dword [eax*4 + 0x64e3c0]
ror eax, 0x18
xor ecx, eax
xor ecx, dword [edx*4 + 0x64e3c0]
mov edx, dword [ebx + 0x40]
xor esi, ecx
xor edx, esi
xor edx, edi
xor edx, dword [esp + 0x1c]
mov eax, edx
shr eax, 8
movzx eax, al
mov ecx, dword [eax*4 + 0x64e3c0]
mov eax, edx
shr eax, 0x10
movzx eax, al
ror ecx, 0x10
mov eax, dword [eax*4 + 0x64e3c0]
ror eax, 8
xor ecx, eax
movzx eax, dl
shr edx, 0x18
mov eax, dword [eax*4 + 0x64e3c0]
ror eax, 0x18
xor ecx, eax
xor ecx, dword [edx*4 + 0x64e3c0]
mov edx, dword [ebx + 0x44]
xor ebp, ecx
xor edx, esi
xor edx, edi
xor edx, ebp
mov eax, edx
shr eax, 8
movzx eax, al
mov ecx, dword [eax*4 + 0x64e3c0]
mov eax, edx
shr eax, 0x10
movzx eax, al
ror ecx, 0x10
mov eax, dword [eax*4 + 0x64e3c0]
ror eax, 8
xor ecx, eax
movzx eax, dl
shr edx, 0x18
mov eax, dword [eax*4 + 0x64e3c0]
ror eax, 0x18
xor ecx, eax
mov eax, dword [esp + 0x1c]
xor ecx, dword [edx*4 + 0x64e3c0]
mov edx, dword [ebx + 0x48]
xor eax, ecx
mov dword [esp + 0x1c], eax
xor edx, esi
xor edx, eax
xor edx, ebp
mov eax, edx
shr eax, 8
movzx eax, al
mov ecx, dword [eax*4 + 0x64e3c0]
mov eax, edx
shr eax, 0x10
movzx eax, al
ror ecx, 0x10
mov eax, dword [eax*4 + 0x64e3c0]
ror eax, 8
xor ecx, eax
movzx eax, dl
shr edx, 0x18
mov eax, dword [eax*4 + 0x64e3c0]
ror eax, 0x18
xor ecx, eax
xor ecx, dword [edx*4 + 0x64e3c0]
mov edx, dword [ebx + 0x4c]
xor edi, ecx
xor edx, edi
xor edx, dword [esp + 0x1c]
xor edx, ebp
mov eax, edx
shr eax, 8
movzx eax, al
mov ecx, dword [eax*4 + 0x64e3c0]
mov eax, edx
shr eax, 0x10
movzx eax, al
ror ecx, 0x10
mov eax, dword [eax*4 + 0x64e3c0]
ror eax, 8
xor ecx, eax
movzx eax, dl
mov eax, dword [eax*4 + 0x64e3c0]
ror eax, 0x18
xor ecx, eax
shr edx, 0x18
xor ecx, dword [edx*4 + 0x64e3c0]
mov edx, dword [ebx + 0x50]
xor esi, ecx
xor edx, esi
xor edx, edi
xor edx, dword [esp + 0x1c]
mov eax, edx
shr eax, 8
movzx eax, al
mov ecx, dword [eax*4 + 0x64e3c0]
mov eax, edx
shr eax, 0x10
movzx eax, al
ror ecx, 0x10
mov eax, dword [eax*4 + 0x64e3c0]
ror eax, 8
xor ecx, eax
movzx eax, dl
shr edx, 0x18
mov eax, dword [eax*4 + 0x64e3c0]
ror eax, 0x18
xor ecx, eax
xor ecx, dword [edx*4 + 0x64e3c0]
mov edx, dword [ebx + 0x54]
xor ebp, ecx
xor edx, esi
xor edx, edi
xor edx, ebp
mov eax, edx
shr eax, 8
movzx eax, al
mov ecx, dword [eax*4 + 0x64e3c0]
mov eax, edx
shr eax, 0x10
movzx eax, al
ror ecx, 0x10
mov eax, dword [eax*4 + 0x64e3c0]
ror eax, 8
xor ecx, eax
movzx eax, dl
shr edx, 0x18
mov eax, dword [eax*4 + 0x64e3c0]
ror eax, 0x18
xor ecx, eax
mov eax, dword [esp + 0x1c]
xor ecx, dword [edx*4 + 0x64e3c0]
mov edx, dword [ebx + 0x58]
xor eax, ecx
mov dword [esp + 0x1c], eax
xor edx, esi
xor edx, eax
xor edx, ebp
mov eax, edx
shr eax, 8
movzx eax, al
mov ecx, dword [eax*4 + 0x64e3c0]
mov eax, edx
shr eax, 0x10
movzx eax, al
ror ecx, 0x10
mov eax, dword [eax*4 + 0x64e3c0]
ror eax, 8
xor ecx, eax
movzx eax, dl
shr edx, 0x18
mov eax, dword [eax*4 + 0x64e3c0]
ror eax, 0x18
xor ecx, eax
xor ecx, dword [edx*4 + 0x64e3c0]
mov edx, dword [ebx + 0x5c]
xor edi, ecx
xor edx, edi
xor edx, dword [esp + 0x1c]
xor edx, ebp
mov eax, edx
shr eax, 8
movzx eax, al
mov ecx, dword [eax*4 + 0x64e3c0]
mov eax, edx
ror ecx, 0x10
shr eax, 0x10
movzx eax, al
mov eax, dword [eax*4 + 0x64e3c0]
ror eax, 8
xor ecx, eax
movzx eax, dl
shr edx, 0x18
mov eax, dword [eax*4 + 0x64e3c0]
ror eax, 0x18
xor ecx, eax
xor ecx, dword [edx*4 + 0x64e3c0]
mov edx, dword [ebx + 0x60]
xor esi, ecx
xor edx, esi
xor edx, edi
xor edx, dword [esp + 0x1c]
mov eax, edx
shr eax, 8
movzx eax, al
mov ecx, dword [eax*4 + 0x64e3c0]
mov eax, edx
shr eax, 0x10
movzx eax, al
ror ecx, 0x10
mov eax, dword [eax*4 + 0x64e3c0]
ror eax, 8
xor ecx, eax
movzx eax, dl
shr edx, 0x18
mov eax, dword [eax*4 + 0x64e3c0]
ror eax, 0x18
xor ecx, eax
xor ecx, dword [edx*4 + 0x64e3c0]
mov edx, dword [ebx + 0x64]
xor ebp, ecx
xor edx, esi
xor edx, edi
xor edx, ebp
mov eax, edx
shr eax, 8
movzx eax, al
mov ecx, dword [eax*4 + 0x64e3c0]
mov eax, edx
shr eax, 0x10
movzx eax, al
ror ecx, 0x10
mov eax, dword [eax*4 + 0x64e3c0]
ror eax, 8
xor ecx, eax
movzx eax, dl
shr edx, 0x18
mov eax, dword [eax*4 + 0x64e3c0]
ror eax, 0x18
xor ecx, eax
mov eax, dword [esp + 0x1c]
xor ecx, dword [edx*4 + 0x64e3c0]
mov edx, dword [ebx + 0x68]
xor eax, ecx
mov dword [esp + 0x1c], eax
xor edx, esi
xor edx, eax
xor edx, ebp
mov eax, edx
shr eax, 8
movzx eax, al
mov ecx, dword [eax*4 + 0x64e3c0]
mov eax, edx
shr eax, 0x10
movzx eax, al
ror ecx, 0x10
mov eax, dword [eax*4 + 0x64e3c0]
ror eax, 8
xor ecx, eax
movzx eax, dl
shr edx, 0x18
mov eax, dword [eax*4 + 0x64e3c0]
ror eax, 0x18
xor ecx, eax
xor ecx, dword [edx*4 + 0x64e3c0]
mov edx, dword [ebx + 0x6c]
xor edi, ecx
mov dword [esp + 0x10], edi
xor edx, edi
xor edx, dword [esp + 0x1c]
xor edx, ebp
mov eax, edx
shr eax, 8
movzx eax, al
mov ecx, dword [eax*4 + 0x64e3c0]
mov eax, edx
shr eax, 0x10
movzx eax, al
ror ecx, 0x10
mov eax, dword [eax*4 + 0x64e3c0]
ror eax, 8
xor ecx, eax
movzx eax, dl
shr edx, 0x18
mov eax, dword [eax*4 + 0x64e3c0]
ror eax, 0x18
xor ecx, eax
xor ecx, dword [edx*4 + 0x64e3c0]
xor esi, ecx
mov ecx, dword [ebx + 0x70]
xor ecx, esi
mov dword [esp + 0x14], esi
xor ecx, edi
xor ecx, dword [esp + 0x1c]
mov eax, ecx
shr eax, 0x18
movzx edi, byte [eax + 0x64e2c0]
mov eax, ecx
shr eax, 0x10
movzx eax, al
shl edi, 8
movzx eax, byte [eax + 0x64e2c0]
or edi, eax
mov eax, ecx
shr eax, 8
movzx eax, al
shl edi, 8
movzx eax, byte [eax + 0x64e2c0]
or edi, eax
movzx eax, cl
mov edx, edi
shl edx, 8
movzx esi, byte [eax + 0x64e2c0]
or edx, esi
mov ecx, edx
mov eax, edx
ror eax, 0x16
ror ecx, 0x1e
xor ecx, eax
mov eax, edx
ror eax, 0xe
xor ecx, eax
bswap esi
or esi, edi
xor ecx, esi
xor ecx, edx
xor ebp, ecx
mov ecx, dword [ebx + 0x74]
xor ecx, dword [esp + 0x14]
xor ecx, dword [esp + 0x10]
xor ecx, ebp
mov dword [esp + 0x24], ebp
mov eax, ecx
shr eax, 0x18
movzx edi, byte [eax + 0x64e2c0]
mov eax, ecx
shr eax, 0x10
movzx eax, al
shl edi, 8
movzx eax, byte [eax + 0x64e2c0]
or edi, eax
mov eax, ecx
shr eax, 8
movzx eax, al
shl edi, 8
movzx eax, byte [eax + 0x64e2c0]
or edi, eax
movzx eax, cl
movzx esi, byte [eax + 0x64e2c0]
mov edx, edi
shl edx, 8
or edx, esi
mov ecx, edx
mov eax, edx
ror eax, 0x16
ror ecx, 0x1e
xor ecx, eax
mov eax, edx
ror eax, 0xe
xor ecx, eax
mov eax, dword [esp + 0x1c]
bswap esi
or esi, edi
xor ecx, esi
xor ecx, edx
xor eax, ecx
mov ecx, dword [ebx + 0x78]
xor ecx, dword [esp + 0x14]
xor ecx, eax
mov dword [esp + 0x1c], eax
xor ecx, ebp
mov eax, ecx
shr eax, 0x18
movzx edi, byte [eax + 0x64e2c0]
mov eax, ecx
shr eax, 0x10
movzx eax, al
shl edi, 8
movzx eax, byte [eax + 0x64e2c0]
or edi, eax
mov eax, ecx
shr eax, 8
movzx eax, al
shl edi, 8
movzx eax, byte [eax + 0x64e2c0]
or edi, eax
movzx eax, cl
mov edx, edi
shl edx, 8
movzx esi, byte [eax + 0x64e2c0]
or edx, esi
mov ecx, edx
mov eax, edx
ror eax, 0x16
ror ecx, 0x1e
xor ecx, eax
mov eax, edx
ror eax, 0xe
xor ecx, eax
mov eax, dword [esp + 0x10]
bswap esi
or esi, edi
xor ecx, esi
xor ecx, edx
xor eax, ecx
mov ecx, dword [ebx + 0x7c]
xor ecx, eax
mov dword [esp + 0x10], eax
xor ecx, dword [esp + 0x1c]
mov ebx, ebp
xor ecx, ebx
mov eax, ecx
shr eax, 0x18
movzx edi, byte [eax + 0x64e2c0]
mov eax, ecx
shr eax, 0x10
movzx eax, al
shl edi, 8
movzx eax, byte [eax + 0x64e2c0]
or edi, eax
mov eax, ecx
shr eax, 8
movzx eax, al
shl edi, 8
movzx eax, byte [eax + 0x64e2c0]
or edi, eax
movzx eax, cl
mov edx, edi
shl edx, 8
movzx esi, byte [eax + 0x64e2c0]
or edx, esi
mov ecx, edx
mov eax, edx
ror eax, 0x16
ror ecx, 0x1e
xor ecx, eax
mov eax, edx
ror eax, 0xe
xor ecx, eax
bswap esi
or esi, edi
xor ecx, esi
xor ecx, edx
mov edx, dword [esp + 0x14]
xor edx, ecx
mov ecx, dword [esp + 0x20]
mov eax, edx
shr eax, 0x18
pop edi
mov byte [ecx], al
mov eax, edx
shr eax, 0x10
mov byte [ecx + 1], al
mov eax, edx
shr eax, 8
mov byte [ecx + 2], al
mov byte [ecx + 3], dl
mov edx, dword [esp + 0xc]
mov eax, edx
shr eax, 0x18
mov byte [ecx + 4], al
mov eax, edx
shr eax, 0x10
mov byte [ecx + 5], al
mov eax, edx
shr eax, 8
mov byte [ecx + 6], al
mov byte [ecx + 7], dl
mov edx, dword [esp + 0x18]
mov eax, edx
shr eax, 0x18
mov byte [ecx + 8], al
mov eax, edx
shr eax, 0x10
mov byte [ecx + 9], al
mov eax, edx
shr eax, 8
mov byte [ecx + 0xa], al
mov eax, ebx
shr eax, 0x18
mov byte [ecx + 0xc], al
mov eax, ebx
shr eax, 0x10
mov byte [ecx + 0xd], al
mov eax, ebx
pop esi
shr eax, 8
pop ebp
mov byte [ecx + 0xf], bl
mov byte [ecx + 0xb], dl
mov byte [ecx + 0xe], al
pop ebx
add esp, 8
ret