Function at 0x5b60f0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x49c
mov eax, dword [0x93e25c]
push ebx
mov ebx, dword [ebp + 0xc]
push esi
mov esi, dword [ebx]
push edi
mov dword [esp + 0x4a4], eax
xor eax, eax
mov ecx, 0x24
lea edi, [esp + 0x30]
rep stosd dword es:[edi], eax
mov ecx, 0xec
lea edi, [esp + 0xc0]
rep stosd dword es:[edi], eax
mov eax, dword [ebx + 4]
mov ecx, dword [eax]
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x98]
test eax, 0x4000000
mov dword [esp + 0x10], esi
mov dword [esp + 0x24], ecx
je 0x5b6152
mov dword [esp + 0x18], 0
jmp 0x5b615c
mov edx, dword [esi + 0x19c]
mov dword [esp + 0x18], edx
test eax, 0x400000
lea ecx, [esp + 0x30]
mov dword [esp + 0x1c], 1
mov dword [esp + 0x14], 0xffffffff
mov dword [esp + 0x434], ecx
jne 0x5b61af
mov edx, dword [ebp + 0x10]
push edx
push str.__recovering__with_keycache__MyISAM_table__s_n
call fcn.006d1d9e
mov ecx, dword [ebx + 4]
mov edx, dword [ecx]
lea eax, [esp + 0x47c]
push eax
push 0
push edx
call fcn.006313d0
push eax
push str.Data_records:__s_n
call fcn.006d1d9e
add esp, 0x1c
mov eax, dword [edi + 0x98]
or eax, 0x20000
mov dword [edi + 0x98], eax
mov ecx, dword [ebx]
test byte [ecx + 0x1f8], 0x24
je 0x5b61d4
or eax, 8
mov dword [edi + 0x98], eax
mov al, byte [edi + 0xa1]
test al, al
jne 0x5b61fc
mov edx, dword [edi + 0x68]
mov eax, dword [edi + 0x9c]
mov ecx, dword [0x8412d0]
push 0
push 0
push edx
push eax
push ecx
call fcn.005e3170
add esp, 0x14
mov edx, dword [esi + 0x19c]
mov ecx, dword [edi + 0x6c]
push 0x10
push 1
push 0
push edx
mov edx, dword [ebx + 0xe4]
push 1
push ecx
lea eax, [edi + 0x2b8]
push edx
push eax
mov dword [esp + 0x40], eax
call fcn.005ddd50
add esp, 0x20
test eax, eax
je 0x5b6241
mov ecx, 0x28
xor eax, eax
lea edi, [ebx + 0x130]
rep stosd dword es:[edi], eax
jmp 0x5b694c
mov eax, dword [ebp + 0x14]
test eax, eax
jne 0x5b6272
mov eax, dword [esp + 0x18]
mov ecx, dword [edi + 0x70]
push 0x30
push 1
push 0
push eax
push 2
push ecx
lea edx, [ebx + 0x130]
push 0xffffffffffffffff
push edx
call fcn.005ddd50
add esp, 0x20
test eax, eax
jne 0x5b694c
or dword [ebx + 0xe8], 0x10
mov eax, dword [esi + 0xf8]
push 0
push eax
call fcn.005d8b50
add esp, 8
test eax, eax
mov dword [esp + 0x448], eax
je 0x5b69df
lea ecx, [esp + 0x43c]
push ecx
push 0xffffffffffffffff
push ebx
call fcn.005ab940
add esp, 0xc
test eax, eax
je 0x5b69df
mov eax, dword [ebp + 0x14]
test eax, eax
jne 0x5b6381
mov edx, dword [edi + 0x2b0]
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x1b0]
push 0
push edx
push 0
push 6
push str..TMD
push 0x73a01c
push ecx
lea esi, [edi + 0xa6]
push esi
call fcn.005dc850
add esp, 0x14
push eax
call fcn.005ded30
add esp, 0x10
test eax, eax
mov dword [esp + 0x14], eax
jge 0x5b6315
push esi
push str.Cant_create_new_tempfile:__s
push edi
call fcn.004012fd
add esp, 0xc
jmp 0x5b694c
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x5b6346
mov edx, dword [ebx + 0xe4]
push str.datafile_header
push 0
push ecx
push 0
push 0
push edx
push eax
push edi
call fcn.005b23f0
add esp, 0x20
test eax, eax
jne 0x5b694c
mov eax, dword [esp + 0x14]
mov edx, dword [ebx]
or ecx, 0xffffffff
mov dword [edx + 0x50], ecx
mov dword [edx + 0x54], ecx
mov dword [ebx + 0x1b0], eax
test dword [edi + 0x98], 0x4000000
je 0x5b6381
mov ecx, dword [esp + 0x10]
mov esi, dword [ecx + 0x1f8]
and esi, 0xfffffffb
mov eax, esi
mov byte [ecx + 5], al
shr eax, 8
mov dword [ecx + 0x1f8], esi
mov byte [ecx + 4], al
mov esi, dword [esp + 0x20]
mov eax, dword [ebp + 8]
mov edx, dword [esp + 0x18]
mov ecx, 0x28
lea edi, [esp + 0xc8]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x60], eax
mov dword [esp + 0x5c], ebx
mov eax, dword [ecx + 0x19c]
xor ecx, ecx
push ecx
push 2
push ecx
mov dword [esp + 0x3fc], eax
mov dword [esp + 0x3f4], eax
mov eax, dword [ebx + 0xe4]
push ecx
push eax
mov dword [esp + 0x408], ecx
mov dword [esp + 0x400], ecx
mov dword [esp + 0x40c], edx
mov dword [esp + 0x410], ecx
call fcn.005e1d70
mov ecx, dword [ebp + 8]
mov edi, dword [esp + 0x24]
mov dword [ecx + 0x2c0], eax
mov dword [esp + 0x44], eax
xor eax, eax
mov dword [ecx + 0x2c4], edx
mov ecx, dword [ebp + 0x14]
add esp, 0x14
cmp ecx, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
sete al
mov ebx, edi
lea ecx, [esp + 0x30]
mov dword [esp + 0x34], edx
mov byte [esp + 0x18], al
mov byte [esp + 0x428], al
mov byte [esp + 0x429], 1
mov dword [esp + 0x48], 0xffffffff
call fcn.005b46d0
mov esi, dword [ebp + 0xc]
mov ecx, dword [esi + 4]
mov edx, dword [ecx + 4]
xor ebx, ebx
mov dword [edi + 0x48], ebx
mov eax, dword [esi + 4]
mov dword [eax + 4], ebx
mov ecx, dword [esi + 4]
mov dword [ecx], ebx
mov ecx, dword [ebp + 8]
mov dword [esp + 0x28], edx
mov edx, dword [esi + 4]
mov dword [edx + 8], ebx
mov dword [edx + 0xc], ebx
test byte [ecx + 0x98], 8
mov dword [esp + 0x2c], ebx
mov dword [ecx + 0x64], ebx
je 0x5b6480
mov byte [esp + 0x42a], 1
mov edx, dword [esi]
mov dword [esi + 0xec], 0x401
mov edi, dword [edx + 0x118]
xor eax, eax
cmp edi, ebx
jbe 0x5b64bd
mov edx, dword [esp + 0x10]
lea esp, [esp]
mov edi, dword [edx + 0x74]
mov dword [edi + eax*8], 0xffffffff
mov dword [edi + eax*8 + 4], 0xffffffff
mov edi, dword [esi]
inc eax
cmp eax, dword [edi + 0x118]
jb 0x5b64a0
mov edi, dword [esp + 0x10]
mov dl, byte [edi + 0x15]
xor eax, eax
cmp dl, bl
jbe 0x5b64eb
lea ebx, [ebx]
mov edx, dword [edi + 0x78]
mov dword [edx + eax*8], 0xffffffff
mov dword [edx + eax*8 + 4], 0xffffffff
movzx edx, byte [edi + 0x15]
inc eax
cmp eax, edx
jb 0x5b64d0
test byte [ecx + 0x98], 0x40
je 0x5b6525
mov ecx, dword [edi + 0x118]
cmp ecx, 0x40
jae 0x5b6513
mov eax, 1
xor edx, edx
call fcn.006cfb80
add eax, 0xffffffff
adc edx, 0xffffffff
jmp 0x5b6519
or eax, 0xffffffff
or edx, 0xffffffff
mov dword [edi + 0x90], eax
mov dword [edi + 0x94], edx
mov eax, dword [esi + 4]
mov ecx, dword [edi + 0xc8]
mov dword [eax + 0x18], ecx
mov edx, dword [edi + 0xcc]
mov dword [eax + 0x1c], edx
lea eax, [esp + 0xc0]
push eax
call fcn.005b25b0
add esp, 4
cmp eax, ebx
jne 0x5b669f
lea ecx, [esp + 0xc0]
push ecx
call fcn.005b1c30
add esp, 4
test eax, eax
je 0x5b666b
call fcn.005e0030
cmp dword [eax], 0x79
jne 0x5b6949
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 0xd4]
mov ecx, dword [esi + 0xd0]
lea edx, [esp + 0x48c]
push edx
push eax
push ecx
call fcn.006313d0
mov ecx, dword [esp + 0x40c]
add esp, 0xc
push eax
mov eax, dword [esp + 0x408]
lea edx, [esp + 0x478]
push edx
push eax
push ecx
call fcn.006313d0
mov edx, dword [esi + 0x10c]
mov ebx, dword [ebp + 8]
add esp, 0xc
push eax
inc edx
push edx
push str.Duplicate_key__2d_for_record_at__10s_against_new_record_at__10s
push ebx
call fcn.0040a2d1
mov eax, dword [ebx + 0x98]
add esp, 0x14
test eax, 0x10000000
je 0x5b6628
mov eax, dword [esp + 0x448]
mov ecx, dword [esi + 0x68]
mov edx, dword [esi + 0x10c]
push 0
push 0
push eax
push ecx
push edx
push esi
call fcn.005c29d0
mov ecx, dword [esi + 0x10c]
mov eax, dword [esi + 0x68]
imul ecx, ecx, 0x3c
mov edx, dword [edi + 0x18c]
push 0x8b0
push eax
mov eax, dword [ecx + edx + 0x1c]
push eax
push 0x93e3e8
call fcn.005cecc0
add esp, 0x28
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov eax, 1
add edx, eax
adc ecx, 0
mov dword [esp + 0x3c], ecx
mov ecx, dword [ebx + 0x98]
and ecx, 0x9000
cmp ecx, 0x8000
mov dword [esp + 0x38], edx
jne 0x5b6683
or dword [ebx + 0x98], 0x100000
mov dword [ebx + 0x84], eax
jmp 0x5b6949
lea edx, [esp + 0xc0]
push edx
call fcn.005b3490
add esp, 4
test eax, eax
jne 0x5b6949
lea eax, [esp + 0xc0]
push eax
call fcn.005b25b0
add esp, 4
test eax, eax
je 0x5b6552
xor ebx, ebx
cmp eax, ebx
jg 0x5b6949
mov ecx, dword [esp + 0x18]
push ecx
lea edx, [esp + 0x34]
push edx
call fcn.005b3fd0
add esp, 8
test eax, eax
jne 0x5b6949
mov eax, dword [ebp + 0xc]
add eax, 0x130
push 1
push eax
call fcn.005dd580
add esp, 8
test eax, eax
jne 0x5b6949
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x340]
test eax, eax
jl 0x5b6949
mov esi, ecx
mov eax, dword [esi + 0x98]
test eax, eax
jns 0x5b6713
push 0x93e3e8
push str.___________r
call fcn.006d079c
push 0x93e3e8
call fcn.006d188b
add esp, 0xc
mov ebx, dword [ebp + 0xc]
mov edx, dword [ebx + 4]
mov eax, dword [edx + 0x1c]
mov ecx, dword [edx + 0x18]
mov edx, dword [edi + 0x210]
push 0
push 0
push eax
push ecx
push edx
call fcn.005e81d0
add esp, 0x14
test eax, eax
je 0x5b6753
call fcn.005e0030
mov eax, dword [eax]
push eax
push str.Cant_change_size_of_indexfile__error:__d
push esi
call fcn.0040ad03
add esp, 0xc
jmp 0x5b6949
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x5b67bc
mov ecx, dword [ebx + 4]
mov edx, dword [ecx + 4]
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x3c]
add eax, ecx
mov ecx, dword [esp + 0x2c]
adc ecx, edi
xor edi, edi
cmp eax, edx
jne 0x5b677e
cmp ecx, edi
je 0x5b67bc
push str.Couldnt_fix_table_with_quick_recovery:_Found_wrong_number_of_deleted_records
push esi
call fcn.004012fd
push str.Run_recovery_again_without__q
push esi
call fcn.004012fd
mov eax, 1
mov dword [esp + 0x2c], eax
mov byte [esi + 0xa4], al
mov eax, dword [esi + 0x98]
add esp, 0x10
or eax, 0x100000
mov dword [esi + 0x98], eax
jmp 0x5b6949
test dword [esi + 0x98], 0x200000
mov edi, dword [esp + 0x24]
je 0x5b67dd
mov eax, dword [ebx + 4]
mov edx, dword [eax]
inc edx
cmp edx, edi
jae 0x5b67dd
mov dword [eax], edi
jmp 0x5b6941
mov eax, dword [ebp + 0x14]
test eax, eax
jne 0x5b6829
mov eax, dword [ebx + 0xe4]
push 0
push eax
call fcn.005dc1d0
mov ecx, dword [esp + 0x1c]
mov edx, dword [ebx + 4]
mov eax, dword [esp + 0x400]
mov dword [ebx + 0xe4], ecx
mov dword [edx + 0x20], eax
mov ecx, dword [esp + 0x404]
push 0
mov dword [edx + 0x24], ecx
call fcn.006d15df
mov edx, dword [esp + 0x1c]
add esp, 0xc
mov dword [edx + 0x9c], eax
jmp 0x5b6840
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x3f0]
mov dword [eax + 0x20], ecx
mov edx, dword [esp + 0x3f4]
mov dword [eax + 0x24], edx
test byte [esi + 0x98], 8
je 0x5b6852
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x64]
mov dword [eax + 0x28], ecx
test dword [esi + 0x98], 0x400000
jne 0x5b68b1
mov edx, dword [ebx + 4]
mov eax, dword [edx]
cmp edi, eax
je 0x5b6885
lea ecx, [esp + 0x474]
push ecx
push 0
push eax
call fcn.006313d0
push eax
push str.Data_records:__s_n
call fcn.006d1d9e
add esp, 0x14
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov edx, eax
or edx, ecx
je 0x5b68b1
lea edx, [esp + 0x474]
push edx
push ecx
push eax
call fcn.006313d0
push eax
push str._s_records_have_been_removed
push esi
call fcn.0040ad03
add esp, 0x18
mov eax, dword [esp + 0x10]
mov ebx, dword [ebx + 4]
add eax, 0x18
cmp eax, ebx
mov dword [esp + 0x1c], 0
je 0x5b68d2
mov ecx, 0xc
mov esi, ebx
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x14]
test eax, eax
jl 0x5b69f2
push 0
push eax
call fcn.005dc1d0
mov esi, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov edi, dword [esp + 0x18]
or ebx, 0xffffffff
mov dword [esi + 0xe4], ebx
mov edx, dword [ecx + 0x98]
mov eax, dword [edi + 0x13c]
mov ecx, dword [edi + 0x1b0]
and edx, 4
shl edx, 6
push edx
push eax
push str..TMD
push str..MYD
push ecx
mov dword [esp + 0x30], ebx
call fcn.005b22e0
add esp, 0x1c
test eax, eax
jne 0x5b6941
push ebx
push edi
push esi
call fcn.005ad680
add esp, 0xc
test eax, eax
je 0x5b69f6
mov dword [esp + 0x1c], 1
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x84]
test eax, eax
jne 0x5b698f
call fcn.005e0030
mov ecx, dword [esp + 0x400]
lea edx, [esp + 0x474]
mov esi, eax
mov eax, dword [esp + 0x404]
push edx
push eax
push ecx
call fcn.006313d0
mov edx, dword [esi]
push eax
push edx
push str._d_for_record_at_pos__s
push edi
call fcn.004012fd
add esp, 0x1c
mov eax, dword [esp + 0x14]
test eax, eax
jl 0x5b69c1
push 0
push eax
call fcn.005dc1d0
mov eax, dword [ebx]
mov ecx, dword [eax + 0x13c]
push ecx
add edi, 0xa6
push edi
call fcn.005e8350
add esp, 0x10
mov dword [ebx + 0x1b0], 0xffffffff
mov eax, dword [ebx]
mov cl, byte [eax + 0xb4]
mov edi, dword [esp + 0x10]
or cl, 6
mov byte [eax + 0xb4], cl
or dword [ebx + 0xec], 1
jmp 0x5b69f9
push str.Not_enough_memory_for_extra_record
push edi
call fcn.004012fd
add esp, 8
jmp 0x5b694c
mov edi, dword [esp + 0x10]
mov ebx, dword [ebp + 0xc]
mov edx, dword [ebx]
test byte [edx + 0x1f8], 1
mov eax, dword [esp + 0x43c]
je 0x5b6a12
test eax, eax
je 0x5b6a12
add eax, 0xffffffe8
push eax
call fcn.005d8be0
mov eax, dword [esp + 0x44c]
push eax
call fcn.005d8be0
mov ecx, dword [esp + 0x6c]
push ecx
call fcn.005d8be0
mov edx, dword [esp + 0x2c]
push edx
call fcn.005dd750
and dword [ebx + 0xe8], 0xffffffed
add ebx, 0x130
push ebx
call fcn.005dd750
mov eax, dword [edi + 0x210]
mov esi, dword [edi + 0x1bc]
push 1
push eax
push esi
call fcn.005e4330
add esp, 0x20
test eax, eax
je 0x5b6a88
call fcn.005e0030
mov eax, dword [eax]
mov ecx, dword [ebp + 8]
push eax
push str._d_when_trying_to_write_bufferts
push ecx
call fcn.004012fd
add esp, 0xc
mov ecx, 1
jmp 0x5b6aa2
mov edx, dword [ebp + 8]
mov al, byte [edx + 0xa1]
test al, al
jne 0x5b6aa0
push 1
push esi
call fcn.005e3530
add esp, 8
xor ecx, ecx
mov eax, dword [esp + 0x1c]
or eax, ecx
jne 0x5b6ad1
mov ecx, dword [ebp + 8]
test dword [ecx + 0x98], 0x4000000
je 0x5b6ad1
and byte [edi + 4], 0xfb
mov dword [edi + 0x19c], 0
mov edx, dword [esp + 0x58]
mov dword [edi + 0x234], edx
or byte [edi + 0xb4], 0x38
mov ecx, dword [esp + 0x4a4]
call fcn.006cedd0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret