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

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