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

Disassembly:
sub esp, 0x1e4
xor eax, eax
xorps xmm0, xmm0
push ebx
mov ebx, dword [esp + 0x1f0]
mov dword [esp + 0x98], eax
mov dword [esp + 0x48], eax
movlpd qword [esp + 0x40], xmm0
movlpd qword [esp + 0x28], xmm0
movlpd qword [esp + 0x1c], xmm0
test ebx, ebx
je 0x1000d3d8
push ebp
push esi
push 0x44
push eax
lea eax, [esp + 0x64]
push eax
call fcn.1001b2d0
push 0x44
xor esi, esi
lea eax, [esp + 0xb4]
push esi
push eax
call fcn.1001b2d0
mov ecx, dword [esp + 0x21c]
xor eax, eax
add esp, 0x18
test cl, cl
setne al
xor ebp, ebp
test cl, cl
mov dword [esp + 0xc8], eax
push 0x30
pop eax
cmovne ebp, eax
mov dword [esp + 0x2c], ebp
cmp ebx, 4
jae 0x1000cdcf
lea eax, [esp + 0xf0]
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x1fc]
mov dword [esp + 0x20], esi
mov dword [esp + 0x40], ecx
push edi
mov edi, ebx
test ebx, ebx
je 0x1000cc82
mov esi, dword [esp + 0x204]
mov ebp, eax
lea eax, [esp + 0x44]
push eax
mov eax, dword [esp + 0x34]
call dword [eax + 0x1004ff38]
pop ecx
test al, al
jne 0x1000cdf4
mov dword [ebp], esi
xor ecx, ecx
mov eax, dword [esp + 0x44]
mov dword [ebp + 4], eax
lea eax, [edi - 1]
cmp dword [esi], ecx
mov ecx, dword [esp + 0x24]
cmovne eax, edi
inc ecx
mov edi, eax
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x30]
add ebp, 0x40
add esi, 0x30
mov eax, dword [eax + 0x1004ff28]
add dword [esp + 0x44], eax
cmp ecx, ebx
jb 0x1000cc2f
mov ebp, dword [esp + 0x30]
mov ecx, dword [esp + 0x1f8]
xor eax, eax
cmp dword [ecx + 4], eax
je 0x1000d399
push ecx
lea eax, [esp + 0x64]
push eax
call fcn.1000e063
mov esi, eax
pop ecx
pop ecx
test esi, esi
js 0x1000d3c9
mov eax, dword [esp + 0x84]
imul ecx, eax, 0x30
add ecx, 0x1004ff20
cmp dword [esp + 0xcc], 1
mov dword [esp + 0x40], ecx
je 0x1000cce4
test eax, eax
je 0x1000cce4
push 0xd3f
push str.libmariadb_mariadb_dyncol.c
push str.new_header.format__dyncol_fmt_str__header.format__dyncol_fmt_num
call fcn.100296a3
add esp, 0xc
cmp dword [esp + 0x88], 0
je 0x1000d390
push dword [ebp + 0x1004ff44]
push 0x40
push ebx
push dword [esp + 0x48]
call fcn.1002ab50
mov eax, dword [esp + 0x8c]
add esp, 0x10
cmp dword [esp + 0xcc], 1
mov edi, eax
mov esi, dword [esp + 0x88]
mov dword [esp + 0xd0], esi
mov dword [esp + 0xc4], edi
jne 0x1000cdfc
cmp dword [esp + 0x84], 0
jne 0x1000cdfc
test eax, eax
je 0x1000cd6a
push 0xd4a
push str.libmariadb_mariadb_dyncol.c
push str.new_header.nmpool_size__0
call fcn.100296a3
mov esi, dword [esp + 0x94]
add esp, 0xc
mov edi, dword [esp + 0xc4]
mov ebp, dword [esp + 0x60]
mov dword [esp + 0x8c], ebp
mov byte [esp + 0x48], 1
test esi, esi
je 0x1000cda7
mov byte [esp + 0x48], 1
movzx eax, word [ebp]
push eax
call fcn.1000f376
add ebp, dword [esp + 0x78]
add edi, eax
mov dword [esp + 0xc8], edi
mov dword [esp + 0x90], ebp
pop ecx
sub esi, 1
jne 0x1000cd83
mov ebp, dword [esp + 0x30]
xor edx, edx
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x1f8]
mov eax, dword [eax]
add eax, dword [esp + 0x78]
add eax, dword [esp + 0x7c]
cmp eax, dword [ecx + 4]
jbe 0x1000ce04
or esi, 0xffffffff
jmp 0x1000d3c9
lea eax, [ebx + 1]
shl eax, 6
push eax
call fcn.10023776
mov dword [esp + 0x3c], eax
mov dword [esp + 0x54], eax
pop ecx
test eax, eax
jne 0x1000cc10
push 0xfffffffffffffffd
pop eax
jmp 0x1000d3d6
push 0xfffffffffffffffc
pop esi
jmp 0x1000d3c9
xor edx, edx
mov byte [esp + 0x48], dl
jmp 0x1000cdad
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x34]
test ebx, ebx
je 0x1000d12d
mov edi, dword [esp + 0x3c]
lea eax, [ebx - 1]
mov ecx, dword [esp + 0x38]
add edi, 0x3c
mov dword [esp + 0x58], eax
or esi, 0xffffffff
mov eax, dword [esp + 0x50]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], edx
cmp eax, dword [esp + 0x58]
jae 0x1000ce77
lea eax, [edi + 8]
push eax
lea eax, [edi - 0x38]
push eax
call dword [ebp + 0x1004ff34]
pop ecx
pop ecx
test eax, eax
je 0x1000cdf4
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, edi
push dword [esp + 0x208]
push dword [edi - 0x38]
mov dword [eax - 0x18], ecx
mov ecx, dword [esp + 0x28]
mov dword [eax - 0x24], ebx
mov ebx, dword [esp + 0x24]
mov dword [eax - 0x2c], ecx
mov ecx, dword [esp + 0x3c]
mov dword [eax - 0x20], ebx
mov dword [eax - 0x1c], edx
mov dword [eax - 0x28], ecx
xor eax, eax
mov dword [edi - 0x30], eax
lea eax, [esp + 0x68]
push eax
call fcn.1000dda3
mov ebx, dword [esp + 0x208]
add esp, 0xc
test al, al
je 0x1000cfe6
xor eax, eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x74]
add eax, dword [esp + 0x8c]
push eax
lea eax, [esp + 0x64]
push eax
call fcn.1000df7e
pop ecx
pop ecx
mov ecx, eax
mov dword [esp + 0x4c], ecx
cmp ecx, esi
je 0x1000d3c9
test ecx, ecx
js 0x1000d3c9
cmp dword [esp + 0xcc], 1
jne 0x1000cf56
cmp dword [esp + 0x84], 1
jne 0x1000cf43
lea eax, [esp + 0xec]
push eax
push dword [esp + 0x90]
lea eax, [esp + 0x68]
push eax
call fcn.1000f419
add esp, 0xc
test al, al
jne 0x1000d3c9
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x28], eax
jmp 0x1000cf5a
mov eax, dword [esp + 0x8c]
movzx eax, word [eax]
push eax
call fcn.1000f376
pop ecx
jmp 0x1000cf39
mov eax, dword [esp + 0x28]
mov edx, dword [edi - 0x3c]
cmp dword [edx], 0
jne 0x1000cf8c
add dword [esp + 0x20], esi
mov edx, dword [esp + 0x10]
adc dword [esp + 0x34], esi
sub dword [esp + 0x18], ecx
push 0
pop ecx
sbb dword [esp + 0x1c], ecx
sub edx, eax
mov ecx, dword [esp + 0x14]
push 0
pop eax
mov dword [edi], 2
sbb ecx, eax
jmp 0x1000cfdc
xor eax, eax
mov dword [edi], eax
push dword [esp + 0xcc]
push edx
call fcn.1000d829
mov dword [edi - 0x30], eax
pop ecx
pop ecx
cmp eax, esi
je 0x1000cdf4
sub eax, dword [esp + 0x4c]
add dword [esp + 0x18], eax
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push 0
pop eax
adc dword [esp + 0x1c], eax
cmp dword [esp + 0xcc], 1
jne 0x1000d001
mov eax, dword [edi - 0x38]
mov eax, dword [eax + 4]
sub eax, dword [esp + 0x28]
add edx, eax
push 0
pop eax
adc ecx, eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
jmp 0x1000d001
mov eax, dword [edi - 0x3c]
xor ecx, ecx
cmp dword [eax], ecx
jne 0x1000d0da
mov dword [edi], 3
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x8c]
mov dword [edi - 0x34], eax
add edi, 0x40
mov eax, dword [esp + 0x24]
inc eax
mov dword [esp + 0x24], eax
cmp eax, ebx
jb 0x1000ce55
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x3c]
mov ecx, ebx
mov ebp, dword [esp + 0x20]
shl ecx, 6
mov dword [ecx + esi + 0x10], ebp
mov ebp, dword [esp + 0x34]
mov dword [ecx + esi + 0x1c], eax
mov dword [ecx + esi + 0x14], ebp
mov ebp, dword [esp + 0x30]
mov dword [ecx + esi + 0x18], edi
mov dword [ecx + esi + 0x3c], 3
mov eax, dword [esp + 0x68]
mov dword [ecx + esi + 8], eax
mov eax, dword [esp + 0x88]
add eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x80]
mov dword [esp + 0xd0], eax
add ecx, edi
mov eax, dword [esp + 0xc4]
add eax, edx
mov dword [esp + 0xc8], ecx
cmp dword [esp + 0xcc], 0
mov dword [esp + 0xc4], eax
jne 0x1000d0ba
test eax, eax
je 0x1000d0ba
push 0xdd9
push str.libmariadb_mariadb_dyncol.c
push str.new_header.format___dyncol_fmt_num__new_header.nmpool_size__0
call fcn.100296a3
mov ecx, dword [esp + 0xd4]
add esp, 0xc
push ecx
call dword [ebp + 0x1004ff48]
pop ecx
mov ecx, eax
mov dword [esp + 0xb8], ecx
cmp ecx, dword [ebp + 0x1004ff2c]
jb 0x1000d152
push 0xfffffffffffffffe
jmp 0x1000cdf6
xor edx, edx
inc edx
add dword [esp + 0x20], edx
mov dword [edi], edx
push dword [esp + 0xcc]
adc dword [esp + 0x38], ecx
push eax
call fcn.1000d829
mov dword [edi - 0x30], eax
pop ecx
pop ecx
cmp eax, esi
je 0x1000cdf4
add dword [esp + 0x18], eax
push 0
pop eax
adc dword [esp + 0x1c], eax
cmp dword [esp + 0xcc], 1
jne 0x1000cff9
mov eax, dword [edi - 0x38]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
add edx, dword [eax + 4]
jmp 0x1000cfd7
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x50]
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], edi
mov dword [esp + 0x20], ecx
jmp 0x1000d027
mov eax, dword [esp + 0xcc]
cmp dword [esp + 0x84], eax
jne 0x1000d16d
cmp eax, 1
je 0x1000d16d
xor eax, eax
mov edi, eax
jmp 0x1000d170
xor edi, edi
inc edi
mov eax, dword [ebp + 0x1004ff24]
xorps xmm0, xmm0
mov edx, eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x40]
movlpd qword [esp + 0x58], xmm0
sub edx, dword [eax + 4]
sub edx, dword [esp + 0x70]
add edx, ecx
xor eax, eax
mov ebp, eax
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x5c]
lea ecx, [esi + 0x18]
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x14], eax
test edi, edi
jne 0x1000d26e
mov eax, edx
or eax, ebp
jne 0x1000d1c7
mov edx, dword [ecx - 8]
mov ebp, dword [ecx - 4]
jmp 0x1000d1fa
xor eax, eax
cmp ebp, eax
jl 0x1000d1eb
jg 0x1000d1d3
cmp edx, eax
jbe 0x1000d1e1
cmp dword [ecx - 4], eax
jl 0x1000d1f7
jg 0x1000d1fa
cmp dword [ecx - 8], eax
jb 0x1000d1f7
jmp 0x1000d1fa
cmp ebp, eax
jg 0x1000d1fa
jl 0x1000d1eb
cmp edx, eax
jae 0x1000d1fa
cmp dword [ecx - 4], eax
jl 0x1000d1fa
jg 0x1000d1f7
cmp dword [ecx - 8], eax
jbe 0x1000d1fa
xor edi, edi
inc edi
mov eax, dword [esp + 0x14]
or eax, esi
jne 0x1000d211
mov eax, dword [ecx]
mov esi, dword [ecx + 4]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], esi
jmp 0x1000d25a
mov eax, dword [esp + 0x10]
xor esi, esi
cmp eax, esi
jl 0x1000d234
jg 0x1000d225
mov esi, dword [esp + 0x14]
test esi, esi
je 0x1000d238
xor eax, eax
cmp dword [ecx + 4], eax
jl 0x1000d253
jg 0x1000d256
cmp dword [ecx], eax
jb 0x1000d253
jmp 0x1000d256
mov esi, dword [esp + 0x14]
test eax, eax
jg 0x1000d256
jl 0x1000d246
xor eax, eax
cmp esi, eax
jae 0x1000d256
jmp 0x1000d248
xor eax, eax
cmp dword [ecx + 4], eax
jl 0x1000d256
jg 0x1000d253
cmp dword [ecx], eax
jbe 0x1000d256
xor edi, edi
inc edi
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x40]
add ecx, 0x40
inc eax
mov dword [esp + 0x40], eax
cmp eax, ebx
jbe 0x1000d1b1
mov eax, dword [esp + 0xb8]
add eax, dword [esp + 0x24]
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x28], edi
mov edi, eax
imul edi, dword [esp + 0xd0]
cmp dword [esp + 0x28], 0
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], edi
jne 0x1000d2f1
mov eax, dword [esp + 0x1f8]
mov ecx, dword [eax + 4]
xor eax, eax
add ecx, dword [esp + 0x20]
adc eax, dword [esp + 0x34]
add ecx, dword [esp + 0x18]
adc eax, dword [esp + 0x1c]
cmp dword [esp + 0xa4], eax
jl 0x1000d2f1
jg 0x1000d2d3
mov eax, dword [esp + 0x1f8]
cmp dword [eax + 8], ecx
jb 0x1000d2f1
xor ecx, ecx
cmp ebp, ecx
jg 0x1000d315
jl 0x1000d2df
cmp edx, ecx
jae 0x1000d315
mov eax, dword [esp + 0x10]
cmp eax, ecx
jg 0x1000d2f1
mov ecx, dword [esp + 0x14]
jl 0x1000d31d
test ecx, ecx
je 0x1000d31d
push dword [esp + 0x48]
lea eax, [esp + 0xac]
push eax
lea eax, [esp + 0x68]
push eax
push ebx
push esi
push dword [esp + 0x20c]
call fcn.1000c7d6
jmp 0x1000d3c4
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
test ebp, ebp
jl 0x1000d333
jg 0x1000d327
test edx, edx
je 0x1000d333
test eax, eax
jl 0x1000d2f1
jg 0x1000d333
xor eax, eax
cmp ecx, eax
jb 0x1000d2f1
xor ecx, ecx
cmp ebp, ecx
jg 0x1000d2f1
jl 0x1000d33f
cmp edx, ecx
jae 0x1000d2f1
push dword [esp + 0x80]
mov ecx, dword [esp + 0xbc]
push dword [esp + 0x6c]
mov eax, dword [esp + 0x2c]
push ebx
push dword [esp + 0xdc]
add eax, ecx
push dword [esp + 0x98]
push edi
push eax
push ecx
push dword [esp + 0x98]
push dword [esp + 0x98]
push dword [esp + 0x98]
push esi
push dword [esp + 0x228]
call fcn.1000d3e0
add esp, 0x34
jmp 0x1000d3c7
mov ecx, dword [esp + 0x1f8]
xor eax, eax
mov esi, eax
test edi, edi
je 0x1000d3c9
cmp dword [ecx], eax
push dword [esp + 0x208]
sete al
movzx eax, al
push eax
push dword [esp + 0x20c]
push dword [esp + 0x20c]
push ebx
push ecx
call fcn.1000bf92
add esp, 0x18
mov esi, eax
push dword [esp + 0x54]
call fcn.1002375b
pop ecx
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1e4
ret