Function at 0x52b3a0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x24]
test ecx, ecx
push ebx
push esi
push edi
mov dword [ebp - 0xc], 1
jne 0x52b3c3
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [eax + 0x28]
mov edx, dword [ebp + 0x1c]
mov edi, dword [ebp + 0x10]
mov dword [edx + 0x28], ecx
mov esi, dword [eax + 0x2c]
mov eax, dword [edx + 0x28]
mov dword [edx + 0x2c], esi
mov ecx, dword [edi + 4]
cmp ecx, eax
mov dword [ebp - 0x14], esi
jae 0x52b3eb
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
test esi, esi
jbe 0x52b3fc
cmp ecx, eax
ja 0x52b3fc
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x44]
mov ecx, dword [edx + 4]
mov edx, dword [edx + 8]
mov esi, ecx
xor esi, edx
xor esi, 0x946a4f
shl esi, 8
add esi, edx
xor esi, 0x573ed587
add esi, ecx
xor ebx, ebx
test eax, eax
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], edx
jbe 0x52b498
mov ecx, dword [edi + 0xc]
mov ebx, eax
mov dword [ebp - 4], ecx
mov dword [ebp - 8], eax
mov dword [ebp - 0x10], ebx
mov edi, dword [ecx + 4]
cmp edi, 0xffffffff
je 0x52b489
mov edx, dword [ecx]
xor eax, eax
test edi, edi
jbe 0x52b470
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 0x52b449
mov ecx, dword [ebp - 4]
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]
add ecx, 0x18
dec eax
mov dword [ebp - 4], ecx
mov dword [ebp - 8], eax
jne 0x52b439
mov edx, dword [ebp - 0x14]
test edx, edx
jbe 0x52b4de
mov ecx, dword [ebp + 0x10]
mov ecx, dword [ecx + 0xc]
lea eax, [ebx + ebx*2]
lea eax, [ecx + eax*8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
cmp eax, 0xffffffff
je 0x52b4de
cmp eax, edx
jbe 0x52b4bb
mov eax, edx
push eax
push ecx
call fcn.0052be60
mov edx, eax
xor edx, esi
xor edx, 0x946a4f
shl edx, 8
add edx, esi
xor edx, 0x573ed587
add esp, 8
add edx, eax
mov esi, edx
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x30], esi
mov dword [eax + 0x10], 1
mov eax, dword [ebp + 0x20]
test eax, eax
jne 0x52b5a4
mov ebx, dword [0x6321ac]
lea edi, [ebx + 0x10]
mov dword [ebp - 0x14], edi
mov ecx, dword [ebp - 0x14]
mov edx, 1
xchg dword [ecx], edx
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x10]
test eax, eax
jne 0x52b526
mov dword [edi + 0x14], str..._innobase_include_sync0rw.ic
mov dword [edi + 0x18], 0xf1
jmp 0x52b539
push 0xf1
push str..._innobase_include_sync0rw.ic
push edi
call fcn.0051e0f0
add esp, 0xc
push 0x2db
push str.C:4017_buildmysql_4.0.17innobase_btr_btr0sea.c
push 0
push ebx
call fcn.004e8a80
add esp, 0x10
cmp eax, 1
jne 0x52b572
mov dword [ebp - 0x14], edi
mov edx, 0
mov ecx, dword [ebp - 0x14]
xchg dword [ecx], edx
mov eax, dword [edi + 4]
test eax, eax
je 0x52b5a4
push edi
call fcn.0051e330
add esp, 4
jmp 0x52b5a4
mov dword [ebp - 0x14], edi
mov edx, 0
mov ecx, dword [ebp - 0x14]
xchg dword [ecx], edx
mov eax, dword [edi + 4]
test eax, eax
je 0x52b58f
push edi
call fcn.0051e330
add esp, 4
push 0x2db
push str.C:4017_buildmysql_4.0.17innobase_btr_btr0sea.c
push 0
push ebx
call fcn.00559340
add esp, 0x10
mov ecx, dword [0x6321ac]
mov edx, dword [ecx + 4]
mov ecx, dword [0x631438]
xor eax, eax
cmp edx, 0x15f
setne al
add eax, ecx
jne 0x52b64d
push 0x620ad0
call fcn.004e70c0
add esp, 4
push 0x2de
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:_btr_search_latch.writer___RW_LOCK_EX
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 edx, dword [0x631440]
mov dword [0x63143c], 1
mov eax, dword [edx]
add esp, 0x2c
test eax, eax
je 0x52b656
mov dword [0x631440], 0
jmp 0x52b656
mov eax, dword [0x63143c]
test eax, eax
je 0x52b68b
push 0x2de
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 ecx, dword [0x6321ac]
mov edx, dword [ecx]
xor eax, eax
cmp eax, edx
mov eax, dword [0x631438]
sbb edx, edx
neg edx
add edx, eax
jne 0x52b72e
push 0x620ad0
call fcn.004e70c0
add esp, 4
push 0x2df
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:_btr_search_latch.reader_count___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 0x52b737
mov dword [0x631440], 0
jmp 0x52b737
mov eax, dword [0x63143c]
test eax, eax
je 0x52b76c
push 0x2df
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 ecx, dword [0x6321b0]
mov ecx, dword [ecx]
mov eax, esi
xor eax, 0x62946a4f
xor edx, edx
div dword [ecx]
mov eax, dword [ecx + 4]
mov edx, dword [eax + edx*4]
test edx, edx
je 0x52b7a4
cmp dword [edx + 8], esi
je 0x52b796
mov edx, dword [edx]
test edx, edx
jne 0x52b789
jmp 0x52b7a4
mov edx, dword [edx + 4]
test edx, edx
mov dword [ebp - 4], edx
jne 0x52b924
mov eax, dword [ebp + 0x20]
test eax, eax
jne 0x52bd9a
mov esi, dword [0x6321ac]
lea edi, [esi + 0x10]
xor ebx, ebx
mov dword [ebp + 0x20], edi
mov ecx, dword [ebp + 0x20]
mov edx, 1
xchg dword [ecx], edx
mov dword [ebp + 0x24], edx
mov eax, dword [ebp + 0x24]
test eax, eax
jne 0x52b7e1
mov dword [edi + 0x14], str..._innobase_include_sync0rw.ic
mov dword [edi + 0x18], 0x165
jmp 0x52b7f4
push 0x165
push str..._innobase_include_sync0rw.ic
push edi
call fcn.0051e0f0
add esp, 0xc
mov edx, dword [esi]
mov eax, dword [0x631438]
xor ecx, ecx
cmp ecx, edx
sbb edx, edx
neg edx
add edx, eax
jne 0x52b891
push 0x620ad0
call fcn.004e70c0
add esp, 4
push 0x169
push str..._innobase_include_sync0rw.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:_lock__reader_count___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 0x52b89a
mov dword [0x631440], 0
jmp 0x52b89a
mov eax, dword [0x63143c]
test eax, eax
je 0x52b8cf
push 0x169
push str..._innobase_include_sync0rw.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 edx, dword [esi]
mov ecx, dword [esi + 0x40]
dec edx
test ecx, ecx
mov dword [esi], edx
mov eax, edx
je 0x52b8e9
test eax, eax
jne 0x52b8e9
mov ebx, 1
mov dword [esi + 0x40], edx
mov dword [ebp + 0x20], edi
mov edx, 0
mov ecx, dword [ebp + 0x20]
xchg dword [ecx], edx
mov eax, dword [edi + 4]
test eax, eax
je 0x52b906
push edi
call fcn.0051e330
add esp, 4
cmp ebx, 1
jne 0x52bd9a
mov ecx, dword [0x632290]
push esi
push ecx
call fcn.00544320
add esp, 8
jmp 0x52bd9a
mov edx, dword [ebp - 4]
mov eax, dword [0x631568]
mov ecx, dword [eax + 0x30]
mov ebx, edx
and ebx, 0xffffc000
cmp ebx, ecx
jb 0x52b955
mov esi, dword [eax + 0x3c]
mov edi, esi
shl edi, 6
add edi, esi
mov esi, dword [eax + 0x38]
cmp ebx, dword [esi + edi*8 - 0x200]
jbe 0x52ba44
mov eax, dword [eax + 0x3c]
push eax
push ecx
push edx
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 0x52ba01
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 0x52ba0a
mov dword [0x631440], 0
jmp 0x52ba0a
mov eax, dword [0x63143c]
test eax, eax
je 0x52ba3f
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]
mov ecx, dword [ebp + 0x20]
test ecx, ecx
jne 0x52bbd0
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x18]
push edx
push 0x2f1
push str.C:4017_buildmysql_4.0.17innobase_btr_btr0sea.c
push 0x33
push ebx
push eax
call fcn.00527440
mov esi, dword [0x6321ac]
push 0x165
lea edi, [esi + 0x10]
push str..._innobase_include_sync0rw.ic
push edi
mov dword [ebp - 0x10], eax
mov dword [ebp - 8], 0
call fcn.004e8a30
mov edx, dword [esi]
mov eax, dword [0x631438]
xor ecx, ecx
add esp, 0x24
cmp ecx, edx
sbb edx, edx
neg edx
add edx, eax
jne 0x52bb2c
push 0x620ad0
call fcn.004e70c0
add esp, 4
push 0x169
push str..._innobase_include_sync0rw.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:_lock__reader_count___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 0x52bb35
mov dword [0x631440], 0
jmp 0x52bb35
mov eax, dword [0x63143c]
test eax, eax
je 0x52bb6a
push 0x169
push str..._innobase_include_sync0rw.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 edx, dword [esi]
mov ecx, dword [esi + 0x40]
dec edx
test ecx, ecx
mov dword [esi], edx
mov eax, edx
je 0x52bb86
test eax, eax
jne 0x52bb86
mov dword [ebp - 8], 1
mov dword [esi + 0x40], edx
mov dword [ebp - 0x14], edi
mov edx, 0
mov ecx, dword [ebp - 0x14]
xchg dword [ecx], edx
mov eax, dword [edi + 4]
test eax, eax
je 0x52bba3
push edi
call fcn.0051e330
add esp, 4
cmp dword [ebp - 8], 1
jne 0x52bbb9
mov ecx, dword [0x632290]
push esi
push ecx
call fcn.00544320
add esp, 8
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x52bd9a
mov eax, dword [0x631568]
mov dword [ebp - 0xc], 0
mov esi, dword [eax + 0x30]
mov edx, dword [eax + 0x38]
mov ecx, ebx
sub ecx, esi
shr ecx, 0xe
mov edi, ecx
shl edi, 6
add edi, ecx
lea edi, [edx + edi*8]
cmp edi, edx
mov dword [ebp - 0x14], edi
jb 0x52bc06
mov ecx, dword [eax + 0x3c]
mov edi, ecx
shl edi, 6
add edi, ecx
lea edx, [edx + edi*8]
mov edi, dword [ebp - 0x14]
cmp edi, edx
jb 0x52bcf0
mov eax, dword [eax + 0x3c]
push eax
push esi
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 0x52bcb2
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 ecx, dword [0x631440]
mov dword [0x63143c], 1
mov eax, dword [ecx]
add esp, 0x2c
test eax, eax
je 0x52bcbb
mov dword [0x631440], 0
jmp 0x52bcbb
mov eax, dword [0x63143c]
test eax, eax
je 0x52bcf0
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
cmp dword [edi + 4], 0xd7
jne 0x52bd38
mov eax, dword [ebp + 0x20]
test eax, eax
jne 0x52bd9a
cmp dword [ebp + 0x18], 1
jne 0x52bd21
push 1
push ebx
call fcn.004ec3a0
mov edx, dword [ebp + 0x24]
add esp, 4
push eax
push edx
call fcn.0054fd10
jmp 0x52bd97
push 2
push ebx
call fcn.004ec3a0
add esp, 4
push eax
mov eax, dword [ebp + 0x24]
push eax
call fcn.0054fd10
jmp 0x52bd97
mov ecx, dword [ebp - 4]
mov esi, dword [ebp + 0x1c]
mov edx, dword [ebp + 8]
lea eax, [ebx + 0x42]
push eax
mov dword [esi + 4], ecx
mov dword [esi], edx
call fcn.0052be10
mov ecx, dword [ebp - 0x18]
push edx
mov edx, dword [ebp - 0x1c]
push eax
push ecx
push edx
call fcn.00511450
add esp, 0x14
test eax, eax
jne 0x52bd82
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
push eax
mov eax, dword [ebp - 0xc]
push ecx
push edx
push eax
push esi
call fcn.0052c150
add esp, 0x14
test eax, eax
jne 0x52bdba
mov eax, dword [ebp + 0x20]
test eax, eax
jne 0x52bd9a
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x18]
push ecx
push edx
push ebx
call fcn.0052bed0
add esp, 0xc
mov eax, dword [ebp + 0xc]
inc dword [eax + 0x38]
mov ecx, dword [ebp + 0x1c]
pop edi
mov dword [ecx + 0x10], 2
pop esi
mov dword [eax + 0x20], 0
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x24]
cmp ecx, 0x69
jae 0x52bdc9
inc ecx
mov dword [eax + 0x24], ecx
mov ecx, dword [eax + 0x20]
mov esi, 1
cmp ecx, esi
je 0x52bdd8
mov dword [eax + 0x20], esi
mov eax, dword [ebp + 0x20]
test eax, eax
jne 0x52bdf5
push edi
call fcn.0052bea0
add esp, 4
test eax, eax
je 0x52bdf5
push ebx
call fcn.00526240
add esp, 4
mov eax, dword [0x631568]
mov ecx, dword [eax + 0x5c]
inc ecx
pop edi
mov dword [eax + 0x5c], ecx
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret