Function at 0x52ef80
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [ebp + 8]
mov edx, dword [0x631568]
mov ecx, dword [edx + 0x38]
push ebx
mov ebx, dword [eax + 4]
push esi
push edi
mov edi, dword [edx + 0x30]
mov eax, ebx
sub eax, edi
shr eax, 0xe
mov esi, eax
shl esi, 6
add esi, eax
lea esi, [ecx + esi*8]
cmp esi, ecx
mov dword [ebp - 4], ebx
jb 0x52efcb
mov eax, dword [edx + 0x3c]
mov ebx, eax
shl ebx, 6
add ebx, eax
lea ecx, [ecx + ebx*8]
cmp esi, ecx
mov ebx, dword [ebp - 4]
jb 0x52f0b4
mov edx, dword [edx + 0x3c]
push edx
push edi
push ebx
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 0x52f076
push 0x620ad0
call fcn.004e70c0
add esp, 4
push 0xdd
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 eax, dword [0x631440]
mov dword [0x63143c], 1
mov ecx, dword [eax]
add esp, 0x2c
test ecx, ecx
je 0x52f07f
mov dword [0x631440], 0
jmp 0x52f07f
mov eax, dword [0x63143c]
test eax, eax
je 0x52f0b4
push 0xdd
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 [esi + 0x178]
test eax, eax
je 0x52f3e6
mov eax, dword [esi + 0x180]
mov ecx, dword [esi + 0x17c]
add ecx, eax
xor edx, edx
cmp edx, ecx
mov ecx, dword [0x631438]
sbb eax, eax
neg eax
add eax, ecx
jne 0x52f16d
push 0x620ad0
call fcn.004e70c0
add esp, 4
push 0x51a
push str.C:4017_buildmysql_4.0.17innobase_btr_btr0sea.c
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:_block__curr_n_fields__block__curr_n_bytes___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 0x52f176
mov dword [0x631440], 0
jmp 0x52f176
mov eax, dword [0x63143c]
test eax, eax
je 0x52f1ab
push 0x51a
push str.C:4017_buildmysql_4.0.17innobase_btr_btr0sea.c
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 edx, dword [0x6321b0]
mov eax, dword [edx]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov dword [ebp - 0x14], eax
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + 4]
mov edi, dword [eax + 8]
mov eax, dword [esi + 0x17c]
mov edx, dword [esi + 0x180]
mov dword [ebp + 8], eax
xor eax, eax
mov al, byte [ebx - 4]
mov dword [ebp - 0xc], edx
xor edx, edx
mov dl, byte [ebx - 3]
shl eax, 8
add eax, edx
mov edx, dword [ebp + 8]
shr eax, 1
and eax, 0x3ff
cmp edx, eax
jbe 0x52f1fa
mov dword [ebp + 8], eax
mov edx, eax
jmp 0x52f1fc
jne 0x52f203
mov dword [ebp - 0xc], 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 [ebp - 0x10], ebx
jbe 0x52f28c
mov ecx, dword [ebp - 4]
lea eax, [ebp - 8]
push eax
push ebx
push ecx
call fcn.00557d10
mov edi, dword [ebp - 8]
add esp, 0xc
cmp edi, 0xffffffff
je 0x52f281
mov edx, eax
xor eax, eax
test edi, edi
jbe 0x52f268
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 0x52f244
mov ebx, dword [ebp - 0x10]
mov edx, eax
xor edx, esi
xor edx, 0x946a4f
shl edx, 8
add edx, esi
xor edx, 0x573ed587
add edx, eax
mov esi, edx
mov eax, dword [ebp + 8]
inc ebx
cmp ebx, eax
mov dword [ebp - 0x10], ebx
jb 0x52f223
mov eax, dword [ebp - 0xc]
test eax, eax
jbe 0x52f2fc
mov ecx, dword [ebp - 4]
lea eax, [ebp - 8]
push eax
push ebx
push ecx
call fcn.00557d10
mov ecx, dword [ebp - 8]
add esp, 0xc
cmp ecx, 0xffffffff
je 0x52f2fc
mov edx, dword [ebp - 0xc]
cmp ecx, edx
jbe 0x52f2b8
mov ecx, edx
mov dword [ebp - 8], ecx
mov edx, eax
xor eax, eax
test ecx, ecx
jbe 0x52f2e3
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 0x52f2c2
mov edx, eax
xor edx, esi
xor edx, 0x946a4f
shl edx, 8
add edx, esi
xor edx, 0x573ed587
add edx, eax
mov esi, edx
mov eax, dword [0x6321ac]
push 0x522
push str.C:4017_buildmysql_4.0.17innobase_btr_btr0sea.c
push 0
push eax
call fcn.00559600
mov ecx, dword [ebp - 0x14]
mov eax, esi
xor eax, 0x62946a4f
xor edx, edx
div dword [ecx]
mov eax, dword [ecx + 4]
add esp, 0x10
mov edx, dword [eax + edx*4]
test edx, edx
je 0x52f34c
mov eax, dword [ebp - 4]
cmp dword [edx + 4], eax
je 0x52f33e
mov edx, dword [edx]
test edx, edx
jne 0x52f331
jmp 0x52f34c
test edx, edx
je 0x52f34c
push edx
push ecx
call fcn.00529d40
add esp, 8
mov esi, dword [0x6321ac]
lea edi, [esi + 0x10]
xor ebx, ebx
mov dword [ebp + 8], edi
mov ecx, dword [ebp + 8]
mov edx, 1
xchg dword [ecx], edx
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x52f37e
mov dword [edi + 0x14], str..._innobase_include_sync0rw.ic
mov dword [edi + 0x18], 0x1b0
jmp 0x52f391
push 0x1b0
push str..._innobase_include_sync0rw.ic
push edi
call fcn.0051e0f0
add esp, 0xc
mov eax, dword [esi + 0xc]
dec eax
mov dword [esi + 0xc], eax
jne 0x52f3a1
mov dword [esi + 4], 0x15e
mov ecx, dword [esi + 0x40]
test ecx, ecx
je 0x52f3b4
test eax, eax
jne 0x52f3b4
mov ebx, 1
mov dword [esi + 0x40], eax
mov dword [ebp + 8], edi
mov edx, 0
mov ecx, dword [ebp + 8]
xchg dword [ecx], edx
mov eax, dword [edi + 4]
test eax, eax
je 0x52f3d1
push edi
call fcn.0051e330
add esp, 4
cmp ebx, 1
jne 0x52f3e6
mov ecx, dword [0x632290]
push esi
push ecx
call fcn.00544320
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret