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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x124
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
mov ebx, edx
xor esi, esi
mov dword [esp + 0xc], ebx
xor eax, eax
mov dword [esp + 0x20], ecx
test edi, edi
jns 0x100d51bb
cmp dword [ecx + 0x104], eax
je 0x100d51bb
cmp dword [ecx + 0x118], ebx
jne 0x100d51bb
mov dword [esp + 0x14], eax
cmp dword [ebp + 0x18], eax
jne 0x100d512e
cmp dword [ebp + 0x1c], eax
je 0x100d5133
mov eax, 1
lea edx, [esp + 0x14]
push edx
mov edx, dword [ebp + 8]
push eax
push dword [ebp + 0x14]
push dword [ebp + 0x10]
call fcn.100e2a70
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x100d51b7
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x100d51b3
mov edx, dword [ebp + 0x20]
mov esi, dword [edx + 4]
mov eax, esi
and eax, 0x8000000f
jns 0x100d516e
dec eax
or eax, 0xfffffff0
add eax, 1
jne 0x100d51a6
mov eax, dword [edx]
mov dword [esp + 0x18], eax
call fcn.100cac40
test eax, eax
jne 0x100d5269
mov ecx, dword [esp + 0x18]
lea eax, [esi*4 + 0x40]
push 0
push eax
call fcn.1001e570
add esp, 8
test eax, eax
je 0x100d5269
mov edx, dword [ebp + 0x20]
mov dword [edx], eax
mov ecx, dword [edx + 4]
mov eax, dword [edx]
mov dword [eax + ecx*4], ebx
inc dword [edx + 4]
xor esi, esi
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x20]
cmp edi, 0xffffffff
je 0x100d5a83
test esi, esi
jne 0x100d5a83
mov dword [esp + 0x10], esi
lea eax, [esp + 0x10]
push esi
push eax
test edi, edi
jns 0x100d527a
lea edx, [esi + 0xd]
call fcn.100e0360
mov esi, eax
add esp, 8
test esi, esi
jne 0x100d52d0
mov ecx, dword [esp + 0x20]
mov eax, ebx
mov ebx, dword [esp + 0x10]
imul dword [ecx + 0x100]
mov esi, eax
mov ecx, edx
mov eax, dword [ebp + 8]
mov edx, 0x400
imul edx
shld ecx, esi, 0xa
shl esi, 0xa
add esi, eax
adc ecx, edx
push ecx
push esi
push 1
push ebx
call fcn.1004b120
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x1c]
imul dword [ecx + 0x100]
mov esi, eax
mov ecx, edx
mov eax, dword [ebp + 8]
mov edx, 0x400
shld ecx, esi, 0xa
imul edx
shl esi, 0xa
add esi, eax
adc ecx, edx
add esi, 0x3ff
adc ecx, 0
push ecx
push esi
push 2
push ebx
call fcn.1004b120
add esp, 0x20
mov dword [esp + 0x10], ebx
jmp 0x100d52e2
mov ecx, ebx
call fcn.100e2750
mov esi, 7
jmp 0x100d51b3
mov edx, 0xc
call fcn.100e0360
mov esi, eax
add esp, 8
test esi, esi
jne 0x100d52d0
mov ecx, dword [esp + 0x20]
mov eax, ebx
mov ebx, dword [esp + 0x10]
imul dword [ecx + 0x100]
mov esi, eax
mov ecx, edx
mov eax, dword [ebp + 8]
mov edx, 0x400
imul edx
shld ecx, esi, 0xa
shl esi, 0xa
add esi, eax
mov eax, edi
adc ecx, edx
cdq
add esi, eax
adc ecx, edx
push ecx
push esi
push 1
push ebx
call fcn.1004b120
add esp, 0x10
mov dword [esp + 0x10], ebx
jmp 0x100d52e2
mov ebx, dword [esp + 0x10]
mov edi, ebx
mov dword [esp + 0x10], edi
test esi, esi
jne 0x100d5a3c
xor edi, edi
test ebx, ebx
je 0x100d5a4f
cmp dword [ebx], edi
jne 0x100d5304
push str.API_called_with_finalized_prepared_statement
push 0x15
call fcn.10021490
add esp, 8
lea eax, [edi + 1]
jmp 0x100d5306
xor eax, eax
test eax, eax
jne 0x100d5a5e
mov eax, dword [ebx]
mov dword [esp + 0xc], eax
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100d5325
push eax
call dword [0x10165b48]
add esp, 4
mov ecx, ebx
call fcn.100498d0
mov esi, eax
cmp esi, 0x11
jne 0x100d5542
mov eax, edi
inc edi
mov dword [esp + 0x14], edi
cmp eax, 0x32
jge 0x100d5542
mov eax, dword [ebx + 0x20]
lea ecx, [esp + 0x44]
mov esi, dword [ebx]
mov edx, dword [ebx + 0xc8]
push 0
push ecx
mov dword [esp + 0x20], eax
mov ecx, esi
movzx eax, byte [ebx + 0x94]
push ebx
push eax
push 0xffffffffffffffff
call fcn.100931a0
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x100d5478
mov esi, dword [esp + 0x44]
lea edi, [esp + 0x48]
mov ecx, 0x3a
mov edx, ebx
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x44]
mov ecx, 0x3a
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x3a
lea esi, [esp + 0x48]
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x44]
mov eax, dword [ebx + 8]
mov ecx, dword [esi + 8]
mov dword [esi + 8], eax
mov eax, dword [ebx + 4]
mov dword [ebx + 8], ecx
mov ecx, dword [esi + 4]
mov dword [esi + 4], eax
mov eax, dword [ebx + 0xc8]
mov dword [ebx + 4], ecx
mov ecx, dword [esi + 0xc8]
mov dword [esi + 0xc8], eax
mov dword [ebx + 0xc8], ecx
mov ecx, esi
mov eax, dword [esi + 0xdc]
mov dword [ebx + 0xdc], eax
mov al, byte [esi + 0x94]
mov byte [ebx + 0x94], al
movups xmm0, xmmword [esi + 0xa4]
movups xmmword [ebx + 0xa4], xmm0
movups xmm0, xmmword [esi + 0xb4]
movups xmmword [ebx + 0xb4], xmm0
mov eax, dword [esi + 0xc4]
mov dword [ebx + 0xc4], eax
inc dword [ebx + 0xb8]
call fcn.1004b9c0
mov dword [esi + 0x24], 0
cmp byte [esi + 0x95], 1
jb 0x100d543f
mov ecx, esi
call fcn.10046900
mov ecx, esi
call fcn.100469e0
push ebx
call fcn.10048b40
add esp, 4
cmp dword [esp + 0x18], 0
jl 0x100d545d
mov byte [ebx + 0x93], 0xfe
mov ecx, ebx
call fcn.100498d0
mov esi, eax
cmp esi, 0x11
jne 0x100d5542
mov edi, dword [esp + 0x14]
jmp 0x100d5337
cmp edi, 7
jne 0x100d5484
mov ecx, esi
call fcn.1001eb60
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x124]
test ecx, ecx
jne 0x100d5496
xor esi, esi
jmp 0x100d54c9
movzx edx, word [ecx + 0x10]
mov eax, edx
and eax, 0x202
cmp eax, 0x202
jne 0x100d54b3
cmp byte [ecx + 0x12], 1
jne 0x100d54b3
mov esi, dword [ecx + 8]
jmp 0x100d54c5
test dl, 1
je 0x100d54bc
xor esi, esi
jmp 0x100d54c5
mov dl, 1
call fcn.10043350
mov esi, eax
mov eax, dword [esp + 0xc]
mov edx, dword [ebx + 0x7c]
test edx, edx
je 0x100d54d7
mov ecx, eax
call fcn.1001e3f0
mov edx, dword [esp + 0xc]
cmp byte [edx + 0x57], 0
jne 0x100d5595
test esi, esi
jne 0x100d54ed
xor eax, eax
jmp 0x100d552f
mov ecx, esi
lea eax, [ecx + 1]
mov dword [esp + 0x18], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d54f6
sub ecx, dword [esp + 0x18]
push 0
lea eax, [ecx + 1]
mov ecx, edx
push eax
mov dword [esp + 0x20], eax
call fcn.1001e890
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
je 0x100d552f
push dword [esp + 0x18]
push esi
push eax
call fcn.1012be10
mov eax, dword [esp + 0x20]
add esp, 0xc
mov ecx, dword [esp + 0xc]
mov edx, edi
mov dword [ebx + 0x7c], eax
call fcn.1001ec40
mov esi, eax
mov dword [ebx + 0x24], esi
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 0xc]
test eax, eax
je 0x100d5557
push eax
call dword [0x10165b50]
add esp, 4
cmp esi, 0x64
jne 0x100d5a38
mov eax, dword [ebx]
mov dword [esp + 0x14], 0
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100d557b
push eax
call dword [0x10165b48]
add esp, 4
mov ecx, dword [ebx + 0x78]
test ecx, ecx
je 0x100d55a6
mov eax, 1
cmp ax, word [ebx + 0x90]
jae 0x100d55a6
add ecx, 0x28
jmp 0x100d55be
mov esi, 7
mov dword [ebx + 0x7c], 0
mov dword [ebx + 0x24], esi
jmp 0x100d5546
mov ecx, dword [ebx]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.10022010
mov ecx, 0x10151958
movzx eax, word [ecx + 0x10]
test al, 0x24
je 0x100d55cd
mov esi, dword [ecx]
mov edi, dword [ecx + 4]
jmp 0x100d5606
test al, 8
je 0x100d55e0
movsd xmm0, qword [ecx]
call fcn.10042660
mov esi, eax
mov edi, edx
jmp 0x100d5606
test al, 0x12
je 0x100d55f5
cmp dword [ecx + 8], 0
je 0x100d55f5
call fcn.10042690
mov esi, eax
mov edi, edx
jmp 0x100d5606
xorps xmm0, xmm0
movlpd qword [esp + 0x18], xmm0
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov ecx, dword [ebx]
mov edx, dword [ebx + 0x24]
mov dword [esp + 0xc], esi
mov dword [esp + 0x24], edi
cmp byte [ecx + 0x57], 0
jne 0x100d5621
test edx, edx
jne 0x100d5621
xor eax, eax
jmp 0x100d5626
call fcn.1001ec40
mov dword [ebx + 0x24], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100d563c
push eax
call dword [0x10165b50]
add esp, 4
mov eax, dword [ebx]
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], edi
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100d5657
push eax
call dword [0x10165b48]
add esp, 4
mov ecx, dword [ebx + 0x78]
test ecx, ecx
je 0x100d5671
mov eax, 2
cmp ax, word [ebx + 0x90]
jae 0x100d5671
add ecx, 0x50
jmp 0x100d5689
mov ecx, dword [ebx]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.10022010
mov ecx, 0x10151958
movzx eax, word [ecx + 0x10]
test al, 0x24
je 0x100d5698
mov esi, dword [ecx]
mov edi, dword [ecx + 4]
jmp 0x100d56d1
test al, 8
je 0x100d56ab
movsd xmm0, qword [ecx]
call fcn.10042660
mov esi, eax
mov edi, edx
jmp 0x100d56d1
test al, 0x12
je 0x100d56c0
cmp dword [ecx + 8], 0
je 0x100d56c0
call fcn.10042690
mov esi, eax
mov edi, edx
jmp 0x100d56d1
xorps xmm0, xmm0
movlpd qword [esp + 0x18], xmm0
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov ecx, dword [ebx]
mov edx, dword [ebx + 0x24]
cmp byte [ecx + 0x57], 0
jne 0x100d56e4
test edx, edx
jne 0x100d56e4
xor eax, eax
jmp 0x100d56e9
call fcn.1001ec40
mov dword [ebx + 0x24], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100d56ff
push eax
call dword [0x10165b50]
add esp, 4
mov eax, dword [ebx]
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], edi
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100d571a
push eax
call dword [0x10165b48]
add esp, 4
mov ecx, dword [ebx + 0x78]
test ecx, ecx
je 0x100d5734
mov eax, 3
cmp ax, word [ebx + 0x90]
jae 0x100d5734
add ecx, 0x78
jmp 0x100d574c
mov ecx, dword [ebx]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.10022010
mov ecx, 0x10151958
movzx eax, word [ecx + 0x10]
test al, 0x24
je 0x100d575f
mov esi, dword [ecx + 4]
mov eax, dword [ecx]
mov dword [esp + 0x28], esi
jmp 0x100d579c
test al, 8
je 0x100d5772
movsd xmm0, qword [ecx]
call fcn.10042660
mov dword [esp + 0x28], edx
jmp 0x100d579c
test al, 0x12
je 0x100d5787
cmp dword [ecx + 8], 0
je 0x100d5787
call fcn.10042690
mov dword [esp + 0x28], edx
jmp 0x100d579c
xorps xmm0, xmm0
movlpd qword [esp + 0x18], xmm0
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [ebx]
mov edx, dword [ebx + 0x24]
mov dword [esp + 0x2c], eax
cmp byte [ecx + 0x57], 0
jne 0x100d57b3
test edx, edx
jne 0x100d57b3
xor eax, eax
jmp 0x100d57b8
call fcn.1001ec40
mov dword [ebx + 0x24], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100d57ce
push eax
call dword [0x10165b50]
add esp, 4
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100d57e1
push eax
call dword [0x10165b48]
add esp, 4
mov ecx, dword [ebx + 0x78]
mov esi, 4
test ecx, ecx
je 0x100d57fe
cmp si, word [ebx + 0x90]
jae 0x100d57fe
add ecx, 0xa0
jmp 0x100d5816
mov ecx, dword [ebx]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.10022010
mov ecx, 0x10151958
movzx eax, word [ecx + 0x10]
test al, 2
je 0x100d5829
cmp byte [ecx + 0x12], 1
jne 0x100d5829
mov edi, dword [ecx + 0xc]
jmp 0x100d5852
test al, 0x10
je 0x100d5841
mov edx, dword [ecx + 0xc]
test eax, 0x400
je 0x100d583d
mov edi, dword [ecx]
add edi, edx
jmp 0x100d5852
mov edi, edx
jmp 0x100d5852
test al, 1
je 0x100d5849
xor edi, edi
jmp 0x100d5852
mov dl, 1
call fcn.10043a90
mov edi, eax
mov ecx, dword [ebx]
mov edx, dword [ebx + 0x24]
cmp byte [ecx + 0x57], 0
jne 0x100d5865
test edx, edx
jne 0x100d5865
xor eax, eax
jmp 0x100d586a
call fcn.1001ec40
mov dword [ebx + 0x24], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100d5880
push eax
call dword [0x10165b50]
add esp, 4
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100d5893
push eax
call dword [0x10165b48]
add esp, 4
mov eax, dword [ebx + 0x78]
test eax, eax
je 0x100d58aa
cmp si, word [ebx + 0x90]
jae 0x100d58aa
add eax, 0xa0
jmp 0x100d58c2
mov ecx, dword [ebx]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.10022010
mov eax, 0x10151958
push eax
call fcn.10048ca0
mov ecx, dword [ebx]
add esp, 4
mov edx, dword [ebx + 0x24]
mov dword [esp + 0x18], eax
cmp byte [ecx + 0x57], 0
jne 0x100d58e2
test edx, edx
jne 0x100d58e2
xor eax, eax
jmp 0x100d58e7
call fcn.1001ec40
mov dword [ebx + 0x24], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100d58fd
push eax
call dword [0x10165b50]
add esp, 4
mov ecx, dword [esp + 0xc]
mov eax, ecx
mov esi, dword [esp + 0x24]
or eax, esi
je 0x100d5a0c
cmp dword [ebp + 0x10], 0
je 0x100d5a0c
mov edx, dword [esp + 0x18]
test edx, edx
je 0x100d5a0c
xor ecx, ecx
lea eax, [esp + 0x38]
cmp dword [ebp + 0x18], ecx
cmove eax, ecx
mov ecx, dword [esp + 0x20]
push eax
lea eax, [esp + 0x34]
push eax
push edi
push edx
push dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
call fcn.100d3520
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x100d5a38
cmp dword [ebp + 0x18], eax
jne 0x100d5974
cmp dword [ebp + 0x1c], eax
jne 0x100d5974
mov ecx, dword [esp + 0x30]
lea edx, [eax + 1]
mov esi, dword [esp + 0x34]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], esi
jmp 0x100d597e
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
xor edx, edx
lea eax, [esp + 0x14]
push eax
push edi
push dword [esp + 0x20]
mov edi, dword [ebp + 0x20]
push dword [esp + 0x34]
push dword [esp + 0x3c]
push dword [esp + 0x50]
push dword [esp + 0x50]
push esi
push ecx
mov ecx, dword [edi + 4]
inc ecx
call fcn.100e28d0
mov esi, eax
add esp, 0x24
test esi, esi
jne 0x100d5a38
mov esi, dword [edi + 4]
mov eax, esi
and eax, 0x8000000f
jns 0x100d59c6
dec eax
or eax, 0xfffffff0
add eax, 1
jne 0x100d59f0
mov edi, dword [edi]
call fcn.100cac40
test eax, eax
jne 0x100d5a2a
lea eax, [esi*4 + 0x40]
mov ecx, edi
push 0
push eax
call fcn.1001e570
add esp, 8
test eax, eax
je 0x100d5a2a
mov edi, dword [ebp + 0x20]
mov dword [edi], eax
mov edx, dword [edi + 4]
mov ecx, dword [edi]
mov eax, dword [esp + 0x14]
mov dword [ecx + edx*4], eax
mov eax, dword [esp + 0x10]
inc dword [edi + 4]
mov dword [esp + 0x10], eax
jmp 0x100d52e2
cmp dword [ebp + 0x18], 0
jne 0x100d597c
cmp dword [ebp + 0x1c], 0
jne 0x100d597c
mov edx, 1
jmp 0x100d597e
mov ecx, dword [esp + 0x14]
call fcn.100e2750
mov esi, 7
mov edi, dword [esp + 0x10]
test edi, edi
jne 0x100d5a87
cmp esi, 0x65
cmovne edi, esi
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.API_called_with_NULL_prepared_statement
push 0x15
call fcn.10021490
add esp, 8
push 0x10156d84
push 0x159e1
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call fcn.10021490
add esp, 0x14
mov esi, 0x15
jmp 0x100d5a38
xor edi, edi
jmp 0x100d5a3c
mov ebx, dword [edi]
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x100d5a9a
push eax
call dword [0x10165b48]
add esp, 4
cmp dword [edi + 0x8c], 0
jl 0x100d5ab7
jg 0x100d5aae
cmp dword [edi + 0x88], 0
jbe 0x100d5ab7
mov edx, edi
mov ecx, ebx
call fcn.100489a0
mov ecx, edi
call fcn.10046900
mov byte [edi + 0x95], 1
mov dword [edi + 0x20], 0xffffffff
mov dword [edi + 0x24], 0
mov word [edi + 0x92], 0xff02
mov dword [edi + 0x28], 0
mov dword [edi + 0x2c], 0
mov dword [edi + 0x1c], 1
mov dword [edi + 0x30], 0
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], 0
cmp byte [ebx + 0x57], 0
jne 0x100d5b14
test eax, eax
jne 0x100d5b14
xor edi, edi
jmp 0x100d5b1f
mov edx, eax
mov ecx, ebx
call fcn.1001ec40
mov edi, eax
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x100d5b30
push eax
call dword [0x10165b50]
add esp, 4
cmp esi, 0x65
cmovne edi, esi
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret