Function at 0x53f150
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x4d0
push ebx
push ebp
push esi
push edi
push 0x254
push str.C:4017_buildmysql_4.0.17innobasedictdict0load.c
xor esi, esi
push esi
push esi
push 0x3e8
push esi
call fcn.004ed9d0
mov dword [eax + 0x14], esi
mov dword [eax + 0x18], esi
mov dword [eax + 0x10], 1
mov dword [eax + 0x20], esi
mov dword [eax + 0x1c], esi
mov ecx, dword [eax + 0x18]
add esp, 0x18
cmp ecx, esi
mov dword [esp + 0x14], eax
mov dword [eax + 0x14], eax
jne 0x53f19a
mov dword [eax + 0x18], eax
push str.SYS_TABLES
mov dword [esp + 0x8c], esi
mov dword [esp + 0x90], esi
mov dword [esp + 0x2a8], esi
mov dword [esp + 0x2ac], esi
mov dword [esp + 0x4cc], 0x15
mov dword [esp + 0x4c4], esi
mov dword [esp + 0x4c8], esi
call fcn.0053e670
add esp, 4
cmp eax, esi
mov dword [esp + 0x18], eax
jne 0x53f1f5
push str.SYS_TABLES
call fcn.0053f150
add esp, 4
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [eax + 0x30]
push 0x34
push ecx
call fcn.004e0640
mov ebx, dword [esp + 0x4ec]
mov esi, eax
mov eax, 1
mov dword [esi + 4], eax
mov dword [esi + 8], eax
lea edx, [esi + 0x1c]
or ecx, 0xffffffff
mov dword [esi], 0
mov dword [esi + 0xc], edx
xor eax, eax
mov edi, ebx
repne scasb al, byte es:[edi]
push 1
not ecx
dec ecx
push ebp
push esi
mov dword [edx], ebx
mov dword [edx + 4], ecx
call fcn.0050d380
lea edx, [esp + 0x98]
push edx
lea eax, [esp + 0x38]
push eax
push 1
push 2
push esi
push ebp
call fcn.00554ad0
mov eax, dword [esp + 0x50]
mov esi, eax
push eax
mov dword [esp + 0x4c], esi
call fcn.004e8c30
lea ecx, [eax + 0x65]
mov eax, dword [esp + 0x54]
add esp, 0x30
cmp ecx, eax
je 0x53fafe
push eax
call fcn.004e8c30
mov ecx, dword [esp + 0x28]
add eax, 0x74
add esp, 4
cmp eax, ecx
je 0x53fafe
test byte [esi - 6], 0x20
jne 0x53fafe
lea edx, [esp + 0x10]
push edx
xor ebp, ebp
push ebp
push esi
call fcn.00557d10
or ecx, 0xffffffff
mov edx, eax
xor eax, eax
add esp, 0xc
mov edi, ebx
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x10]
not ecx
dec ecx
cmp eax, ecx
jne 0x53fa6d
mov ecx, eax
mov edi, edx
mov esi, ebx
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x53fa6d
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x30]
mov eax, dword [edx + 0x38]
mov ecx, dword [eax + 0x90]
mov esi, dword [ecx + 0x10]
mov eax, str.SPACE
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x53f315
test cl, cl
je 0x53f311
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x53f315
add eax, 2
add esi, 2
test cl, cl
jne 0x53f2f1
xor eax, eax
jmp 0x53f31a
sbb eax, eax
sbb eax, 0xffffffff
xor ecx, ecx
test eax, eax
mov eax, dword [0x631438]
sete cl
add ecx, eax
jne 0x53f3b5
push 0x620ad0
call fcn.004e70c0
add esp, 4
push 0x27f
push str.C:4017_buildmysql_4.0.17innobasedictdict0load.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:_0__ut_strcmp__char____SPACE___dict_field_get_col__dict_index_get_nth_field__dict_table_get_first_index_sys_tables___9____name_
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 0x53f3be
mov dword [0x631440], 0
jmp 0x53f3be
mov eax, dword [0x63143c]
test eax, eax
je 0x53f3f3
push 0x27f
push str.C:4017_buildmysql_4.0.17innobasedictdict0load.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 ebp, dword [esp + 0x1c]
lea eax, [esp + 0x10]
push eax
push 9
push ebp
call fcn.00557d10
xor ecx, ecx
mov cl, byte [eax]
xor edx, edx
mov dl, byte [eax + 1]
add esp, 0xc
mov esi, ecx
shl esi, 8
add esi, edx
xor ecx, ecx
mov cl, byte [eax + 2]
xor edx, edx
mov dl, byte [eax + 3]
mov eax, dword [esp + 0x18]
shl esi, 8
add esi, ecx
mov ecx, dword [eax + 0x30]
shl esi, 8
add esi, edx
mov edx, dword [ecx + 0x38]
mov eax, dword [edx + 0x40]
mov edi, dword [eax + 0x10]
mov eax, str.N_COLS
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [edi]
jne 0x53f464
test cl, cl
je 0x53f460
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [edi + 1]
jne 0x53f464
add eax, 2
add edi, 2
test cl, cl
jne 0x53f440
xor eax, eax
jmp 0x53f469
sbb eax, eax
sbb eax, 0xffffffff
xor ecx, ecx
test eax, eax
mov eax, dword [0x631438]
sete cl
add ecx, eax
jne 0x53f504
push 0x620ad0
call fcn.004e70c0
add esp, 4
push 0x287
push str.C:4017_buildmysql_4.0.17innobasedictdict0load.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:_0__ut_strcmp__char____N_COLS___dict_field_get_col__dict_index_get_nth_field__dict_table_get_first_index_sys_tables___4____name_
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 0x53f50d
mov dword [0x631440], 0
jmp 0x53f50d
mov eax, dword [0x63143c]
test eax, eax
je 0x53f542
push 0x287
push str.C:4017_buildmysql_4.0.17innobasedictdict0load.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
lea eax, [esp + 0x10]
push eax
push 4
push ebp
call fcn.00557d10
xor ecx, ecx
mov cl, byte [eax]
xor edx, edx
mov dl, byte [eax + 1]
shl ecx, 8
add ecx, edx
xor edx, edx
mov dl, byte [eax + 2]
shl ecx, 8
add ecx, edx
xor edx, edx
mov dl, byte [eax + 3]
shl ecx, 8
add ecx, edx
push ecx
push esi
push ebx
call fcn.00513ae0
mov ebx, eax
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0x30]
mov edx, dword [ecx + 0x38]
mov eax, dword [edx + 0x30]
mov esi, dword [eax + 0x10]
add esp, 0x18
mov eax, 0x612f98
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x53f5b7
test cl, cl
je 0x53f5b3
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x53f5b7
add eax, 2
add esi, 2
test cl, cl
jne 0x53f593
xor eax, eax
jmp 0x53f5bc
sbb eax, eax
sbb eax, 0xffffffff
xor ecx, ecx
xor edi, edi
cmp eax, edi
mov eax, dword [0x631438]
sete cl
add ecx, eax
jne 0x53f655
push 0x620ad0
call fcn.004e70c0
add esp, 4
push 0x291
push str.C:4017_buildmysql_4.0.17innobasedictdict0load.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:_0__ut_strcmp__char____ID___dict_field_get_col__dict_index_get_nth_field__dict_table_get_first_index_sys_tables___3____name_
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
cmp eax, edi
je 0x53f65d
mov dword [0x631440], edi
jmp 0x53f65d
cmp dword [0x63143c], edi
je 0x53f692
push 0x291
push str.C:4017_buildmysql_4.0.17innobasedictdict0load.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
lea eax, [esp + 0x10]
push eax
push 3
push ebp
call fcn.00557d10
xor edx, edx
mov dl, byte [eax + 1]
xor ecx, ecx
mov cl, byte [eax]
shl ecx, 8
add ecx, edx
xor edx, edx
mov dl, byte [eax + 2]
shl ecx, 8
add ecx, edx
xor edx, edx
mov dl, byte [eax + 3]
shl ecx, 8
add ecx, edx
xor edx, edx
mov dl, byte [eax + 4]
mov esi, edx
xor edx, edx
mov dl, byte [eax + 5]
shl esi, 8
add esi, edx
xor edx, edx
mov dl, byte [eax + 6]
shl esi, 8
add esi, edx
xor edx, edx
mov dl, byte [eax + 7]
lea eax, [esp + 0x1c]
push eax
shl esi, 8
push 5
mov dword [ebx], ecx
push ebp
add esi, edx
mov dword [ebx + 4], esi
call fcn.00557d10
xor ecx, ecx
mov cl, byte [eax]
xor edx, edx
mov dl, byte [eax + 1]
add esp, 0x18
shl ecx, 8
add ecx, edx
xor edx, edx
mov dl, byte [eax + 2]
shl ecx, 8
add ecx, edx
xor edx, edx
mov dl, byte [eax + 3]
shl ecx, 8
lea eax, [ecx + edx]
cmp eax, 2
mov dword [ebx + 8], eax
jne 0x53f8b9
cmp dword [0x631438], edi
jne 0x53f7b8
push 0x620ad0
call fcn.004e70c0
add esp, 4
push 0x29a
push str.C:4017_buildmysql_4.0.17innobasedictdict0load.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:_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
cmp ecx, edi
je 0x53f7c0
mov dword [0x631440], edi
jmp 0x53f7c0
cmp dword [0x63143c], edi
je 0x53f7f5
push 0x29a
push str.C:4017_buildmysql_4.0.17innobasedictdict0load.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
lea ecx, [esp + 0x10]
push ecx
push 6
push ebp
call fcn.00557d10
xor edx, edx
mov dl, byte [eax + 1]
xor ecx, ecx
mov cl, byte [eax]
shl ecx, 8
add ecx, edx
xor edx, edx
mov dl, byte [eax + 2]
shl ecx, 8
add ecx, edx
xor edx, edx
mov dl, byte [eax + 3]
shl ecx, 8
add ecx, edx
xor edx, edx
mov dl, byte [eax + 4]
mov esi, edx
xor edx, edx
mov dl, byte [eax + 5]
shl esi, 8
add esi, edx
xor edx, edx
mov dl, byte [eax + 6]
shl esi, 8
add esi, edx
xor edx, edx
mov dl, byte [eax + 7]
lea eax, [esp + 0x1c]
push eax
shl esi, 8
push 8
mov dword [ebx + 0x80], ecx
push ebp
add esi, edx
mov dword [ebx + 0x84], esi
call fcn.00557d10
mov ecx, dword [esp + 0x2c]
mov esi, eax
mov eax, dword [ecx + 0x18]
mov ecx, dword [esp + 0x28]
mov edx, dword [eax + 0x30]
lea edi, [ecx + 7]
and edi, 0xfffffff8
add edx, edi
add esp, 0x18
cmp dword [eax + 0x24], edx
jae 0x53f894
mov eax, dword [esp + 0x14]
push ecx
push eax
call fcn.004edaf0
add esp, 8
test eax, eax
je 0x53f89f
mov ecx, dword [eax + 0x30]
lea edx, [ecx + edi]
mov dword [eax + 0x30], edx
add eax, ecx
mov ecx, dword [esp + 0x10]
mov edx, ecx
shr ecx, 2
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [ebx + 0x9c], eax
mov eax, dword [ebx + 8]
cmp eax, 3
je 0x53f8c6
cmp eax, 2
jne 0x53f8fe
lea eax, [esp + 0x10]
push eax
push 7
push ebp
call fcn.00557d10
xor ecx, ecx
mov cl, byte [eax]
xor edx, edx
mov dl, byte [eax + 1]
add esp, 0xc
shl ecx, 8
add ecx, edx
xor edx, edx
mov dl, byte [eax + 2]
shl ecx, 8
add ecx, edx
xor edx, edx
mov dl, byte [eax + 3]
shl ecx, 8
add ecx, edx
mov dword [ebx + 0x88], ecx
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x53f93b
mov esi, dword [eax - 0x28]
lea ebp, [eax - 0x40]
mov eax, dword [ebp + 0x38]
test eax, eax
je 0x53f91c
push ebp
call fcn.004edde0
add esp, 4
test esi, esi
je 0x53f933
mov edi, dword [esi + 0x1c]
push esi
push ebp
call fcn.004edc60
add esp, 8
test edi, edi
mov esi, edi
jne 0x53f920
mov dword [esp + 0x7c], 0
xor eax, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x60], eax
lea eax, [esp + 0x84]
push eax
mov dword [esp + 0x60], 0x7514483
mov dword [esp + 0x5c], 3
mov dword [esp + 0x74], 0x4f36e539
call fcn.0054f250
mov eax, dword [ebx + 8]
add esp, 4
cmp eax, 2
jne 0x53fa12
mov ebp, dword [ebx + 0x9c]
mov cl, byte [ebp]
xor eax, eax
test cl, cl
mov edx, ebp
je 0x53f9ae
movsx ecx, cl
mov esi, ecx
xor esi, eax
xor esi, 0x946a4f
shl esi, 8
add esi, eax
xor esi, 0x573ed587
add esi, ecx
mov cl, byte [edx + 1]
inc edx
test cl, cl
mov eax, esi
jne 0x53f98a
mov ecx, dword [0x6314ec]
mov ecx, dword [ecx + 0x34]
xor eax, 0x62946a4f
xor edx, edx
div dword [ecx]
mov eax, dword [ecx + 4]
mov edi, dword [eax + edx*4]
test edi, edi
je 0x53fa09
mov eax, dword [edi + 0x10]
mov esi, ebp
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x53f9f3
test cl, cl
je 0x53f9ef
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x53f9f3
add eax, 2
add esi, 2
test cl, cl
jne 0x53f9cf
xor eax, eax
jmp 0x53f9f8
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x53fa05
mov edi, dword [edi + 0x18]
test edi, edi
jne 0x53f9ca
jmp 0x53fa09
test edi, edi
jne 0x53fa12
push ebp
call fcn.0053f150
add esp, 4
mov ebp, dword [esp + 0x14]
push ebp
push ebx
call fcn.0053fb90
push ebx
call fcn.0050bc60
push ebp
push ebx
call fcn.00540700
mov eax, dword [ebx + 0x10]
push eax
call fcn.00541da0
mov eax, dword [ebp + 0x38]
mov esi, dword [ebp + 0x18]
add esp, 0x18
test eax, eax
je 0x53fa49
push ebp
call fcn.004edde0
add esp, 4
test esi, esi
je 0x53fa60
mov edi, dword [esi + 0x1c]
push esi
push ebp
call fcn.004edc60
add esp, 8
test edi, edi
mov esi, edi
jne 0x53fa4d
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 0x4d0
ret
mov eax, dword [esp + 0x7c]
cmp eax, ebp
je 0x53fa8f
push 0x260
add eax, 0xffffffc0
push str..._innobase_include_btr0pcur.ic
push eax
call fcn.00525b10
add esp, 0xc
mov dword [esp + 0x7c], ebp
lea ecx, [esp + 0x84]
push ecx
mov dword [esp + 0x28], ebp
mov dword [esp + 0x64], ebp
mov dword [esp + 0x60], 0x7514483
mov dword [esp + 0x5c], 3
mov dword [esp + 0x74], 0x4f36e539
call fcn.0054f250
mov ebx, dword [esp + 0x18]
mov eax, dword [ebx + 0x38]
mov esi, dword [ebx + 0x18]
add esp, 4
cmp eax, ebp
je 0x53fad6
push ebx
call fcn.004edde0
add esp, 4
cmp esi, ebp
je 0x53fb80
mov edi, dword [esi + 0x1c]
push esi
push ebx
call fcn.004edc60
add esp, 8
cmp edi, ebp
mov esi, edi
jne 0x53fade
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4d0
ret
mov eax, dword [esp + 0x7c]
xor ebp, ebp
cmp eax, ebp
je 0x53fb22
push 0x260
add eax, 0xffffffc0
push str..._innobase_include_btr0pcur.ic
push eax
call fcn.00525b10
add esp, 0xc
mov dword [esp + 0x7c], ebp
lea edx, [esp + 0x84]
push edx
mov dword [esp + 0x28], ebp
mov dword [esp + 0x64], ebp
mov dword [esp + 0x60], 0x7514483
mov dword [esp + 0x5c], 3
mov dword [esp + 0x74], 0x4f36e539
call fcn.0054f250
mov ebx, dword [esp + 0x18]
mov eax, dword [ebx + 0x38]
mov esi, dword [ebx + 0x18]
add esp, 4
cmp eax, ebp
je 0x53fb69
push ebx
call fcn.004edde0
add esp, 4
cmp esi, ebp
je 0x53fb80
mov edi, dword [esi + 0x1c]
push esi
push ebx
call fcn.004edc60
add esp, 8
cmp edi, ebp
mov esi, edi
jne 0x53fb6d
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4d0
ret