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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x4c
call fcn.0065d180
push ebx
push esi
mov esi, edx
mov ebx, ecx
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x28], ebx
lea eax, [esi + 0x100]
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
test ebx, ebx
je 0x51eae6
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x51eae6
cmp esi, 0x80
je 0x51dfce
cmp esi, 0xc0
je 0x51dfce
cmp esi, 0x100
je 0x51dfce
pop esi
mov eax, 0xfffffffe
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ecx + 0x110], eax
lea eax, [esi - 0x80]
cdq
movzx ecx, byte [ebx + 1]
and edx, 0x3f
add eax, edx
movzx esi, byte [ebx + 8]
movzx edx, byte [ebx]
sar eax, 6
shl eax, 4
add eax, 0x6f5d50
shl edx, 8
mov dword [ebp - 0x20], eax
xor edx, ecx
movzx eax, byte [ebx + 2]
movzx ecx, byte [ebx + 4]
shl edx, 8
xor edx, eax
shl ecx, 8
movzx eax, byte [ebx + 3]
shl edx, 8
xor edx, eax
shl esi, 8
movzx eax, byte [ebx + 5]
xor ecx, eax
mov dword [ebp - 0xc], edx
movzx eax, byte [ebx + 6]
shl ecx, 8
xor ecx, eax
movzx eax, byte [ebx + 7]
shl ecx, 8
xor ecx, eax
movzx eax, byte [ebx + 9]
xor esi, eax
mov dword [ebp - 0x10], ecx
movzx eax, byte [ebx + 0xa]
shl esi, 8
xor esi, eax
movzx eax, byte [ebx + 0xb]
push edi
movzx edi, byte [ebx + 0xc]
shl edi, 8
shl esi, 8
xor esi, eax
movzx eax, byte [ebx + 0xd]
xor edi, eax
mov dword [ebp - 0x14], esi
movzx eax, byte [ebx + 0xe]
shl edi, 8
xor edi, eax
movzx eax, byte [ebx + 0xf]
mov ebx, dword [ebp - 0x20]
shl edi, 8
xor edi, eax
mov dword [ebp - 0x18], edi
mov eax, dword [ebx]
xor eax, edx
mov edx, dword [ebx + 8]
mov dword [ebp - 0x2c], eax
xor edx, esi
mov eax, dword [ebx + 4]
xor eax, ecx
mov ebx, dword [ebx + 0xc]
mov dword [ebp - 0x30], eax
xor ebx, edi
mov eax, edx
shr eax, 0x10
movzx ecx, al
mov eax, edx
shr eax, 8
movzx eax, al
mov ecx, dword [ecx*4 + 0x6f69a0]
xor ecx, dword [eax*4 + 0x6f61a0]
mov eax, edx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x6f5da0]
movzx eax, dl
xor ecx, dword [eax*4 + 0x6f65a0]
mov eax, ebx
mov dword [ebp - 0x34], ecx
shr eax, 0x10
movzx ecx, al
mov eax, ebx
shr eax, 8
movzx eax, al
mov edx, dword [ebp - 0x30]
mov edi, dword [ecx*4 + 0x6f69a0]
xor edi, dword [eax*4 + 0x6f61a0]
mov eax, ebx
shr eax, 0x18
xor edi, dword [eax*4 + 0x6f5da0]
movzx eax, bl
mov ebx, dword [ebp - 0x34]
xor edi, dword [eax*4 + 0x6f65a0]
mov eax, edx
shr eax, 0x10
movzx ecx, al
mov eax, edx
shr eax, 8
movzx eax, al
mov esi, dword [ecx*4 + 0x6f69a0]
xor esi, dword [eax*4 + 0x6f61a0]
mov eax, edx
shr eax, 0x18
xor esi, dword [eax*4 + 0x6f5da0]
movzx eax, dl
mov edx, dword [ebp - 0x2c]
xor esi, dword [eax*4 + 0x6f65a0]
mov eax, edx
shr eax, 0x10
xor esi, ebx
movzx ecx, al
xor ebx, edi
mov eax, edx
xor edi, esi
shr eax, 8
movzx eax, al
mov ecx, dword [ecx*4 + 0x6f69a0]
xor ecx, dword [eax*4 + 0x6f61a0]
mov eax, edx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x6f5da0]
movzx eax, dl
mov edx, edi
and edx, 0xff0000
xor ecx, dword [eax*4 + 0x6f65a0]
mov eax, edi
shr eax, 0x10
xor ecx, esi
xor edx, eax
xor ebx, ecx
shr edx, 8
mov eax, edi
and eax, 0xff00
shl edi, 0x10
xor esi, ebx
xor eax, edi
shl eax, 8
xor edx, eax
rol ebx, 0x10
mov dword [ebp - 0x30], edx
mov eax, esi
mov edx, esi
shl eax, 8
shr edx, 8
xor edx, eax
shl esi, 8
and edx, 0xff00ff
xor edx, esi
mov esi, dword [ebp - 0x30]
xor edx, ebx
xor ebx, esi
xor ecx, edx
xor esi, edx
xor ebx, ecx
mov dword [ebp - 0x2c], ecx
xor edx, ebx
mov dword [ebp - 0x34], ebx
mov ebx, dword [ebp - 0x38]
cmp ebx, 0x80
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x24], edx
jle 0x51e276
mov ecx, dword [ebp - 0x28]
movzx edx, byte [ecx + 0x10]
movzx eax, byte [ecx + 0x11]
movzx esi, byte [ecx + 0x14]
shl edx, 8
xor edx, eax
shl esi, 8
movzx eax, byte [ecx + 0x12]
shl edx, 8
xor edx, eax
movzx eax, byte [ecx + 0x13]
shl edx, 8
xor edx, eax
movzx eax, byte [ecx + 0x15]
xor esi, eax
movzx eax, byte [ecx + 0x16]
shl esi, 8
xor esi, eax
movzx eax, byte [ecx + 0x17]
shl esi, 8
xor esi, eax
cmp ebx, 0xc0
jle 0x51e26d
movzx ebx, byte [ecx + 0x18]
movzx eax, byte [ecx + 0x19]
movzx edi, byte [ecx + 0x1c]
shl ebx, 8
xor ebx, eax
shl edi, 8
movzx eax, byte [ecx + 0x1a]
shl ebx, 8
xor ebx, eax
movzx eax, byte [ecx + 0x1b]
shl ebx, 8
xor ebx, eax
movzx eax, byte [ecx + 0x1d]
xor edi, eax
movzx eax, byte [ecx + 0x1e]
shl edi, 8
xor edi, eax
movzx eax, byte [ecx + 0x1f]
mov ecx, dword [ebp - 0x2c]
shl edi, 8
xor edi, eax
jmp 0x51e27e
mov ecx, dword [ebp - 0x2c]
xor edi, edi
xor ebx, ebx
jmp 0x51e27e
xor edi, edi
xor ebx, ebx
xor esi, esi
xor edx, edx
xor esi, dword [ebp - 0x24]
xor edx, ecx
mov ecx, dword [ebp - 0x20]
xor ebx, dword [ebp - 0x34]
xor edi, dword [ebp - 0x30]
mov dword [ebp - 8], edx
mov eax, dword [ecx + 0x10]
xor eax, edx
mov dword [ebp - 0x3c], ebx
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x2c], eax
xor edx, ebx
mov eax, dword [ecx + 0x14]
mov ebx, dword [ecx + 0x1c]
xor eax, esi
mov dword [ebp - 0x34], eax
xor ebx, edi
mov eax, edx
mov dword [ebp - 0x1c], edi
shr eax, 0x10
movzx ecx, al
mov eax, edx
shr eax, 8
movzx eax, al
mov dword [ebp - 4], esi
mov ecx, dword [ecx*4 + 0x6f65a0]
xor ecx, dword [eax*4 + 0x6f5da0]
mov eax, edx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x6f61a0]
movzx eax, dl
mov edx, dword [ebp - 0x34]
xor ecx, dword [eax*4 + 0x6f69a0]
mov eax, ebx
shr eax, 0x10
mov dword [ebp - 0x30], ecx
movzx ecx, al
mov eax, ebx
shr eax, 8
movzx eax, al
mov edi, dword [ecx*4 + 0x6f65a0]
xor edi, dword [eax*4 + 0x6f5da0]
mov eax, ebx
shr eax, 0x18
xor edi, dword [eax*4 + 0x6f61a0]
movzx eax, bl
mov ebx, dword [ebp - 0x30]
xor edi, dword [eax*4 + 0x6f69a0]
mov eax, edx
shr eax, 0x10
movzx ecx, al
mov eax, edx
shr eax, 8
movzx eax, al
mov esi, dword [ecx*4 + 0x6f65a0]
xor esi, dword [eax*4 + 0x6f5da0]
mov eax, edx
shr eax, 0x18
xor esi, dword [eax*4 + 0x6f61a0]
movzx eax, dl
mov edx, dword [ebp - 0x2c]
xor esi, dword [eax*4 + 0x6f69a0]
mov eax, edx
shr eax, 0x10
xor esi, ebx
movzx ecx, al
xor ebx, edi
mov eax, edx
xor edi, esi
shr eax, 8
movzx eax, al
mov ecx, dword [ecx*4 + 0x6f65a0]
xor ecx, dword [eax*4 + 0x6f5da0]
mov eax, edx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x6f61a0]
movzx eax, dl
xor ecx, dword [eax*4 + 0x6f69a0]
xor ecx, esi
mov dword [ebp - 0x24], ecx
xor ebx, ecx
xor esi, ebx
mov edx, edi
shr edx, 8
mov eax, edi
shl eax, 8
mov ecx, esi
xor edx, eax
shl edi, 8
and ecx, 0xff0000
mov eax, esi
shr eax, 0x10
and edx, 0xff00ff
xor ecx, eax
xor edx, edi
mov eax, esi
shr ecx, 8
and eax, 0xff00
shl esi, 0x10
xor eax, esi
mov esi, dword [ebp - 0x20]
shl eax, 8
xor ecx, eax
mov eax, dword [ebp - 0x24]
rol eax, 0x10
xor ecx, ebx
xor eax, ecx
xor ebx, edx
xor ebx, eax
xor edx, ecx
xor eax, dword [ebp - 0xc]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x10]
xor eax, ebx
xor edx, dword [ebp - 0x18]
xor ebx, dword [ebp - 0x14]
xor ecx, eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x28], eax
xor eax, dword [esi + 0x20]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x30], ebx
xor ebx, dword [esi + 0x28]
mov eax, ebx
mov dword [ebp - 0x48], ecx
shr eax, 0x10
mov dword [ebp - 0x2c], ecx
xor ecx, dword [esi + 0x24]
mov dword [ebp - 0x20], ecx
movzx ecx, al
mov eax, ebx
shr eax, 8
movzx eax, al
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x34], edx
xor edx, dword [esi + 0x2c]
mov esi, dword [ecx*4 + 0x6f69a0]
xor esi, dword [eax*4 + 0x6f61a0]
mov eax, ebx
shr eax, 0x18
xor esi, dword [eax*4 + 0x6f5da0]
movzx eax, bl
xor esi, dword [eax*4 + 0x6f65a0]
mov eax, edx
shr eax, 0x10
movzx ecx, al
mov eax, edx
shr eax, 8
movzx eax, al
mov ebx, dword [ecx*4 + 0x6f69a0]
xor ebx, dword [eax*4 + 0x6f61a0]
mov eax, edx
shr eax, 0x18
xor ebx, dword [eax*4 + 0x6f5da0]
movzx eax, dl
mov edx, dword [ebp - 0x20]
xor ebx, dword [eax*4 + 0x6f65a0]
mov eax, edx
shr eax, 0x10
movzx ecx, al
mov edi, dword [ecx*4 + 0x6f69a0]
mov eax, edx
shr eax, 8
movzx eax, al
xor edi, dword [eax*4 + 0x6f61a0]
mov eax, edx
shr eax, 0x18
xor edi, dword [eax*4 + 0x6f5da0]
movzx eax, dl
mov edx, dword [ebp - 0x24]
xor edi, dword [eax*4 + 0x6f65a0]
mov eax, edx
shr eax, 0x10
xor edi, esi
movzx ecx, al
xor esi, ebx
mov eax, edx
mov dword [ebp - 0x20], esi
shr eax, 8
xor ebx, edi
movzx eax, al
mov esi, dword [ecx*4 + 0x6f69a0]
xor esi, dword [eax*4 + 0x6f61a0]
mov eax, edx
shr eax, 0x18
xor esi, dword [eax*4 + 0x6f5da0]
movzx eax, dl
mov edx, ebx
and edx, 0xff0000
xor esi, dword [eax*4 + 0x6f65a0]
mov eax, dword [ebp - 0x20]
xor esi, edi
xor eax, esi
xor edi, eax
rol eax, 0x10
mov dword [ebp - 0x20], eax
mov ecx, edi
mov eax, ebx
shr ecx, 8
shr eax, 0x10
xor edx, eax
mov eax, ebx
and eax, 0xff00
shl ebx, 0x10
xor eax, ebx
shr edx, 8
mov ebx, dword [ebp - 8]
shl eax, 8
xor edx, eax
mov eax, edi
shl eax, 8
xor ecx, eax
shl edi, 8
and ecx, 0xff00ff
mov eax, edx
xor eax, dword [ebp - 0x20]
xor ecx, edi
xor ecx, dword [ebp - 0x20]
mov edi, ebx
xor esi, ecx
xor edi, esi
xor eax, esi
mov esi, dword [ebp - 4]
mov dword [ebp - 0x20], edi
mov edi, esi
xor edi, eax
xor edi, ecx
mov dword [ebp - 0x24], edi
mov edi, dword [ebp - 0x3c]
mov dword [ebp - 8], edi
xor dword [ebp - 8], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 4], eax
xor dword [ebp - 4], edx
xor dword [ebp - 4], ecx
mov ecx, ebx
mov edx, dword [ebp + 8]
shr ecx, 0x13
shl eax, 0xd
xor ecx, eax
xor ecx, dword [ebp - 0xc]
mov dword [edx], ecx
mov eax, ebx
shl eax, 0xd
mov ecx, esi
shr ecx, 0x13
xor ecx, eax
mov eax, edi
xor ecx, dword [ebp - 0x10]
mov dword [edx + 4], ecx
mov ecx, esi
shl ecx, 0xd
shr eax, 0x13
xor ecx, eax
mov eax, edi
xor ecx, dword [ebp - 0x14]
mov dword [edx + 8], ecx
mov ecx, dword [ebp - 0x1c]
shr ecx, 0x13
shl eax, 0xd
xor ecx, eax
mov eax, dword [ebp - 0x44]
xor ecx, dword [ebp - 0x18]
mov dword [edx + 0xc], ecx
mov ecx, dword [ebp - 0x40]
shr ecx, 0x13
shl eax, 0xd
xor ecx, eax
mov eax, dword [ebp - 0x28]
xor ecx, ebx
shl eax, 0xd
mov dword [edx + 0x10], ecx
mov ecx, dword [ebp - 0x48]
shr ecx, 0x13
xor eax, ecx
mov ecx, dword [ebp - 0x4c]
shr ecx, 0x13
xor eax, esi
mov dword [edx + 0x14], eax
mov eax, dword [ebp - 0x2c]
shl eax, 0xd
xor eax, ecx
mov ecx, dword [ebp - 0x30]
shl ecx, 0xd
xor eax, edi
mov dword [edx + 0x18], eax
mov eax, dword [ebp - 0x34]
shr eax, 0x13
xor ecx, eax
mov eax, dword [ebp - 4]
xor ecx, dword [ebp - 0x1c]
mov dword [edx + 0x1c], ecx
mov ecx, dword [ebp - 0x20]
shr ecx, 0x13
shl eax, 0xd
xor ecx, eax
mov eax, dword [ebp - 0x24]
xor ecx, dword [ebp - 0x28]
mov dword [edx + 0x20], ecx
mov ecx, dword [ebp - 0x20]
shl ecx, 0xd
shr eax, 0x13
xor ecx, eax
mov eax, dword [ebp - 0x24]
xor ecx, dword [ebp - 0x2c]
mov dword [edx + 0x24], ecx
mov ecx, dword [ebp - 8]
shr ecx, 0x13
shl eax, 0xd
xor ecx, eax
mov eax, dword [ebp - 4]
xor ecx, dword [ebp - 0x30]
mov dword [edx + 0x28], ecx
mov ecx, dword [ebp - 8]
shl ecx, 0xd
shr eax, 0x13
xor ecx, eax
mov eax, dword [ebp - 0x18]
xor ecx, dword [ebp - 0x34]
mov dword [edx + 0x2c], ecx
mov ecx, dword [ebp - 0xc]
shr ecx, 0x13
shl eax, 0xd
xor ecx, eax
mov eax, dword [ebp - 0xc]
xor ecx, dword [ebp - 0x20]
mov dword [edx + 0x30], ecx
mov ecx, dword [ebp - 0x10]
shr ecx, 0x13
shl eax, 0xd
xor ecx, eax
mov eax, dword [ebp - 0x14]
xor ecx, dword [ebp - 0x24]
mov dword [edx + 0x34], ecx
mov ecx, dword [ebp - 0x10]
shl ecx, 0xd
shr eax, 0x13
xor ecx, eax
mov eax, dword [ebp - 0x14]
xor ecx, dword [ebp - 8]
mov dword [edx + 0x38], ecx
mov ecx, dword [ebp - 0x18]
shr ecx, 0x13
shl eax, 0xd
xor ecx, eax
mov eax, dword [ebp - 0x1c]
xor ecx, dword [ebp - 4]
add eax, eax
mov dword [edx + 0x3c], ecx
mov ecx, ebx
shr ecx, 0x1f
xor ecx, eax
lea eax, [ebx + ebx]
xor ecx, dword [ebp - 0xc]
mov dword [edx + 0x40], ecx
mov ecx, esi
shr ecx, 0x1f
xor ecx, eax
mov eax, edi
xor ecx, dword [ebp - 0x10]
mov dword [edx + 0x44], ecx
lea ecx, [esi + esi]
shr eax, 0x1f
xor ecx, eax
lea eax, [edi + edi]
xor ecx, dword [ebp - 0x14]
mov dword [edx + 0x48], ecx
mov ecx, dword [ebp - 0x1c]
shr ecx, 0x1f
xor ecx, eax
mov eax, dword [ebp - 0x34]
xor ecx, dword [ebp - 0x18]
add eax, eax
mov dword [edx + 0x4c], ecx
mov ecx, dword [ebp - 0x28]
shr ecx, 0x1f
xor ecx, eax
mov eax, dword [ebp - 0x28]
xor ecx, ebx
mov dword [edx + 0x50], ecx
lea ecx, [eax + eax]
mov eax, dword [ebp - 0x2c]
shr eax, 0x1f
xor ecx, eax
mov eax, dword [ebp - 0x2c]
xor ecx, esi
mov dword [edx + 0x54], ecx
lea ecx, [eax + eax]
mov eax, dword [ebp - 0x30]
shr eax, 0x1f
xor ecx, eax
mov eax, dword [ebp - 0x30]
xor ecx, edi
mov dword [edx + 0x58], ecx
lea ecx, [eax + eax]
mov eax, dword [ebp - 0x34]
shr eax, 0x1f
xor ecx, eax
mov eax, dword [ebp - 4]
xor ecx, dword [ebp - 0x1c]
mov dword [edx + 0x5c], ecx
mov ecx, dword [ebp - 0x20]
shr ecx, 0x1f
add eax, eax
xor ecx, eax
mov eax, dword [ebp - 0x20]
xor ecx, dword [ebp - 0x28]
mov dword [edx + 0x60], ecx
lea ecx, [eax + eax]
mov eax, dword [ebp - 0x24]
shr eax, 0x1f
xor ecx, eax
mov eax, dword [ebp - 0x24]
xor ecx, dword [ebp - 0x2c]
add eax, eax
mov dword [edx + 0x64], ecx
mov ecx, dword [ebp - 8]
shr ecx, 0x1f
xor ecx, eax
mov eax, dword [ebp - 8]
xor ecx, dword [ebp - 0x30]
mov dword [edx + 0x68], ecx
lea ecx, [eax + eax]
mov eax, dword [ebp - 4]
shr eax, 0x1f
xor ecx, eax
mov eax, dword [ebp - 0x18]
xor ecx, dword [ebp - 0x34]
add eax, eax
mov dword [edx + 0x6c], ecx
mov ecx, dword [ebp - 0xc]
shr ecx, 0x1f
xor ecx, eax
mov eax, dword [ebp - 0xc]
xor ecx, dword [ebp - 0x20]
add eax, eax
mov dword [edx + 0x70], ecx
mov ecx, dword [ebp - 0x10]
shr ecx, 0x1f
xor ecx, eax
mov eax, dword [ebp - 0x10]
xor ecx, dword [ebp - 0x24]
mov dword [edx + 0x74], ecx
lea ecx, [eax + eax]
mov eax, dword [ebp - 0x14]
shr eax, 0x1f
xor ecx, eax
mov eax, dword [ebp - 0x14]
xor ecx, dword [ebp - 8]
add eax, eax
mov dword [edx + 0x78], ecx
mov ecx, dword [ebp - 0x18]
shr ecx, 0x1f
xor ecx, eax
mov eax, edi
xor ecx, dword [ebp - 4]
mov dword [edx + 0x7c], ecx
mov ecx, esi
shl ecx, 0x1d
shr eax, 3
xor ecx, eax
mov eax, edi
xor ecx, dword [ebp - 0xc]
mov dword [edx + 0x80], ecx
mov ecx, dword [ebp - 0x1c]
shr ecx, 3
shl eax, 0x1d
xor ecx, eax
mov eax, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x10]
mov dword [edx + 0x84], ecx
mov ecx, ebx
shr ecx, 3
shl eax, 0x1d
xor ecx, eax
mov eax, ebx
xor ecx, dword [ebp - 0x14]
mov dword [edx + 0x88], ecx
mov ecx, esi
shr ecx, 3
shl eax, 0x1d
xor ecx, eax
xor ecx, dword [ebp - 0x18]
mov dword [edx + 0x8c], ecx
mov ecx, dword [ebp - 0x2c]
shl ecx, 0x1d
mov eax, dword [ebp - 0x30]
shr eax, 3
xor ecx, eax
mov eax, dword [ebp - 0x34]
xor ecx, ebx
shr eax, 3
mov dword [edx + 0x90], ecx
mov ecx, dword [ebp - 0x30]
shl ecx, 0x1d
xor ecx, eax
mov eax, dword [ebp - 0x34]
xor ecx, esi
shl eax, 0x1d
mov dword [edx + 0x94], ecx
mov ecx, dword [ebp - 0x28]
shr ecx, 3
xor ecx, eax
mov eax, dword [ebp - 0x2c]
xor ecx, edi
shr eax, 3
mov dword [edx + 0x98], ecx
mov ecx, dword [ebp - 0x28]
shl ecx, 0x1d
xor ecx, eax
mov eax, dword [ebp - 0x24]
xor ecx, dword [ebp - 0x1c]
mov dword [edx + 0x9c], ecx
mov ecx, dword [ebp - 8]
shr ecx, 3
shl eax, 0x1d
xor ecx, eax
mov eax, dword [ebp - 4]
xor ecx, dword [ebp - 0x28]
mov dword [edx + 0xa0], ecx
mov ecx, dword [ebp - 8]
shl ecx, 0x1d
shr eax, 3
xor ecx, eax
mov eax, dword [ebp - 4]
xor ecx, dword [ebp - 0x2c]
mov dword [edx + 0xa4], ecx
mov ecx, dword [ebp - 0x20]
shr ecx, 3
shl eax, 0x1d
xor ecx, eax
mov eax, dword [ebp - 0x24]
xor ecx, dword [ebp - 0x30]
mov dword [edx + 0xa8], ecx
mov ecx, dword [ebp - 0x20]
shl ecx, 0x1d
shr eax, 3
xor ecx, eax
mov eax, dword [ebp - 0x14]
xor ecx, dword [ebp - 0x34]
mov dword [edx + 0xac], ecx
mov ecx, dword [ebp - 0x10]
shl ecx, 0x1d
shr eax, 3
xor ecx, eax
mov eax, dword [ebp - 0x14]
xor ecx, dword [ebp - 0x20]
mov dword [edx + 0xb0], ecx
mov ecx, dword [ebp - 0x18]
shr ecx, 3
shl eax, 0x1d
xor ecx, eax
mov eax, dword [ebp - 0x18]
xor ecx, dword [ebp - 0x24]
mov dword [edx + 0xb4], ecx
mov ecx, dword [ebp - 0xc]
shr ecx, 3
shl eax, 0x1d
xor ecx, eax
mov eax, dword [ebp - 0xc]
xor ecx, dword [ebp - 8]
mov dword [edx + 0xb8], ecx
mov ecx, dword [ebp - 0x10]
shr ecx, 3
shl eax, 0x1d
xor ecx, eax
mov eax, ebx
xor ecx, dword [ebp - 4]
mov dword [edx + 0xbc], ecx
add edx, 0xc0
shl eax, 0x1f
mov ecx, esi
shr ecx, 1
xor ecx, eax
mov eax, edi
xor ecx, dword [ebp - 0xc]
mov dword [edx], ecx
mov ecx, esi
shl ecx, 0x1f
shr eax, 1
xor ecx, eax
mov eax, edi
xor ecx, dword [ebp - 0x10]
mov dword [edx + 4], ecx
mov ecx, dword [ebp - 0x1c]
shr ecx, 1
shl eax, 0x1f
xor ecx, eax
mov eax, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x14]
mov dword [edx + 8], ecx
mov ecx, ebx
shr ecx, 1
shl eax, 0x1f
xor ecx, eax
mov eax, dword [ebp - 0x38]
xor ecx, dword [ebp - 0x18]
mov dword [edx + 0xc], ecx
cmp eax, 0x80
jle 0x51ea43
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
shl ecx, 0x1f
shr eax, 1
xor ecx, eax
mov eax, dword [ebp - 0x30]
xor ecx, ebx
shr eax, 1
mov dword [edx + 0x10], ecx
mov ecx, dword [ebp - 0x2c]
shl ecx, 0x1f
xor ecx, eax
mov eax, dword [ebp - 0x34]
xor ecx, esi
shr eax, 1
mov dword [edx + 0x14], ecx
mov ecx, dword [ebp - 0x30]
shl ecx, 0x1f
xor ecx, eax
mov eax, dword [ebp - 0x34]
xor ecx, edi
shl eax, 0x1f
mov dword [edx + 0x18], ecx
mov ecx, dword [ebp - 0x28]
shr ecx, 1
xor ecx, eax
mov eax, dword [ebp - 0x24]
xor ecx, dword [ebp - 0x1c]
mov dword [edx + 0x1c], ecx
add edx, 0x20
mov ecx, dword [ebp - 0x20]
shl ecx, 0x1f
shr eax, 1
xor ecx, eax
mov eax, dword [ebp - 0x24]
xor ecx, dword [ebp - 0x28]
mov dword [edx], ecx
mov ecx, dword [ebp - 8]
shr ecx, 1
shl eax, 0x1f
xor ecx, eax
mov eax, dword [ebp - 4]
xor ecx, dword [ebp - 0x2c]
mov dword [edx + 4], ecx
mov ecx, dword [ebp - 8]
shl ecx, 0x1f
shr eax, 1
xor ecx, eax
mov eax, dword [ebp - 4]
xor ecx, dword [ebp - 0x30]
mov dword [edx + 8], ecx
mov ecx, dword [ebp - 0x20]
shl eax, 0x1f
shr ecx, 1
xor ecx, eax
mov eax, dword [ebp - 0x38]
xor ecx, dword [ebp - 0x34]
mov dword [edx + 0xc], ecx
cmp eax, 0xc0
jle 0x51eadd
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
shl ecx, 0x1f
shr eax, 1
xor ecx, eax
mov eax, dword [ebp - 0x14]
xor ecx, dword [ebp - 0x20]
mov dword [edx + 0x10], ecx
mov ecx, dword [ebp - 0x10]
shl ecx, 0x1f
shr eax, 1
xor ecx, eax
mov eax, dword [ebp - 0x18]
xor ecx, dword [ebp - 0x24]
mov dword [edx + 0x14], ecx
mov ecx, dword [ebp - 0x14]
shl ecx, 0x1f
shr eax, 1
xor ecx, eax
mov eax, dword [ebp - 0x18]
xor ecx, dword [ebp - 8]
mov dword [edx + 0x18], ecx
mov ecx, dword [ebp - 0xc]
shl eax, 0x1f
shr ecx, 1
xor ecx, eax
mov eax, ebx
xor ecx, dword [ebp - 4]
mov dword [edx + 0x1c], ecx
mov ecx, esi
shl eax, 0x13
shr ecx, 0xd
xor ecx, eax
shl esi, 0x13
xor ecx, dword [ebp - 0xc]
mov eax, edi
shr eax, 0xd
xor esi, eax
mov dword [edx + 0x20], ecx
mov ecx, dword [ebp - 0x1c]
mov eax, ecx
xor esi, dword [ebp - 0x10]
shr eax, 0xd
shl edi, 0x13
shr ebx, 0xd
xor eax, edi
xor eax, dword [ebp - 0x14]
shl ecx, 0x13
xor ebx, ecx
mov dword [edx + 0x24], esi
xor ebx, dword [ebp - 0x18]
mov dword [edx + 0x28], eax
mov dword [edx + 0x2c], ebx
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
pop esi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret