Function at 0x50dd40
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov ecx, dword [ebp + 8]
mov eax, dword [0x6314f0]
push ebx
push esi
push edi
mov edi, dword [ecx + 0xc]
mov cl, byte [edi]
mov dword [ebp - 0xc], eax
xor eax, eax
test cl, cl
mov dword [ebp - 0x10], 0
mov edx, edi
je 0x50dd8c
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 0x50dd68
mov edx, dword [0x6314ec]
mov ecx, dword [edx + 0x34]
mov esi, dword [ecx]
xor edx, edx
xor eax, 0x62946a4f
div esi
mov ecx, dword [ecx + 4]
mov dword [ebp - 8], esi
mov dword [ebp - 0x14], ecx
mov edx, dword [ecx + edx*4]
test edx, edx
mov dword [ebp - 4], edx
je 0x50ddef
mov eax, dword [edx + 0x10]
mov esi, edi
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x50dddc
test cl, cl
je 0x50ddd8
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x50dddc
add eax, 2
add esi, 2
test cl, cl
jne 0x50ddb8
xor eax, eax
jmp 0x50dde1
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x50ddec
mov edx, dword [edx + 0x18]
test edx, edx
jne 0x50ddb3
mov dword [ebp - 4], edx
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x18]
mov cl, byte [ebx]
xor eax, eax
test cl, cl
mov edx, ebx
je 0x50de23
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 0x50ddff
xor eax, 0x62946a4f
xor edx, edx
div dword [ebp - 8]
mov ecx, dword [ebp - 0x14]
mov edi, dword [ecx + edx*4]
test edi, edi
mov dword [ebp - 8], edi
je 0x50de76
mov eax, dword [edi + 0x10]
mov esi, ebx
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x50de63
test cl, cl
je 0x50de5f
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x50de63
add eax, 2
add esi, 2
test cl, cl
jne 0x50de3f
xor eax, eax
jmp 0x50de68
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x50de73
mov edi, dword [edi + 0x18]
test edi, edi
jne 0x50de3a
mov dword [ebp - 8], edi
mov eax, dword [ebp - 4]
test eax, eax
jne 0x50de85
test edi, edi
jne 0x50de85
xor eax, eax
jmp 0x50de8a
mov eax, 1
mov ecx, dword [0x631438]
add eax, ecx
test eax, eax
jne 0x50df21
push 0x620ad0
call fcn.004e70c0
add esp, 4
push 0x78a
push str.C:4017_buildmysql_4.0.17innobasedictdict0dict.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:_for_table__ref_table
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 0x50df2a
mov dword [0x631440], 0
jmp 0x50df2a
mov eax, dword [0x63143c]
test eax, eax
je 0x50df5f
push 0x78a
push str.C:4017_buildmysql_4.0.17innobasedictdict0dict.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 eax, dword [ebp - 4]
test eax, eax
je 0x50df7f
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 4]
push ecx
push edx
call fcn.0050e5c0
mov esi, eax
add esp, 8
test esi, esi
jne 0x50df99
test edi, edi
je 0x50dfd0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
push ecx
push edi
call fcn.0050e5c0
mov esi, eax
add esp, 8
test esi, esi
je 0x50dfd0
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov ecx, dword [eax + 0x38]
test ecx, ecx
mov edi, dword [eax + 0x18]
mov dword [ebp - 0x14], eax
je 0x50dfb4
push eax
call fcn.004edde0
add esp, 4
test edi, edi
je 0x50dfd3
mov eax, dword [ebp - 0x14]
mov ebx, dword [edi + 0x1c]
push edi
push eax
call fcn.004edc60
add esp, 8
test ebx, ebx
mov edi, ebx
jne 0x50dfb8
jmp 0x50dfd3
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x1c]
xor ebx, ebx
cmp eax, ebx
jne 0x50e230
mov edi, dword [ebp - 8]
cmp edi, ebx
je 0x50e230
mov ecx, dword [esi + 0x28]
mov edx, dword [esi + 0x24]
mov eax, dword [esi + 0x20]
push ecx
push edx
push eax
push edi
call fcn.0050e660
add esp, 0x10
cmp eax, ebx
jne 0x50e202
mov dword [ebp - 0x14], 0x632380
mov ecx, dword [ebp - 0x14]
mov edx, 1
xchg dword [ecx], edx
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], ebx
jne 0x50e037
mov dword [0x632394], str.C:4017_buildmysql_4.0.17innobasedictdict0dict.c
mov dword [0x632398], 0x7a2
jmp 0x50e04e
push 0x7a2
push str.C:4017_buildmysql_4.0.17innobasedictdict0dict.c
push 0x632380
call fcn.0051e0f0
add esp, 0xc
mov ebx, dword [ebp - 0xc]
push ebx
call fcn.004e7130
mov ecx, dword [esi + 0xc]
push ecx
or ecx, 0xffffffff
xor eax, eax
mov edi, ebx
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, ebx
push str._Error_in_foreign_key_constraint_of_table__.500s:_nthere_is_no_index_in_referenced_table_which_would_contain_nthe_columns_as_the_first_columns__or_the_data_types_in_the_nreferenced_table_do_not_match_to_the_ones_in_table._Constraint:_n
push ecx
call fcn.004e7060
or ecx, 0xffffffff
xor eax, eax
mov edi, ebx
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, ebx
push ecx
push esi
call fcn.00511c30
mov eax, dword [esi + 0x28]
add esp, 0x18
test eax, eax
je 0x50e0b3
mov edx, dword [eax + 0x10]
or ecx, 0xffffffff
xor eax, eax
mov edi, ebx
repne scasb al, byte es:[edi]
not ecx
push edx
dec ecx
add ecx, ebx
push str._nThe_index_in_the_foreign_key_in_table_is__.500s_nSee_http:__www.innodb.com_ibman.html_about_correct_foreign_key_definition._n
push ecx
call fcn.004e7060
add esp, 0xc
or ecx, 0xffffffff
xor eax, eax
mov edi, ebx
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 0x2710
mov ecx, dword [0x631438]
sbb eax, eax
neg eax
add eax, ecx
jne 0x50e15e
push 0x620ad0
call fcn.004e70c0
add esp, 4
push 0x7b2
push str.C:4017_buildmysql_4.0.17innobasedictdict0dict.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:_strlen_buf____DICT_FOREIGN_ERR_BUF_LEN
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 0x50e167
mov dword [0x631440], 0
jmp 0x50e167
mov eax, dword [0x63143c]
test eax, eax
je 0x50e19c
push 0x7b2
push str.C:4017_buildmysql_4.0.17innobasedictdict0dict.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 dword [ebp - 0x14], 0x632380
mov edx, 0
mov ecx, dword [ebp - 0x14]
xchg dword [ecx], edx
mov eax, dword [0x632384]
test eax, eax
je 0x50e1c3
push 0x632380
call fcn.0051e330
add esp, 4
mov eax, dword [ebp + 8]
cmp esi, eax
jne 0x50e1f6
mov ebx, dword [eax]
mov eax, dword [ebx + 0x38]
test eax, eax
mov esi, dword [ebx + 0x18]
je 0x50e1df
push ebx
call fcn.004edde0
add esp, 4
test esi, esi
je 0x50e1f6
mov edi, dword [esi + 0x1c]
push esi
push ebx
call fcn.004edc60
add esp, 8
test edi, edi
mov esi, edi
jne 0x50e1e3
pop edi
pop esi
mov eax, 0x26
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esi + 0x1c], edi
mov dword [esi + 0x2c], eax
inc dword [edi + 0x44]
mov edx, dword [edi + 0x4c]
mov dword [esi + 0x38], edx
mov dword [esi + 0x3c], ebx
mov eax, dword [edi + 0x4c]
cmp eax, ebx
je 0x50e21e
mov dword [eax + 0x3c], esi
cmp dword [edi + 0x48], ebx
mov dword [edi + 0x4c], esi
jne 0x50e229
mov dword [edi + 0x48], esi
mov dword [ebp - 0x10], 1
cmp dword [esi + 0x10], ebx
jne 0x50e5a6
mov edi, dword [ebp - 4]
cmp edi, ebx
je 0x50e5a6
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x24]
mov edx, dword [esi + 0x14]
push eax
push ecx
push edx
push edi
call fcn.0050e660
add esp, 0x10
cmp eax, ebx
jne 0x50e57b
mov dword [ebp - 0x14], 0x632380
mov ecx, dword [ebp - 0x14]
mov edx, 1
xchg dword [ecx], edx
mov dword [ebp - 4], edx
cmp dword [ebp - 4], ebx
jne 0x50e290
mov dword [0x632394], str.C:4017_buildmysql_4.0.17innobasedictdict0dict.c
mov dword [0x632398], 0x7cb
jmp 0x50e2a7
push 0x7cb
push str.C:4017_buildmysql_4.0.17innobasedictdict0dict.c
push 0x632380
call fcn.0051e0f0
add esp, 0xc
mov ebx, dword [ebp - 0xc]
push ebx
call fcn.004e7130
mov eax, dword [esi + 0xc]
push eax
or ecx, 0xffffffff
xor eax, eax
mov edi, ebx
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, ebx
push str._Error_in_foreign_key_constraint_of_table__.500s:_nthere_is_no_index_in_the_table_which_would_contain_nthe_columns_as_the_first_columns__or_the_data_types_in_the_ntable_do_not_match_to_the_ones_in_the_referenced_table._Constraint:_n
push ecx
call fcn.004e7060
or ecx, 0xffffffff
xor eax, eax
mov edi, ebx
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, ebx
push ecx
push esi
call fcn.00511c30
mov eax, dword [esi + 0x28]
add esp, 0x18
test eax, eax
je 0x50e30f
mov ecx, dword [esi + 0x2c]
mov edx, dword [ecx + 0x10]
or ecx, 0xffffffff
xor eax, eax
mov edi, ebx
repne scasb al, byte es:[edi]
not ecx
push edx
dec ecx
add ecx, ebx
push str._nIndex_of_the_foreign_key_in_the_referenced_table_is__.500s_nSee_http:__www.innodb.com_ibman.html_about_correct_foreign_key_definition._n
push ecx
call fcn.004e7060
add esp, 0xc
or ecx, 0xffffffff
xor eax, eax
mov edi, ebx
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 0x2710
mov ecx, dword [0x631438]
sbb eax, eax
neg eax
add eax, ecx
jne 0x50e3ba
push 0x620ad0
call fcn.004e70c0
add esp, 4
push 0x7db
push str.C:4017_buildmysql_4.0.17innobasedictdict0dict.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:_strlen_buf____DICT_FOREIGN_ERR_BUF_LEN
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 0x50e3c3
mov dword [0x631440], 0
jmp 0x50e3c3
mov eax, dword [0x63143c]
test eax, eax
je 0x50e3f8
push 0x7db
push str.C:4017_buildmysql_4.0.17innobasedictdict0dict.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 dword [ebp - 0x14], 0x632380
mov edx, 0
mov ecx, dword [ebp - 0x14]
xchg dword [ecx], edx
mov eax, dword [0x632384]
test eax, eax
je 0x50e41f
push 0x632380
call fcn.0051e330
add esp, 4
mov ebx, dword [ebp + 8]
cmp esi, ebx
jne 0x50e56f
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x50e543
mov edi, dword [ebp - 8]
mov eax, dword [edi + 0x44]
mov ecx, dword [0x631438]
xor edx, edx
cmp edx, eax
sbb eax, eax
neg eax
add eax, ecx
jne 0x50e4d8
push 0x620ad0
call fcn.004e70c0
add esp, 4
push 0x7e2
push str.C:4017_buildmysql_4.0.17innobasedictdict0dict.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:__ref_table__referenced_list_.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 ecx, dword [0x631440]
mov dword [0x63143c], 1
mov eax, dword [ecx]
add esp, 0x2c
test eax, eax
je 0x50e4e1
mov dword [0x631440], 0
jmp 0x50e4e1
mov eax, dword [0x63143c]
test eax, eax
je 0x50e516
push 0x7e2
push str.C:4017_buildmysql_4.0.17innobasedictdict0dict.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
dec dword [edi + 0x44]
mov eax, dword [esi + 0x3c]
test eax, eax
je 0x50e528
mov edx, dword [esi + 0x38]
mov dword [eax + 0x38], edx
jmp 0x50e52e
mov eax, dword [esi + 0x38]
mov dword [edi + 0x4c], eax
mov eax, dword [esi + 0x38]
test eax, eax
je 0x50e53d
mov ecx, dword [esi + 0x3c]
mov dword [eax + 0x3c], ecx
jmp 0x50e543
mov edx, dword [esi + 0x3c]
mov dword [edi + 0x48], edx
mov ebx, dword [ebx]
mov eax, dword [ebx + 0x38]
test eax, eax
mov esi, dword [ebx + 0x18]
je 0x50e558
push ebx
call fcn.004edde0
add esp, 4
test esi, esi
je 0x50e56f
mov edi, dword [esi + 0x1c]
push esi
push ebx
call fcn.004edc60
add esp, 8
test edi, edi
mov esi, edi
jne 0x50e55c
pop edi
pop esi
mov eax, 0x26
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esi + 0x10], edi
mov dword [esi + 0x28], eax
mov edx, dword [edi + 0x38]
mov eax, dword [edi + 0x40]
inc edx
mov dword [edi + 0x38], edx
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], ebx
mov eax, dword [edi + 0x40]
cmp eax, ebx
je 0x50e59b
mov dword [eax + 0x34], esi
cmp dword [edi + 0x3c], ebx
mov dword [edi + 0x40], esi
jne 0x50e5a6
mov dword [edi + 0x3c], esi
pop edi
pop esi
mov eax, 0xa
pop ebx
mov esp, ebp
pop ebp
ret