Function at 0x52af90
Capabilities:
Encode data using xor

Disassembly:
push ecx
push ebx
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0x178]
test eax, eax
push ebp
push esi
push edi
je 0x52b38c
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x24]
test ecx, ecx
jbe 0x52b38c
mov ecx, dword [ebx + 0x17c]
cmp ecx, dword [eax + 0x28]
jne 0x52b38c
mov edx, dword [ebx + 0x180]
cmp edx, dword [eax + 0x2c]
jne 0x52b38c
mov ecx, dword [ebx + 0x184]
cmp ecx, dword [eax + 0x30]
jne 0x52b38c
mov edi, dword [esp + 0x20]
mov ebp, dword [edi + 4]
mov eax, dword [0x631568]
mov ecx, dword [eax + 0x30]
mov esi, ebp
and esi, 0xffffc000
cmp esi, ecx
jb 0x52b01c
mov edx, dword [eax + 0x3c]
mov ebx, edx
shl ebx, 6
add ebx, edx
mov edx, dword [eax + 0x38]
cmp esi, dword [edx + ebx*8 - 0x200]
mov ebx, dword [esp + 0x1c]
jbe 0x52b10b
mov eax, dword [eax + 0x3c]
push eax
push ecx
push ebp
push str.InnoDB:_Error:_trying_to_access_a_stray_pointer__lx_nInnoDB:_buf_pool_start_is_at__lx__number_of_pages__lu_n
push 0x620ad0
call fcn.00599e71
mov eax, dword [0x631438]
add esp, 0x14
test eax, eax
jne 0x52b0c8
push 0x620ad0
call fcn.004e70c0
add esp, 4
push 0x11c
push str..._innobase_include_buf0buf.ic
call sub.KERNEL32.dll_GetCurrentThreadId
push eax
call fcn.004d1950
add esp, 4
push eax
push str.__InnoDB:_Assertion_failure_in_thread__lu_in_file__s_line__lu_n
push 0x620ad0
call fcn.00599e71
push str.InnoDB:_Failing_assertion:_0
push 0x620ad0
call fcn.00599e71
push str._nInnoDB:_We_intentionally_generate_a_memory_trap._n
push 0x620ad0
call fcn.00599e71
push str.InnoDB:_Send_a_detailed_bug_report_to_mysql_lists.mysql.com_n
push 0x620ad0
call fcn.00599e71
mov ecx, dword [0x631440]
mov dword [0x63143c], 1
mov eax, dword [ecx]
add esp, 0x2c
test eax, eax
je 0x52b0d1
mov dword [0x631440], 0
jmp 0x52b0d1
mov eax, dword [0x63143c]
test eax, eax
je 0x52b106
push 0x11c
push str..._innobase_include_buf0buf.ic
call sub.KERNEL32.dll_GetCurrentThreadId
push eax
call fcn.004d1950
add esp, 4
push eax
push str.InnoDB:_Thread__lu_stopped_in_file__s_line__lu_n
push 0x620ad0
call fcn.00599e71
push 0x3b9aca00
call fcn.004e7040
add esp, 0x18
mov eax, dword [0x631568]
lea edx, [esi + 0x74]
cmp ebp, edx
je 0x52b38c
mov ecx, dword [eax + 0x30]
cmp esi, ecx
jb 0x52b13b
mov edx, dword [eax + 0x3c]
mov ebx, edx
shl ebx, 6
add ebx, edx
mov edx, dword [eax + 0x38]
cmp esi, dword [edx + ebx*8 - 0x200]
mov ebx, dword [esp + 0x1c]
jbe 0x52b225
mov eax, dword [eax + 0x3c]
push eax
push ecx
push ebp
push str.InnoDB:_Error:_trying_to_access_a_stray_pointer__lx_nInnoDB:_buf_pool_start_is_at__lx__number_of_pages__lu_n
push 0x620ad0
call fcn.00599e71
mov eax, dword [0x631438]
add esp, 0x14
test eax, eax
jne 0x52b1e7
push 0x620ad0
call fcn.004e70c0
add esp, 4
push 0x11c
push str..._innobase_include_buf0buf.ic
call sub.KERNEL32.dll_GetCurrentThreadId
push eax
call fcn.004d1950
add esp, 4
push eax
push str.__InnoDB:_Assertion_failure_in_thread__lu_in_file__s_line__lu_n
push 0x620ad0
call fcn.00599e71
push str.InnoDB:_Failing_assertion:_0
push 0x620ad0
call fcn.00599e71
push str._nInnoDB:_We_intentionally_generate_a_memory_trap._n
push 0x620ad0
call fcn.00599e71
push str.InnoDB:_Send_a_detailed_bug_report_to_mysql_lists.mysql.com_n
push 0x620ad0
call fcn.00599e71
mov ecx, dword [0x631440]
mov dword [0x63143c], 1
mov eax, dword [ecx]
add esp, 0x2c
test eax, eax
je 0x52b1f0
mov dword [0x631440], 0
jmp 0x52b1f0
mov eax, dword [0x63143c]
test eax, eax
je 0x52b225
push 0x11c
push str..._innobase_include_buf0buf.ic
call sub.KERNEL32.dll_GetCurrentThreadId
push eax
call fcn.004d1950
add esp, 4
push eax
push str.InnoDB:_Thread__lu_stopped_in_file__s_line__lu_n
push 0x620ad0
call fcn.00599e71
push 0x3b9aca00
call fcn.004e7040
add esp, 0x18
add esi, 0x65
cmp ebp, esi
je 0x52b38c
mov edx, dword [edi]
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + 4]
mov edi, dword [eax + 8]
mov edx, dword [ebx + 0x180]
xor eax, eax
mov al, byte [ebp - 4]
mov dword [esp + 0x20], edx
mov edx, dword [ebx + 0x17c]
xor ebx, ebx
mov bl, byte [ebp - 3]
mov dword [esp + 0x18], edx
shl eax, 8
add eax, ebx
shr eax, 1
and eax, 0x3ff
cmp edx, eax
jbe 0x52b271
mov dword [esp + 0x18], eax
mov edx, eax
jmp 0x52b273
jne 0x52b27b
mov dword [esp + 0x20], 0
mov esi, ecx
xor esi, edi
xor esi, 0x946a4f
shl esi, 8
add esi, edi
xor esi, 0x573ed587
xor ebx, ebx
add esi, ecx
test edx, edx
mov dword [esp + 0x10], ebx
jbe 0x52b307
lea eax, [esp + 0x1c]
push eax
push ebx
push ebp
call fcn.00557d10
mov edi, dword [esp + 0x28]
add esp, 0xc
cmp edi, 0xffffffff
je 0x52b2fa
mov edx, eax
xor eax, eax
test edi, edi
jbe 0x52b2e1
xor ecx, ecx
mov cl, byte [edx]
mov ebx, ecx
xor ebx, eax
xor ebx, 0x946a4f
shl ebx, 8
add ebx, eax
xor ebx, 0x573ed587
add ebx, ecx
inc edx
dec edi
mov eax, ebx
jne 0x52b2bc
mov ebx, dword [esp + 0x10]
mov ecx, eax
xor ecx, esi
xor ecx, 0x946a4f
shl ecx, 8
add ecx, esi
xor ecx, 0x573ed587
add ecx, eax
mov esi, ecx
mov eax, dword [esp + 0x18]
inc ebx
cmp ebx, eax
mov dword [esp + 0x10], ebx
jb 0x52b29c
mov eax, dword [esp + 0x20]
test eax, eax
jbe 0x52b379
lea edx, [esp + 0x1c]
push edx
push ebx
push ebp
call fcn.00557d10
mov ecx, dword [esp + 0x28]
add esp, 0xc
cmp ecx, 0xffffffff
je 0x52b379
mov edx, dword [esp + 0x20]
cmp ecx, edx
jbe 0x52b335
mov ecx, edx
mov dword [esp + 0x1c], ecx
mov edx, eax
xor eax, eax
test ecx, ecx
jbe 0x52b360
mov edi, ecx
xor ecx, ecx
mov cl, byte [edx]
mov ebx, ecx
xor ebx, eax
xor ebx, 0x946a4f
shl ebx, 8
add ebx, eax
xor ebx, 0x573ed587
add ebx, ecx
inc edx
dec edi
mov eax, ebx
jne 0x52b33f
mov ecx, eax
xor ecx, esi
xor ecx, 0x946a4f
shl ecx, 8
add ecx, esi
xor ecx, 0x573ed587
add ecx, eax
mov esi, ecx
mov edx, dword [0x6321b0]
mov eax, dword [edx]
push ebp
push esi
push eax
call fcn.00529c80
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret