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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x54
call fcn.00596bf0
push esi
mov esi, dword [ebp + 8]
lea eax, [esi + 0x100]
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
push edi
mov edi, dword [ebp + 0xc]
test ecx, ecx
je 0x49d780
test edi, edi
je 0x49d780
cmp esi, 0x80
je 0x49cc37
cmp esi, 0xc0
je 0x49cc37
cmp esi, 0x100
je 0x49cc37
pop edi
mov eax, 0xfffffffe
pop esi
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x110], eax
lea eax, [esi - 0x80]
movzx esi, byte [ecx + 1]
movzx edi, byte [ecx + 5]
cdq
and edx, 0x3f
add eax, edx
movzx edx, byte [ecx]
shl edx, 8
xor edx, esi
movzx esi, byte [ecx + 2]
shl edx, 8
xor edx, esi
movzx esi, byte [ecx + 3]
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]
push ebx
movzx ebx, byte [ecx + 9]
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 edi, 8
xor edi, ebx
movzx ebx, byte [ecx + 0xd]
mov dword [ebp - 0x1c], edi
movzx edi, byte [ecx + 0xc]
shl edi, 8
xor edi, ebx
movzx ebx, byte [ecx + 0xe]
shl edi, 8
xor edi, ebx
movzx ebx, byte [ecx + 0xf]
sar eax, 6
mov dword [ebp - 0x24], edx
shl eax, 4
add eax, 0x5c6228
shl edi, 8
xor edi, ebx
mov ebx, dword [eax]
xor ebx, edx
mov edx, dword [eax + 4]
xor edx, esi
mov dword [ebp - 0x20], esi
mov esi, dword [eax + 8]
xor esi, dword [ebp - 0x1c]
mov dword [ebp - 0x10], edx
mov edx, dword [eax + 0xc]
xor edx, edi
mov dword [ebp - 8], ebx
mov ebx, esi
mov dword [ebp - 4], edx
shr ebx, 0x10
mov edx, esi
shr edx, 0x18
mov edx, dword [edx*4 + 0x5c6278]
mov dword [ebp - 0x18], edi
movzx edi, bl
xor edx, dword [edi*4 + 0x5c6678]
mov ebx, esi
mov dword [ebp - 0xc], esi
shr ebx, 8
movzx esi, bl
xor edx, dword [esi*4 + 0x5c6a78]
movzx esi, byte [ebp - 0xc]
xor edx, dword [esi*4 + 0x5c6e78]
mov esi, dword [ebp - 4]
mov dword [ebp - 0x14], eax
shr esi, 0x18
mov edi, dword [esi*4 + 0x5c6278]
mov ebx, dword [ebp - 4]
shr ebx, 0x10
movzx ebx, bl
xor edi, dword [ebx*4 + 0x5c6678]
mov ebx, dword [ebp - 4]
shr ebx, 8
movzx esi, bl
xor edi, dword [esi*4 + 0x5c6a78]
movzx esi, byte [ebp - 4]
xor edi, dword [esi*4 + 0x5c6e78]
mov ebx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x10]
shr ebx, 0x10
movzx ebx, bl
shr esi, 0x18
mov esi, dword [esi*4 + 0x5c6278]
xor esi, dword [ebx*4 + 0x5c6678]
mov ebx, dword [ebp - 0x10]
shr ebx, 8
movzx ebx, bl
xor esi, dword [ebx*4 + 0x5c6a78]
movzx ebx, byte [ebp - 0x10]
xor esi, dword [ebx*4 + 0x5c6e78]
xor esi, edx
xor edx, edi
mov dword [ebp - 0xc], edx
mov edx, dword [ebp - 8]
mov ebx, edx
shr edx, 0x10
movzx edx, dl
mov dword [ebp - 0x10], edx
shr ebx, 0x18
mov edx, dword [ebx*4 + 0x5c6278]
mov ebx, dword [ebp - 0x10]
xor edx, dword [ebx*4 + 0x5c6678]
mov ebx, dword [ebp - 8]
shr ebx, 8
movzx ebx, bl
xor edx, dword [ebx*4 + 0x5c6a78]
movzx ebx, byte [ebp - 8]
xor edx, dword [ebx*4 + 0x5c6e78]
mov ebx, dword [ebp - 0xc]
xor edx, esi
xor ebx, edx
xor edi, esi
xor esi, ebx
mov dword [ebp - 8], edx
rol ebx, 0x10
mov dword [ebp - 0xc], ebx
mov ebx, edi
mov edx, edi
shr edx, 0x10
and ebx, 0xff0000
xor ebx, edx
mov edx, edi
shl edx, 0x10
and edi, 0xff00
xor edx, edi
shl edx, 8
shr ebx, 8
xor ebx, edx
mov edx, esi
mov edi, esi
shr edx, 8
shl edi, 8
xor edx, edi
mov edi, dword [ebp - 8]
shl esi, 8
and edx, 0xff00ff
xor edx, esi
mov esi, dword [ebp - 0xc]
xor edx, esi
xor esi, ebx
xor edi, edx
xor ebx, edx
xor esi, edi
mov dword [ebp - 8], edi
mov dword [ebp - 4], ebx
mov dword [ebp - 0xc], esi
xor edx, esi
cmp dword [ebp + 8], 0x80
jle 0x49cef6
movzx edi, byte [ecx + 0x10]
movzx esi, byte [ecx + 0x11]
movzx ebx, byte [ecx + 0x15]
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 + 0x14]
shl esi, 8
xor esi, ebx
movzx ebx, byte [ecx + 0x16]
shl esi, 8
xor esi, ebx
movzx ebx, byte [ecx + 0x17]
shl esi, 8
xor esi, ebx
cmp dword [ebp + 8], 0xc0
mov dword [ebp - 0x50], esi
jle 0x49ceec
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 [ebp - 0x4c], 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 [ebp - 4]
shl esi, 8
xor esi, ecx
jmp 0x49cf00
mov ebx, dword [ebp - 4]
xor esi, esi
mov dword [ebp - 0x4c], esi
jmp 0x49cf00
xor edi, edi
xor esi, esi
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x50], edi
xor dword [ebp - 0x50], edx
mov edx, dword [eax + 0x10]
xor edi, dword [ebp - 8]
mov ecx, dword [ebp - 0x4c]
xor ecx, dword [ebp - 0xc]
xor edx, edi
mov dword [ebp - 8], edx
mov edx, dword [eax + 0x14]
xor edx, dword [ebp - 0x50]
xor esi, ebx
mov ebx, dword [eax + 0x1c]
mov dword [ebp - 0x10], edx
mov edx, dword [eax + 0x18]
xor edx, ecx
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x4c], ecx
mov ecx, edx
shr ecx, 0x10
movzx ecx, cl
mov dword [ebp - 0xc], ecx
mov ecx, dword [eax*4 + 0x5c6a78]
mov eax, dword [ebp - 0xc]
xor ecx, dword [eax*4 + 0x5c6e78]
mov eax, edx
shr eax, 8
movzx eax, al
xor ecx, dword [eax*4 + 0x5c6278]
xor ebx, esi
movzx edx, dl
xor ecx, dword [edx*4 + 0x5c6678]
mov edx, ebx
mov eax, ebx
shr edx, 0x10
shr eax, 0x18
mov eax, dword [eax*4 + 0x5c6a78]
movzx edx, dl
xor eax, dword [edx*4 + 0x5c6e78]
mov edx, ebx
shr edx, 8
movzx edx, dl
xor eax, dword [edx*4 + 0x5c6278]
movzx edx, bl
xor eax, dword [edx*4 + 0x5c6678]
mov edx, dword [ebp - 0x10]
mov ebx, edx
shr ebx, 0x18
shr edx, 0x10
movzx edx, dl
mov dword [ebp - 0xc], edx
mov edx, dword [ebx*4 + 0x5c6a78]
mov ebx, dword [ebp - 0xc]
xor edx, dword [ebx*4 + 0x5c6e78]
mov ebx, dword [ebp - 0x10]
shr ebx, 8
movzx ebx, bl
xor edx, dword [ebx*4 + 0x5c6278]
movzx ebx, byte [ebp - 0x10]
xor edx, dword [ebx*4 + 0x5c6678]
mov dword [ebp - 4], eax
xor edx, ecx
xor ecx, eax
mov eax, dword [ebp - 8]
mov ebx, eax
shr eax, 0x10
movzx eax, al
shr ebx, 0x18
mov dword [ebp - 0x10], eax
mov eax, dword [ebx*4 + 0x5c6a78]
mov ebx, dword [ebp - 0x10]
xor eax, dword [ebx*4 + 0x5c6e78]
mov ebx, dword [ebp - 8]
shr ebx, 8
movzx ebx, bl
xor eax, dword [ebx*4 + 0x5c6278]
movzx ebx, byte [ebp - 8]
xor eax, dword [ebx*4 + 0x5c6678]
mov ebx, dword [ebp - 4]
xor eax, edx
mov dword [ebp - 8], eax
xor ebx, edx
xor ecx, eax
mov eax, ebx
mov dword [ebp - 4], ebx
shl ebx, 8
shr eax, 8
xor eax, ebx
mov ebx, dword [ebp - 4]
shl ebx, 8
and eax, 0xff00ff
xor eax, ebx
xor edx, ecx
mov dword [ebp - 4], 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 [ebp - 4]
shl ebx, 8
xor eax, ebx
mov ebx, dword [ebp - 8]
xor eax, ecx
xor ecx, edx
rol ebx, 0x10
xor ebx, eax
xor ecx, ebx
xor ebx, dword [ebp - 0x24]
xor edx, eax
mov dword [ebp - 4], edx
mov edx, ecx
xor ecx, dword [ebp - 0x1c]
xor edx, eax
mov eax, dword [ebp - 4]
xor eax, dword [ebp - 0x18]
xor edx, dword [ebp - 0x20]
mov dword [ebp - 4], eax
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x14]
xor ebx, dword [eax + 0x20]
mov dword [ebp - 0x2c], ecx
xor ecx, dword [eax + 0x28]
mov dword [ebp - 8], ebx
mov ebx, ecx
shr ebx, 0x10
movzx ebx, bl
mov dword [ebp - 0x30], edx
xor edx, dword [eax + 0x24]
mov eax, dword [eax + 0x2c]
xor dword [ebp - 4], eax
mov eax, ecx
shr eax, 0x18
mov eax, dword [eax*4 + 0x5c6278]
xor eax, dword [ebx*4 + 0x5c6678]
mov ebx, ecx
shr ebx, 8
movzx ebx, bl
xor eax, dword [ebx*4 + 0x5c6a78]
movzx ecx, cl
xor eax, dword [ecx*4 + 0x5c6e78]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov ebx, eax
shr ebx, 0x10
mov ecx, eax
shr ecx, 0x18
mov ecx, dword [ecx*4 + 0x5c6278]
movzx ebx, bl
xor ecx, dword [ebx*4 + 0x5c6678]
mov ebx, eax
shr ebx, 8
movzx ebx, bl
xor ecx, dword [ebx*4 + 0x5c6a78]
movzx eax, al
xor ecx, dword [eax*4 + 0x5c6e78]
mov eax, edx
mov ebx, edx
shr ebx, 0x10
movzx ebx, bl
shr eax, 0x18
mov eax, dword [eax*4 + 0x5c6278]
xor eax, dword [ebx*4 + 0x5c6678]
mov ebx, edx
shr ebx, 8
movzx ebx, bl
xor eax, dword [ebx*4 + 0x5c6a78]
movzx edx, dl
xor eax, dword [edx*4 + 0x5c6e78]
mov edx, dword [ebp - 0xc]
xor eax, edx
xor edx, ecx
mov dword [ebp - 0xc], edx
mov edx, dword [ebp - 8]
mov ebx, edx
shr edx, 0x10
shr ebx, 0x18
movzx edx, dl
mov dword [ebp - 0x14], edx
mov edx, dword [ebx*4 + 0x5c6278]
mov ebx, dword [ebp - 0x14]
xor edx, dword [ebx*4 + 0x5c6678]
mov ebx, dword [ebp - 8]
shr ebx, 8
movzx ebx, bl
xor edx, dword [ebx*4 + 0x5c6a78]
movzx ebx, byte [ebp - 8]
xor edx, dword [ebx*4 + 0x5c6e78]
mov ebx, dword [ebp - 0xc]
xor edx, eax
xor ebx, edx
xor ecx, eax
xor eax, ebx
rol ebx, 0x10
mov dword [ebp - 8], edx
mov dword [ebp - 0xc], ebx
mov ebx, ecx
and ebx, 0xff0000
mov edx, ecx
shr edx, 0x10
xor ebx, edx
mov edx, ecx
shl edx, 0x10
and ecx, 0xff00
xor edx, ecx
shr ebx, 8
shl edx, 8
xor ebx, edx
mov edx, eax
mov ecx, eax
shr edx, 8
shl ecx, 8
xor edx, ecx
mov ecx, dword [ebp - 8]
shl eax, 8
and edx, 0xff00ff
xor edx, eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 4], ebx
xor edx, eax
xor eax, ebx
xor ecx, edx
xor eax, ecx
mov ebx, edi
xor ebx, ecx
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x44], ebx
mov ebx, ecx
xor ebx, eax
xor ebx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x4c]
xor ebx, eax
mov eax, esi
xor eax, dword [ebp - 4]
mov dword [ebp - 0x3c], ebx
xor eax, edx
mov dword [ebp - 0x38], eax
mov edx, esi
shl edx, 0xd
mov eax, edi
shr eax, 0x13
xor edx, eax
xor edx, dword [ebp - 0x24]
mov eax, dword [ebp + 0xc]
mov dword [eax], edx
mov edx, ecx
shr edx, 0x13
mov ebx, edi
shl ebx, 0xd
xor edx, ebx
xor edx, dword [ebp - 0x20]
mov ebx, ecx
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x4c]
shr edx, 0x13
shl ebx, 0xd
xor edx, ebx
xor edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x4c]
mov dword [eax + 8], edx
shl ebx, 0xd
mov edx, esi
shr edx, 0x13
xor edx, ebx
xor edx, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x34]
mov dword [eax + 0xc], edx
mov edx, dword [ebp - 0x28]
shl edx, 0xd
shr ebx, 0x13
xor edx, ebx
mov ebx, dword [ebp - 0x34]
xor edx, edi
mov dword [eax + 0x10], edx
mov edx, dword [ebp - 0x30]
shr edx, 0x13
shl ebx, 0xd
xor edx, ebx
mov ebx, dword [ebp - 0x30]
xor edx, ecx
mov dword [eax + 0x14], edx
mov edx, dword [ebp - 0x2c]
shr edx, 0x13
shl ebx, 0xd
xor edx, ebx
xor edx, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x2c]
mov dword [eax + 0x18], edx
mov edx, dword [ebp - 0x28]
shr edx, 0x13
shl ebx, 0xd
xor edx, ebx
mov ebx, dword [ebp - 0x44]
xor edx, esi
mov dword [eax + 0x1c], edx
mov edx, dword [ebp - 0x38]
shl edx, 0xd
shr ebx, 0x13
xor edx, ebx
xor edx, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x44]
mov dword [eax + 0x20], edx
mov edx, dword [ebp - 0x40]
shr edx, 0x13
shl ebx, 0xd
xor edx, ebx
xor edx, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x40]
mov dword [eax + 0x24], edx
mov edx, dword [ebp - 0x3c]
shr edx, 0x13
shl ebx, 0xd
xor edx, ebx
xor edx, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x3c]
mov dword [eax + 0x28], edx
mov edx, dword [ebp - 0x38]
shr edx, 0x13
shl ebx, 0xd
xor edx, ebx
xor edx, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x24]
mov dword [eax + 0x2c], edx
mov edx, dword [ebp - 0x18]
shl edx, 0xd
shr ebx, 0x13
xor edx, ebx
xor edx, dword [ebp - 0x44]
mov ebx, dword [ebp - 0x24]
mov dword [eax + 0x30], edx
mov edx, dword [ebp - 0x20]
shr edx, 0x13
shl ebx, 0xd
xor edx, ebx
xor edx, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x20]
mov dword [eax + 0x34], edx
mov edx, dword [ebp - 0x1c]
shr edx, 0x13
shl ebx, 0xd
xor edx, ebx
xor edx, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x1c]
mov dword [eax + 0x38], edx
mov edx, dword [ebp - 0x18]
shr edx, 0x13
shl ebx, 0xd
xor edx, ebx
xor edx, dword [ebp - 0x38]
mov ebx, edi
mov dword [eax + 0x3c], edx
shr ebx, 0x1f
lea edx, [esi + esi]
xor edx, ebx
xor edx, dword [ebp - 0x24]
lea ebx, [edi + edi]
mov dword [eax + 0x40], edx
mov edx, ecx
shr edx, 0x1f
xor edx, ebx
xor edx, dword [ebp - 0x20]
lea ebx, [ecx + ecx]
mov dword [eax + 0x44], edx
mov edx, dword [ebp - 0x4c]
shr edx, 0x1f
xor edx, ebx
xor edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x4c]
mov dword [eax + 0x48], edx
add ebx, ebx
mov edx, esi
shr edx, 0x1f
xor edx, ebx
xor edx, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x34]
mov dword [eax + 0x4c], edx
mov edx, dword [ebp - 0x28]
add edx, edx
shr ebx, 0x1f
xor edx, ebx
mov ebx, dword [ebp - 0x34]
xor edx, edi
mov dword [eax + 0x50], edx
mov edx, dword [ebp - 0x30]
shr edx, 0x1f
add ebx, ebx
xor edx, ebx
mov ebx, dword [ebp - 0x30]
xor edx, ecx
mov dword [eax + 0x54], edx
mov edx, dword [ebp - 0x2c]
shr edx, 0x1f
add ebx, ebx
xor edx, ebx
xor edx, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x2c]
mov dword [eax + 0x58], edx
mov edx, dword [ebp - 0x28]
shr edx, 0x1f
add ebx, ebx
xor edx, ebx
xor edx, esi
mov dword [eax + 0x5c], edx
mov edx, dword [ebp - 0x38]
add edx, edx
mov ebx, dword [ebp - 0x44]
shr ebx, 0x1f
xor edx, ebx
xor edx, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x44]
mov dword [eax + 0x60], edx
mov edx, dword [ebp - 0x40]
shr edx, 0x1f
add ebx, ebx
xor edx, ebx
xor edx, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x40]
mov dword [eax + 0x64], edx
mov edx, dword [ebp - 0x3c]
shr edx, 0x1f
add ebx, ebx
xor edx, ebx
xor edx, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x3c]
mov dword [eax + 0x68], edx
mov edx, dword [ebp - 0x38]
shr edx, 0x1f
add ebx, ebx
xor edx, ebx
xor edx, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x24]
mov dword [eax + 0x6c], edx
mov edx, dword [ebp - 0x18]
add edx, edx
shr ebx, 0x1f
xor edx, ebx
xor edx, dword [ebp - 0x44]
mov ebx, dword [ebp - 0x24]
mov dword [eax + 0x70], edx
mov edx, dword [ebp - 0x20]
shr edx, 0x1f
add ebx, ebx
xor edx, ebx
xor edx, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x20]
mov dword [eax + 0x74], edx
mov edx, dword [ebp - 0x1c]
shr edx, 0x1f
add ebx, ebx
xor edx, ebx
xor edx, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x1c]
mov dword [eax + 0x78], edx
mov edx, dword [ebp - 0x18]
shr edx, 0x1f
add ebx, ebx
xor edx, ebx
xor edx, dword [ebp - 0x38]
mov ebx, dword [ebp - 0x4c]
mov dword [eax + 0x7c], edx
shr ebx, 3
mov edx, ecx
shl edx, 0x1d
xor edx, ebx
xor edx, dword [ebp - 0x24]
mov ebx, esi
mov dword [eax + 0x80], edx
mov edx, dword [ebp - 0x4c]
shl edx, 0x1d
shr ebx, 3
xor edx, ebx
xor edx, dword [ebp - 0x20]
mov ebx, edi
mov dword [eax + 0x84], edx
mov edx, esi
shl edx, 0x1d
shr ebx, 3
xor edx, ebx
xor edx, dword [ebp - 0x1c]
mov dword [eax + 0x88], edx
mov edx, edi
shl edx, 0x1d
mov ebx, ecx
shr ebx, 3
xor edx, ebx
xor edx, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x2c]
mov dword [eax + 0x8c], edx
mov edx, dword [ebp - 0x30]
shl edx, 0x1d
shr ebx, 3
xor edx, ebx
xor edx, edi
mov dword [eax + 0x90], edx
mov edx, dword [ebp - 0x2c]
shl edx, 0x1d
mov ebx, dword [ebp - 0x28]
shr ebx, 3
xor edx, ebx
xor edx, ecx
mov dword [eax + 0x94], edx
mov edx, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x34]
shl edx, 0x1d
shr ebx, 3
xor edx, ebx
xor edx, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x30]
mov dword [eax + 0x98], edx
mov edx, dword [ebp - 0x34]
shl edx, 0x1d
shr ebx, 3
xor edx, ebx
mov ebx, dword [ebp - 0x3c]
xor edx, esi
mov dword [eax + 0x9c], edx
mov edx, dword [ebp - 0x40]
shl edx, 0x1d
shr ebx, 3
xor edx, ebx
xor edx, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x38]
mov dword [eax + 0xa0], edx
mov edx, dword [ebp - 0x3c]
shl edx, 0x1d
shr ebx, 3
xor edx, ebx
xor edx, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x44]
mov dword [eax + 0xa4], edx
mov edx, dword [ebp - 0x38]
shl edx, 0x1d
shr ebx, 3
xor edx, ebx
xor edx, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x40]
mov dword [eax + 0xa8], edx
mov edx, dword [ebp - 0x44]
shl edx, 0x1d
shr ebx, 3
xor edx, ebx
xor edx, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x1c]
mov dword [eax + 0xac], edx
mov edx, dword [ebp - 0x20]
shl edx, 0x1d
shr ebx, 3
xor edx, ebx
xor edx, dword [ebp - 0x44]
mov ebx, dword [ebp - 0x18]
mov dword [eax + 0xb0], edx
mov edx, dword [ebp - 0x1c]
shl edx, 0x1d
shr ebx, 3
xor edx, ebx
xor edx, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x24]
mov dword [eax + 0xb4], edx
mov edx, dword [ebp - 0x18]
shl edx, 0x1d
shr ebx, 3
xor edx, ebx
xor edx, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x20]
mov dword [eax + 0xb8], edx
mov edx, dword [ebp - 0x24]
shl edx, 0x1d
shr ebx, 3
xor edx, ebx
xor edx, dword [ebp - 0x38]
mov ebx, ecx
mov dword [eax + 0xbc], edx
shr ebx, 1
mov edx, edi
shl edx, 0x1f
xor edx, ebx
xor edx, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x4c]
mov dword [eax + 0xc0], edx
add eax, 0xc0
shr ebx, 1
mov edx, ecx
shl edx, 0x1f
xor edx, ebx
xor edx, dword [ebp - 0x20]
mov ebx, esi
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x4c]
shl edx, 0x1f
shr ebx, 1
xor edx, ebx
xor edx, dword [ebp - 0x1c]
mov ebx, edi
mov dword [eax + 8], edx
mov edx, esi
shl edx, 0x1f
shr ebx, 1
xor edx, ebx
xor edx, dword [ebp - 0x18]
cmp dword [ebp + 8], 0x80
mov dword [eax + 0xc], edx
jle 0x49d6db
mov edx, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x30]
shl edx, 0x1f
shr ebx, 1
xor edx, ebx
mov ebx, dword [ebp - 0x2c]
xor edx, edi
mov dword [eax + 0x10], edx
mov edx, dword [ebp - 0x30]
shl edx, 0x1f
shr ebx, 1
xor edx, ebx
mov ebx, dword [ebp - 0x28]
xor edx, ecx
mov dword [eax + 0x14], edx
mov edx, dword [ebp - 0x2c]
shl edx, 0x1f
shr ebx, 1
xor edx, ebx
xor edx, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x34]
mov dword [eax + 0x18], edx
mov edx, dword [ebp - 0x28]
shl edx, 0x1f
shr ebx, 1
xor edx, ebx
mov ebx, dword [ebp - 0x40]
xor edx, esi
mov dword [eax + 0x1c], edx
mov edx, dword [ebp - 0x44]
shl edx, 0x1f
shr ebx, 1
xor edx, ebx
xor edx, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x3c]
mov dword [eax + 0x20], edx
mov edx, dword [ebp - 0x40]
add eax, 0x20
shl edx, 0x1f
shr ebx, 1
xor edx, ebx
xor edx, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x38]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x3c]
shl edx, 0x1f
shr ebx, 1
xor edx, ebx
xor edx, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x44]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x38]
shl edx, 0x1f
shr ebx, 1
xor edx, ebx
xor edx, dword [ebp - 0x28]
mov dword [eax + 0xc], edx
cmp dword [ebp + 8], 0xc0
jle 0x49d777
mov edx, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x20]
shl edx, 0x1f
shr ebx, 1
xor edx, ebx
xor edx, dword [ebp - 0x44]
mov ebx, dword [ebp - 0x1c]
mov dword [eax + 0x10], edx
mov edx, dword [ebp - 0x20]
shl edx, 0x1f
shr ebx, 1
xor edx, ebx
xor edx, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x18]
mov dword [eax + 0x14], edx
mov edx, dword [ebp - 0x1c]
shl edx, 0x1f
shr ebx, 1
xor edx, ebx
xor edx, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x24]
mov dword [eax + 0x18], edx
mov edx, dword [ebp - 0x18]
shl edx, 0x1f
shr ebx, 1
xor edx, ebx
xor edx, dword [ebp - 0x38]
mov ebx, edi
mov dword [eax + 0x1c], edx
mov edx, ecx
shl ebx, 0x13
shr edx, 0xd
xor edx, ebx
xor edx, dword [ebp - 0x24]
shl ecx, 0x13
mov dword [eax + 0x20], edx
mov edx, dword [ebp - 0x4c]
mov ebx, edx
shr ebx, 0xd
xor ebx, ecx
xor ebx, dword [ebp - 0x20]
mov ecx, esi
shr ecx, 0xd
shl edx, 0x13
shl esi, 0x13
shr edi, 0xd
xor ecx, edx
xor ecx, dword [ebp - 0x1c]
xor esi, edi
xor esi, dword [ebp - 0x18]
mov dword [eax + 0x24], ebx
mov dword [eax + 0x28], ecx
mov dword [eax + 0x2c], esi
pop ebx
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
pop edi
or eax, 0xffffffff
pop esi
mov esp, ebp
pop ebp
ret