Function at 0x56f370
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov eax, dword [0x6314ec]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
mov edx, 1
xchg dword [ecx], edx
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 8]
test ecx, ecx
jne 0x56f3a2
mov dword [eax + 0x14], str.C:4017_buildmysql_4.0.17innobasedictdict0crea.c
mov dword [eax + 0x18], 0x42c
jmp 0x56f3b5
push 0x42c
push str.C:4017_buildmysql_4.0.17innobasedictdict0crea.c
push eax
call fcn.0051e0f0
add esp, 0xc
mov cl, byte [str.SYS_FOREIGN]
push ebx
push esi
xor eax, eax
test cl, cl
push edi
mov edx, str.SYS_FOREIGN
je 0x56f3ed
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 0x56f3c9
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 0x56f449
mov eax, dword [edi + 0x10]
mov esi, str.SYS_FOREIGN
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x56f439
test cl, cl
je 0x56f435
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x56f439
add eax, 2
add esi, 2
test cl, cl
jne 0x56f411
xor eax, eax
jmp 0x56f43e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x56f449
mov edi, dword [edi + 0x18]
test edi, edi
jne 0x56f409
test edi, edi
mov ebx, edi
jne 0x56f45e
push str.SYS_FOREIGN
call fcn.0053f150
add esp, 4
mov ebx, eax
mov cl, byte [str.SYS_FOREIGN_COLS]
xor eax, eax
test cl, cl
mov edx, str.SYS_FOREIGN_COLS
je 0x56f493
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 0x56f46f
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 0x56f4ef
mov eax, dword [edi + 0x10]
mov esi, str.SYS_FOREIGN_COLS
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x56f4db
test cl, cl
je 0x56f4d7
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x56f4db
add eax, 2
add esi, 2
test cl, cl
jne 0x56f4b7
xor eax, eax
jmp 0x56f4e0
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x56f4eb
mov edi, dword [edi + 0x18]
test edi, edi
jne 0x56f4af
test edi, edi
jne 0x56f4fe
push str.SYS_FOREIGN_COLS
call fcn.0053f150
add esp, 4
mov edi, eax
test ebx, ebx
je 0x56f540
test edi, edi
je 0x56f540
cmp dword [ebx + 0x2c], 3
jne 0x56f540
cmp dword [edi + 0x2c], 1
jne 0x56f540
mov eax, dword [0x6314ec]
mov dword [ebp - 8], eax
mov edx, 0
mov ecx, dword [ebp - 8]
xchg dword [ecx], edx
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x56f534
push eax
call fcn.0051e330
add esp, 4
pop edi
pop esi
mov eax, 0xa
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x6314ec]
mov dword [ebp - 8], eax
mov edx, 0
mov ecx, dword [ebp - 8]
xchg dword [ecx], edx
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x56f562
push eax
call fcn.0051e330
add esp, 4
call fcn.004e35c0
mov esi, eax
push esi
mov dword [esi + 4], str.creating_foreign_key_sys_tables
call fcn.004eff40
add esp, 4
test ebx, ebx
je 0x56f59a
push str.InnoDB:_dropping_incompletely_created_SYS_FOREIGN_table_n
push 0x620ad0
call fcn.00599e71
push esi
push str.SYS_FOREIGN
call fcn.004f1330
add esp, 0x10
test edi, edi
je 0x56f5bb
push str.InnoDB:_dropping_incompletely_created_SYS_FOREIGN_COLS_table_n
push 0x620ad0
call fcn.00599e71
push esi
push str.SYS_FOREIGN_COLS
call fcn.004f1330
add esp, 0x10
push str.InnoDB:_Creating_foreign_key_constraint_system_tables_n
push 0x620ad0
call fcn.00599e71
push str.PROCEDURE_CREATE_FOREIGN_SYS_TABLES_PROC____IS_nBEGIN_nCREATE_TABLE_nSYS_FOREIGN_ID_CHAR__FOR_NAME_CHAR__REF_NAME_CHAR__N_COLS_INT___nCREATE_UNIQUE_CLUSTERED_INDEX_ID_IND_ON_SYS_FOREIGN__ID___nCREATE_INDEX_FOR_IND_ON_SYS_FOREIGN__FOR_NAME___nCREATE_INDEX_REF_IND_ON_SYS_FOREIGN__REF_NAME___nCREATE_TABLE_nSYS_FOREIGN_COLS_ID_CHAR__POS_INT__FOR_COL_NAME_CHAR__REF_COL_NAME_CHAR___nCREATE_UNIQUE_CLUSTERED_INDEX_ID_IND_ON_SYS_FOREIGN_COLS__ID__POS___nCOMMIT_WORK__nEND__n
call fcn.00569180
mov ebx, eax
mov eax, dword [0x631438]
add eax, ebx
add esp, 0xc
test eax, eax
jne 0x56f66f
push 0x620ad0
call fcn.004e70c0
add esp, 4
push 0x468
push str.C:4017_buildmysql_4.0.17innobasedictdict0crea.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:_graph
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 0x56f678
mov dword [0x631440], 0
jmp 0x56f678
mov eax, dword [0x63143c]
test eax, eax
je 0x56f6ad
push 0x468
push str.C:4017_buildmysql_4.0.17innobasedictdict0crea.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
push 0
mov dword [ebx + 0x34], esi
push 7
mov dword [esi + 0xb8], 0
push ebx
mov dword [ebx + 0x2c], 0xa
call fcn.005503f0
mov edx, dword [0x631438]
mov edi, eax
add edx, edi
add esp, 0xc
test edx, edx
jne 0x56f766
push 0x620ad0
call fcn.004e70c0
add esp, 4
push 0x46f
push str.C:4017_buildmysql_4.0.17innobasedictdict0crea.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:_thr__que_fork_start_command_graph__SESS_COMM_EXECUTE__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 0x56f76f
mov dword [0x631440], 0
jmp 0x56f76f
mov eax, dword [0x63143c]
test eax, eax
je 0x56f7a4
push 0x46f
push str.C:4017_buildmysql_4.0.17innobasedictdict0crea.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
push edi
call fcn.00551340
mov edi, dword [esi + 0xa8]
add esp, 4
cmp edi, 0xa
je 0x56f8f4
push edi
push str.InnoDB:_error__lu_in_creation_n
push 0x620ad0
call fcn.00599e71
mov eax, dword [0x631438]
xor ecx, ecx
add esp, 0xc
cmp edi, 0xd
sete cl
add ecx, eax
jne 0x56f86b
push 0x620ad0
call fcn.004e70c0
add esp, 4
push 0x478
push str.C:4017_buildmysql_4.0.17innobasedictdict0crea.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:_error__DB_OUT_OF_FILE_SPACE
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 0x56f874
mov dword [0x631440], 0
jmp 0x56f874
mov eax, dword [0x63143c]
test eax, eax
je 0x56f8a9
push 0x478
push str.C:4017_buildmysql_4.0.17innobasedictdict0crea.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
push str.InnoDB:_creation_failed_n
push 0x620ad0
call fcn.00599e71
push str.InnoDB:_tablespace_is_full_n
push 0x620ad0
call fcn.00599e71
push str.InnoDB:_dropping_incompletely_created_SYS_FOREIGN_tables_n
push 0x620ad0
call fcn.00599e71
push esi
push str.SYS_FOREIGN
call fcn.004f1330
push esi
push str.SYS_FOREIGN_COLS
call fcn.004f1330
add esp, 0x28
mov edi, 0x20
push ebx
call fcn.005509e0
push esi
mov dword [esi + 4], 0x6244e8
call fcn.004f00a0
push esi
call fcn.004e46a0
add esp, 0xc
cmp edi, 0xa
jne 0x56f927
push str.InnoDB:_Foreign_key_constraint_system_tables_created_n
push 0x620ad0
call fcn.00599e71
add esp, 8
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret