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

Disassembly:
mov eax, 0x3c
call fcn.00655180
mov ecx, dword [esp + 0x44]
push ebp
mov ebp, dword [esp + 0x44]
lea eax, [ecx + 0x100]
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
test ebp, ebp
je 0x5e47ad
mov edx, dword [esp + 0x4c]
test edx, edx
je 0x5e47ad
cmp ecx, 0x80
je 0x5e3c38
cmp ecx, 0xc0
je 0x5e3c38
cmp ecx, 0x100
je 0x5e3c38
mov eax, 0xfffffffe
pop ebp
add esp, 0x3c
ret
mov dword [edx + 0x110], eax
lea eax, [ecx - 0x80]
cdq
movzx ecx, byte [ebp + 1]
and edx, 0x3f
push ebx
push esi
movzx ebx, byte [ebp + 8]
push edi
lea edi, [edx + eax]
movzx esi, byte [ebp + 0xc]
movzx edx, byte [ebp]
movzx eax, byte [ebp + 2]
shl edx, 8
xor edx, ecx
shl ebx, 8
movzx ecx, byte [ebp + 4]
shl edx, 8
xor edx, eax
shl ecx, 8
movzx eax, byte [ebp + 3]
shl edx, 8
xor edx, eax
shl esi, 8
movzx eax, byte [ebp + 5]
xor ecx, eax
sar edi, 6
movzx eax, byte [ebp + 6]
shl ecx, 8
xor ecx, eax
shl edi, 4
movzx eax, byte [ebp + 7]
add edi, 0x6ec640
shl ecx, 8
xor ecx, eax
mov dword [esp + 0x50], edx
movzx eax, byte [ebp + 9]
xor ebx, eax
mov dword [esp + 0x10], ecx
movzx eax, byte [ebp + 0xa]
shl ebx, 8
xor ebx, eax
mov dword [esp + 0x30], edi
movzx eax, byte [ebp + 0xb]
shl ebx, 8
xor ebx, eax
movzx eax, byte [ebp + 0xd]
xor esi, eax
mov dword [esp + 0x14], ebx
movzx eax, byte [ebp + 0xe]
shl esi, 8
xor esi, eax
movzx eax, byte [ebp + 0xf]
shl esi, 8
xor esi, eax
mov eax, dword [edi]
xor eax, edx
mov dword [esp + 0x18], esi
mov edx, dword [edi + 8]
mov dword [esp + 0x38], eax
xor edx, ebx
mov eax, dword [edi + 4]
mov ebx, dword [edi + 0xc]
xor eax, ecx
mov dword [esp + 0x3c], eax
xor ebx, esi
mov eax, edx
shr eax, 0x10
movzx ecx, al
mov eax, edx
shr eax, 8
movzx eax, al
mov edi, dword [ecx*4 + 0x6eca90]
xor edi, dword [eax*4 + 0x6ece90]
mov eax, edx
shr eax, 0x18
xor edi, dword [eax*4 + 0x6ec690]
movzx eax, dl
xor edi, dword [eax*4 + 0x6ed290]
mov eax, ebx
shr eax, 0x10
movzx ecx, al
mov eax, ebx
shr eax, 8
movzx eax, al
mov esi, dword [ecx*4 + 0x6eca90]
xor esi, dword [eax*4 + 0x6ece90]
mov eax, ebx
shr eax, 0x18
xor esi, dword [eax*4 + 0x6ec690]
movzx eax, bl
mov ebx, dword [esp + 0x3c]
xor esi, dword [eax*4 + 0x6ed290]
mov eax, ebx
shr eax, 0x10
movzx ecx, al
mov eax, ebx
shr eax, 8
movzx eax, al
mov edx, dword [ecx*4 + 0x6eca90]
xor edx, dword [eax*4 + 0x6ece90]
mov eax, ebx
shr eax, 0x18
xor edx, dword [eax*4 + 0x6ec690]
movzx eax, bl
mov ebx, dword [esp + 0x38]
xor edx, dword [eax*4 + 0x6ed290]
mov eax, ebx
shr eax, 0x10
xor edx, edi
movzx ecx, al
mov eax, ebx
shr eax, 8
movzx eax, al
mov ecx, dword [ecx*4 + 0x6eca90]
xor ecx, dword [eax*4 + 0x6ece90]
mov eax, ebx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x6ec690]
movzx eax, bl
xor ecx, dword [eax*4 + 0x6ed290]
mov eax, esi
xor esi, edi
xor ecx, edx
xor esi, ecx
xor eax, edx
xor edx, esi
mov ebx, esi
mov edi, edx
shr ebx, 0x10
and edi, 0xffff00ff
shr edx, 8
shl edi, 8
and edx, 0xff00ff
shl esi, 0x10
xor edi, edx
or ebx, esi
xor edi, ebx
xor ecx, edi
bswap eax
xor ebx, eax
mov dword [esp + 0x3c], ecx
xor ebx, ecx
xor eax, edi
mov ecx, dword [esp + 0x54]
xor edi, ebx
mov dword [esp + 0x38], eax
mov dword [esp + 0x34], ebx
cmp ecx, 0x80
jle 0x5e3ec6
movzx ebx, byte [ebp + 0x10]
movzx eax, byte [ebp + 0x11]
movzx edx, byte [ebp + 0x14]
shl ebx, 8
xor ebx, eax
shl edx, 8
movzx eax, byte [ebp + 0x12]
shl ebx, 8
xor ebx, eax
movzx eax, byte [ebp + 0x13]
shl ebx, 8
xor ebx, eax
movzx eax, byte [ebp + 0x15]
xor edx, eax
movzx eax, byte [ebp + 0x16]
shl edx, 8
xor edx, eax
movzx eax, byte [ebp + 0x17]
shl edx, 8
xor edx, eax
cmp ecx, 0xc0
jle 0x5e3ebc
movzx ecx, byte [ebp + 0x18]
movzx eax, byte [ebp + 0x19]
movzx esi, byte [ebp + 0x1c]
shl ecx, 8
xor ecx, eax
shl esi, 8
movzx eax, byte [ebp + 0x1a]
shl ecx, 8
xor ecx, eax
movzx eax, byte [ebp + 0x1b]
shl ecx, 8
xor ecx, eax
movzx eax, byte [ebp + 0x1d]
xor esi, eax
movzx eax, byte [ebp + 0x1e]
shl esi, 8
xor esi, eax
movzx eax, byte [ebp + 0x1f]
shl esi, 8
xor esi, eax
mov eax, dword [esp + 0x38]
jmp 0x5e3ece
mov eax, dword [esp + 0x38]
xor esi, esi
xor ecx, ecx
jmp 0x5e3ece
xor esi, esi
xor ecx, ecx
xor edx, edx
xor ebx, ebx
xor esi, eax
xor ecx, dword [esp + 0x34]
xor ebx, dword [esp + 0x3c]
xor edx, edi
mov edi, dword [esp + 0x30]
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x3c], ebx
mov eax, dword [edi + 0x10]
xor eax, ebx
mov dword [esp + 0x48], esi
mov dword [esp + 0x30], eax
mov eax, dword [edi + 0x14]
xor eax, edx
mov ebx, dword [edi + 0x1c]
mov dword [esp + 0x34], eax
xor ebx, esi
mov edx, dword [edi + 0x18]
xor edx, ecx
mov eax, edx
shr eax, 0x10
movzx ecx, al
mov eax, edx
shr eax, 8
movzx eax, al
mov ecx, dword [ecx*4 + 0x6ed290]
xor ecx, dword [eax*4 + 0x6ec690]
mov eax, edx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x6ece90]
movzx eax, dl
xor ecx, dword [eax*4 + 0x6eca90]
mov eax, ebx
shr eax, 0x10
mov dword [esp + 0x38], ecx
movzx ecx, al
mov eax, ebx
shr eax, 8
movzx eax, al
mov esi, dword [ecx*4 + 0x6ed290]
xor esi, dword [eax*4 + 0x6ec690]
mov eax, ebx
shr eax, 0x18
xor esi, dword [eax*4 + 0x6ece90]
movzx eax, bl
mov ebx, dword [esp + 0x34]
xor esi, dword [eax*4 + 0x6eca90]
mov eax, ebx
shr eax, 0x10
movzx ecx, al
mov eax, ebx
shr eax, 8
movzx eax, al
mov edx, dword [ecx*4 + 0x6ed290]
xor edx, dword [eax*4 + 0x6ec690]
mov eax, ebx
shr eax, 0x18
xor edx, dword [eax*4 + 0x6ece90]
movzx eax, bl
mov ebx, dword [esp + 0x30]
xor edx, dword [eax*4 + 0x6eca90]
mov eax, dword [esp + 0x38]
xor edx, eax
xor eax, esi
mov dword [esp + 0x38], eax
mov eax, ebx
shr eax, 0x10
movzx ecx, al
mov eax, ebx
shr eax, 8
movzx eax, al
mov ecx, dword [ecx*4 + 0x6ed290]
xor ecx, dword [eax*4 + 0x6ec690]
mov eax, ebx
shr eax, 0x18
xor ecx, dword [eax*4 + 0x6ece90]
movzx eax, bl
xor ecx, dword [eax*4 + 0x6eca90]
xor ecx, edx
xor esi, edx
mov dword [esp + 0x34], ecx
mov eax, dword [esp + 0x38]
mov ebx, esi
xor eax, ecx
shr ebx, 8
mov ecx, eax
and ebx, 0xff00ff
xor ecx, edx
and esi, 0xffff00ff
mov edx, dword [esp + 0x34]
bswap ecx
xor ecx, eax
ror edx, 0x10
xor edx, ecx
shl esi, 8
xor ebx, esi
xor eax, ebx
xor ebx, ecx
xor eax, edx
xor ebx, dword [esp + 0x18]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x10]
xor eax, dword [esp + 0x38]
xor edx, dword [esp + 0x50]
xor ecx, eax
mov eax, dword [esp + 0x38]
xor eax, dword [esp + 0x14]
mov dword [esp + 0x24], eax
xor eax, dword [edi + 0x28]
mov dword [esp + 0x38], eax
shr eax, 0x10
mov dword [esp + 0x1c], edx
xor edx, dword [edi + 0x20]
mov dword [esp + 0x20], ecx
xor ecx, dword [edi + 0x24]
mov dword [esp + 0x30], ecx
movzx ecx, al
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x38]
mov eax, edx
shr eax, 8
mov ebp, dword [ecx*4 + 0x6eca90]
movzx eax, al
mov dword [esp + 0x28], ebx
xor ebx, dword [edi + 0x2c]
xor ebp, dword [eax*4 + 0x6ece90]
mov eax, edx
shr eax, 0x18
xor ebp, dword [eax*4 + 0x6ec690]
movzx eax, dl
xor ebp, dword [eax*4 + 0x6ed290]
mov eax, ebx
shr eax, 0x10
movzx ecx, al
mov eax, ebx
shr eax, 8
movzx eax, al
mov edx, dword [ecx*4 + 0x6eca90]
xor edx, dword [eax*4 + 0x6ece90]
mov eax, ebx
shr eax, 0x18
xor edx, dword [eax*4 + 0x6ec690]
movzx eax, bl
xor edx, dword [eax*4 + 0x6ed290]
mov eax, dword [esp + 0x30]
shr eax, 0x10
movzx ecx, al
mov eax, dword [esp + 0x30]
shr eax, 8
movzx eax, al
mov ebx, dword [ecx*4 + 0x6eca90]
mov ecx, dword [esp + 0x30]
xor ebx, dword [eax*4 + 0x6ece90]
mov eax, ecx
shr eax, 0x18
xor ebx, dword [eax*4 + 0x6ec690]
movzx eax, cl
xor ebx, dword [eax*4 + 0x6ed290]
mov eax, dword [esp + 0x34]
xor ebx, ebp
shr eax, 0x10
movzx ecx, al
mov esi, dword [ecx*4 + 0x6eca90]
mov edi, edx
mov eax, dword [esp + 0x34]
xor edx, ebp
mov ecx, dword [esp + 0x34]
xor edi, ebx
shr eax, 8
movzx eax, al
mov ebp, dword [esp + 0x40]
bswap edi
xor esi, dword [eax*4 + 0x6ece90]
mov eax, ecx
shr eax, 0x18
xor esi, dword [eax*4 + 0x6ec690]
movzx eax, cl
xor esi, dword [eax*4 + 0x6ed290]
mov eax, edi
xor esi, ebx
xor edx, esi
xor ebx, edx
mov ecx, edx
shr ecx, 0x10
shl edx, 0x10
or ecx, edx
mov edx, ebx
xor eax, ecx
shr ebx, 8
and edx, 0xffff00ff
and ebx, 0xff00ff
shl edx, 8
xor edx, ebx
mov ebx, dword [esp + 0x44]
xor edx, ecx
mov ecx, dword [esp + 0x3c]
xor esi, edx
xor ecx, esi
xor eax, esi
mov esi, dword [esp + 0x48]
mov dword [esp + 0x2c], ecx
mov ecx, ebp
xor ecx, eax
xor ecx, edx
mov dword [esp + 0x30], ecx
mov ecx, ebx
xor ecx, eax
mov eax, esi
mov dword [esp + 0x34], ecx
xor eax, edi
mov edi, dword [esp + 0x3c]
xor eax, edx
mov edx, dword [esp + 0x58]
mov ecx, esi
shl ecx, 0xd
mov dword [esp + 0x38], eax
mov eax, edi
shr eax, 0x13
xor ecx, eax
mov eax, edi
xor ecx, dword [esp + 0x50]
mov dword [edx], ecx
mov ecx, ebp
shr ecx, 0x13
shl eax, 0xd
xor ecx, eax
mov eax, ebx
xor ecx, dword [esp + 0x10]
mov dword [edx + 4], ecx
mov ecx, ebp
shl ecx, 0xd
shr eax, 0x13
xor ecx, eax
mov eax, esi
xor ecx, dword [esp + 0x14]
mov dword [edx + 8], ecx
mov ecx, ebx
shl ecx, 0xd
shr eax, 0x13
xor ecx, eax
xor ecx, dword [esp + 0x18]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x1c]
shr ecx, 0x13
mov eax, dword [esp + 0x28]
shl eax, 0xd
xor ecx, eax
mov eax, dword [esp + 0x20]
xor ecx, edi
shr eax, 0x13
mov dword [edx + 0x10], ecx
mov ecx, dword [esp + 0x1c]
shl ecx, 0xd
xor ecx, eax
mov eax, dword [esp + 0x24]
xor ecx, ebp
shr eax, 0x13
mov dword [edx + 0x14], ecx
mov ecx, dword [esp + 0x20]
shl ecx, 0xd
xor ecx, eax
mov eax, dword [esp + 0x28]
xor ecx, ebx
shr eax, 0x13
mov dword [edx + 0x18], ecx
mov ecx, dword [esp + 0x24]
shl ecx, 0xd
xor ecx, eax
mov eax, dword [esp + 0x38]
xor ecx, esi
shl eax, 0xd
mov dword [edx + 0x1c], ecx
mov ecx, dword [esp + 0x2c]
shr ecx, 0x13
xor ecx, eax
mov eax, dword [esp + 0x30]
xor ecx, dword [esp + 0x1c]
mov dword [edx + 0x20], ecx
mov ecx, dword [esp + 0x2c]
shl ecx, 0xd
shr eax, 0x13
xor ecx, eax
mov eax, dword [esp + 0x34]
xor ecx, dword [esp + 0x20]
mov dword [edx + 0x24], ecx
mov ecx, dword [esp + 0x30]
shl ecx, 0xd
shr eax, 0x13
xor ecx, eax
mov eax, dword [esp + 0x38]
xor ecx, dword [esp + 0x24]
mov dword [edx + 0x28], ecx
mov ecx, dword [esp + 0x34]
shl ecx, 0xd
shr eax, 0x13
xor ecx, eax
mov eax, dword [esp + 0x18]
xor ecx, dword [esp + 0x28]
mov dword [edx + 0x2c], ecx
mov ecx, dword [esp + 0x50]
shr ecx, 0x13
shl eax, 0xd
xor ecx, eax
mov eax, dword [esp + 0x10]
xor ecx, dword [esp + 0x2c]
mov dword [edx + 0x30], ecx
mov ecx, dword [esp + 0x50]
shl ecx, 0xd
shr eax, 0x13
xor ecx, eax
mov eax, dword [esp + 0x14]
xor ecx, dword [esp + 0x30]
mov dword [edx + 0x34], ecx
mov ecx, dword [esp + 0x10]
shl ecx, 0xd
shr eax, 0x13
xor ecx, eax
mov eax, dword [esp + 0x18]
xor ecx, dword [esp + 0x34]
mov dword [edx + 0x38], ecx
mov ecx, dword [esp + 0x14]
shl ecx, 0xd
shr eax, 0x13
xor ecx, eax
xor ecx, dword [esp + 0x38]
lea eax, [esi + esi]
mov dword [edx + 0x3c], ecx
mov ecx, edi
shr ecx, 0x1f
xor ecx, eax
lea eax, [edi + edi]
xor ecx, dword [esp + 0x50]
mov dword [edx + 0x40], ecx
mov ecx, ebp
shr ecx, 0x1f
xor ecx, eax
lea eax, [ebp*2]
xor ecx, dword [esp + 0x10]
mov dword [edx + 0x44], ecx
mov ecx, ebx
shr ecx, 0x1f
xor ecx, eax
lea eax, [ebx + ebx]
xor ecx, dword [esp + 0x14]
mov dword [edx + 0x48], ecx
mov ecx, esi
shr ecx, 0x1f
xor ecx, eax
mov eax, dword [esp + 0x28]
xor ecx, dword [esp + 0x18]
add eax, eax
mov dword [edx + 0x4c], ecx
mov ecx, dword [esp + 0x1c]
shr ecx, 0x1f
xor ecx, eax
mov eax, dword [esp + 0x1c]
xor ecx, edi
add eax, eax
mov dword [edx + 0x50], ecx
mov ecx, dword [esp + 0x20]
shr ecx, 0x1f
xor ecx, eax
mov eax, dword [esp + 0x20]
xor ecx, ebp
add eax, eax
mov dword [edx + 0x54], ecx
mov ecx, dword [esp + 0x24]
shr ecx, 0x1f
xor ecx, eax
mov eax, dword [esp + 0x24]
xor ecx, ebx
add eax, eax
mov dword [edx + 0x58], ecx
mov ecx, dword [esp + 0x28]
shr ecx, 0x1f
xor ecx, eax
mov eax, dword [esp + 0x38]
xor ecx, esi
add eax, eax
mov dword [edx + 0x5c], ecx
mov ecx, dword [esp + 0x2c]
shr ecx, 0x1f
xor ecx, eax
mov eax, dword [esp + 0x2c]
xor ecx, dword [esp + 0x1c]
add eax, eax
mov dword [edx + 0x60], ecx
mov ecx, dword [esp + 0x30]
shr ecx, 0x1f
xor ecx, eax
mov eax, dword [esp + 0x30]
xor ecx, dword [esp + 0x20]
add eax, eax
mov dword [edx + 0x64], ecx
mov ecx, dword [esp + 0x34]
shr ecx, 0x1f
xor ecx, eax
mov eax, dword [esp + 0x34]
xor ecx, dword [esp + 0x24]
add eax, eax
mov dword [edx + 0x68], ecx
mov ecx, dword [esp + 0x38]
shr ecx, 0x1f
xor ecx, eax
xor ecx, dword [esp + 0x28]
mov dword [edx + 0x6c], ecx
mov ecx, dword [esp + 0x50]
shr ecx, 0x1f
mov eax, dword [esp + 0x18]
add eax, eax
xor ecx, eax
mov eax, dword [esp + 0x50]
xor ecx, dword [esp + 0x2c]
add eax, eax
mov dword [edx + 0x70], ecx
mov ecx, dword [esp + 0x10]
shr ecx, 0x1f
xor ecx, eax
mov eax, dword [esp + 0x10]
xor ecx, dword [esp + 0x30]
mov dword [edx + 0x74], ecx
lea ecx, [eax + eax]
mov eax, dword [esp + 0x14]
shr eax, 0x1f
xor ecx, eax
mov eax, dword [esp + 0x14]
xor ecx, dword [esp + 0x34]
mov dword [edx + 0x78], ecx
lea ecx, [eax + eax]
mov eax, dword [esp + 0x18]
shr eax, 0x1f
xor ecx, eax
mov eax, ebx
xor ecx, dword [esp + 0x38]
mov dword [edx + 0x7c], ecx
mov ecx, ebp
shl ecx, 0x1d
shr eax, 3
xor ecx, eax
mov eax, esi
xor ecx, dword [esp + 0x50]
mov dword [edx + 0x80], ecx
mov ecx, ebx
shl ecx, 0x1d
shr eax, 3
xor ecx, eax
mov eax, edi
xor ecx, dword [esp + 0x10]
mov dword [edx + 0x84], ecx
mov ecx, esi
shl ecx, 0x1d
shr eax, 3
xor ecx, eax
mov eax, edi
xor ecx, dword [esp + 0x14]
mov dword [edx + 0x88], ecx
mov ecx, ebp
shr ecx, 3
shl eax, 0x1d
xor ecx, eax
mov eax, dword [esp + 0x24]
xor ecx, dword [esp + 0x18]
mov dword [edx + 0x8c], ecx
mov ecx, dword [esp + 0x20]
shl ecx, 0x1d
shr eax, 3
xor ecx, eax
mov eax, dword [esp + 0x28]
xor ecx, edi
shr eax, 3
mov dword [edx + 0x90], ecx
mov ecx, dword [esp + 0x24]
shl ecx, 0x1d
xor ecx, eax
mov eax, dword [esp + 0x28]
xor ecx, ebp
shl eax, 0x1d
mov dword [edx + 0x94], ecx
mov ecx, dword [esp + 0x1c]
shr ecx, 3
xor ecx, eax
mov eax, dword [esp + 0x20]
xor ecx, ebx
mov dword [edx + 0x98], ecx
mov ecx, dword [esp + 0x1c]
shl ecx, 0x1d
shr eax, 3
xor ecx, eax
mov eax, dword [esp + 0x34]
xor ecx, esi
shr eax, 3
mov dword [edx + 0x9c], ecx
mov ecx, dword [esp + 0x30]
shl ecx, 0x1d
xor ecx, eax
mov eax, dword [esp + 0x38]
xor ecx, dword [esp + 0x1c]
mov dword [edx + 0xa0], ecx
mov ecx, dword [esp + 0x34]
shl ecx, 0x1d
shr eax, 3
xor ecx, eax
mov eax, dword [esp + 0x38]
xor ecx, dword [esp + 0x20]
mov dword [edx + 0xa4], ecx
mov ecx, dword [esp + 0x2c]
shr ecx, 3
shl eax, 0x1d
xor ecx, eax
mov eax, dword [esp + 0x30]
xor ecx, dword [esp + 0x24]
mov dword [edx + 0xa8], ecx
mov ecx, dword [esp + 0x2c]
shl ecx, 0x1d
shr eax, 3
xor ecx, eax
mov eax, dword [esp + 0x14]
xor ecx, dword [esp + 0x28]
mov dword [edx + 0xac], ecx
mov ecx, dword [esp + 0x10]
shl ecx, 0x1d
shr eax, 3
xor ecx, eax
mov eax, dword [esp + 0x18]
xor ecx, dword [esp + 0x2c]
mov dword [edx + 0xb0], ecx
mov ecx, dword [esp + 0x14]
shl ecx, 0x1d
shr eax, 3
xor ecx, eax
mov eax, dword [esp + 0x18]
xor ecx, dword [esp + 0x30]
mov dword [edx + 0xb4], ecx
mov ecx, dword [esp + 0x50]
shr ecx, 3
shl eax, 0x1d
xor ecx, eax
mov eax, dword [esp + 0x10]
xor ecx, dword [esp + 0x34]
mov dword [edx + 0xb8], ecx
mov ecx, dword [esp + 0x50]
shl ecx, 0x1d
shr eax, 3
xor ecx, eax
mov eax, edi
xor ecx, dword [esp + 0x38]
mov dword [edx + 0xbc], ecx
add edx, 0xc0
shl eax, 0x1f
mov ecx, ebp
shr ecx, 1
xor ecx, eax
mov eax, ebx
xor ecx, dword [esp + 0x50]
mov dword [edx], ecx
mov ecx, ebp
shl ecx, 0x1f
shr eax, 1
xor ecx, eax
mov eax, esi
xor ecx, dword [esp + 0x10]
mov dword [edx + 4], ecx
mov ecx, ebx
shl ecx, 0x1f
shr eax, 1
xor ecx, eax
xor ecx, dword [esp + 0x14]
mov dword [edx + 8], ecx
mov eax, edi
mov ecx, esi
shr eax, 1
shl ecx, 0x1f
xor ecx, eax
mov eax, dword [esp + 0x54]
xor ecx, dword [esp + 0x18]
mov dword [edx + 0xc], ecx
cmp eax, 0x80
jle 0x5e46fc
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
shl ecx, 0x1f
shr eax, 1
xor ecx, eax
mov eax, dword [esp + 0x24]
xor ecx, edi
shr eax, 1
mov dword [edx + 0x10], ecx
mov ecx, dword [esp + 0x20]
shl ecx, 0x1f
xor ecx, eax
mov eax, dword [esp + 0x28]
xor ecx, ebp
shr eax, 1
mov dword [edx + 0x14], ecx
mov ecx, dword [esp + 0x24]
shl ecx, 0x1f
xor ecx, eax
mov eax, dword [esp + 0x28]
xor ecx, ebx
shl eax, 0x1f
mov dword [edx + 0x18], ecx
mov ecx, dword [esp + 0x1c]
shr ecx, 1
xor ecx, eax
mov eax, dword [esp + 0x30]
xor ecx, esi
shr eax, 1
mov dword [edx + 0x1c], ecx
add edx, 0x20
mov ecx, dword [esp + 0x2c]
shl ecx, 0x1f
xor ecx, eax
mov eax, dword [esp + 0x34]
xor ecx, dword [esp + 0x1c]
mov dword [edx], ecx
mov ecx, dword [esp + 0x30]
shl ecx, 0x1f
shr eax, 1
xor ecx, eax
mov eax, dword [esp + 0x38]
xor ecx, dword [esp + 0x20]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x34]
shl ecx, 0x1f
shr eax, 1
xor ecx, eax
mov eax, dword [esp + 0x38]
xor ecx, dword [esp + 0x24]
mov dword [edx + 8], ecx
mov ecx, dword [esp + 0x2c]
shl eax, 0x1f
shr ecx, 1
xor ecx, eax
mov eax, dword [esp + 0x54]
xor ecx, dword [esp + 0x28]
mov dword [edx + 0xc], ecx
cmp eax, 0xc0
jle 0x5e47a3
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x10]
shl ecx, 0x1f
shr eax, 1
xor ecx, eax
mov eax, dword [esp + 0x14]
xor ecx, dword [esp + 0x2c]
mov dword [edx + 0x10], ecx
mov ecx, dword [esp + 0x10]
shl ecx, 0x1f
shr eax, 1
xor ecx, eax
mov eax, dword [esp + 0x18]
xor ecx, dword [esp + 0x30]
mov dword [edx + 0x14], ecx
mov ecx, dword [esp + 0x14]
shl ecx, 0x1f
shr eax, 1
xor ecx, eax
mov eax, dword [esp + 0x50]
xor ecx, dword [esp + 0x34]
mov dword [edx + 0x18], ecx
mov ecx, dword [esp + 0x18]
shr eax, 1
shl ecx, 0x1f
xor ecx, eax
mov eax, edi
xor ecx, dword [esp + 0x38]
mov dword [edx + 0x1c], ecx
mov ecx, ebp
shl eax, 0x13
shr ecx, 0xd
xor ecx, eax
shl ebp, 0x13
xor ecx, dword [esp + 0x50]
mov eax, ebx
shr eax, 0xd
xor ebp, eax
shl ebx, 0x13
xor ebp, dword [esp + 0x10]
mov eax, esi
shr eax, 0xd
shl esi, 0x13
xor ebx, eax
xor ebx, dword [esp + 0x14]
shr edi, 0xd
xor esi, edi
mov dword [edx + 0x20], ecx
xor esi, dword [esp + 0x18]
mov dword [edx + 0x24], ebp
mov dword [edx + 0x28], ebx
mov dword [edx + 0x2c], esi
pop edi
pop esi
pop ebx
xor eax, eax
pop ebp
add esp, 0x3c
ret
or eax, 0xffffffff
pop ebp
add esp, 0x3c
ret