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

Disassembly:
sub esp, 0x20
push ebx
push ebp
push esi
mov esi, dword [esp + 0x38]
test esi, esi
push edi
mov dword [esp + 0x14], 0
jne 0x100a2aa1
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0x34]
push edi
push ebx
call fcn.100aaa40
add esp, 8
test eax, eax
je 0x100a2ac1
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
test byte [edi + 0x22], 0x10
je 0x100a2ad1
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
cmp dword [esp + 0x40], 0x63
jne 0x100a2af5
mov eax, dword [edi + 4]
test eax, eax
jl 0x100a2aed
xor eax, eax
mov al, byte [edi + 0x23]
cmp eax, 0x63
mov dword [esp + 0x40], eax
jne 0x100a2af5
mov dword [esp + 0x40], 2
mov eax, dword [esi + 0x28]
cmp word [eax], 1
je 0x100a2b08
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x100a2b19
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov ecx, dword [esi + 0x2c]
test ecx, ecx
je 0x100a2b2a
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov ecx, dword [esi + 0x38]
test ecx, ecx
je 0x100a2b3b
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov ecx, dword [esi + 0x30]
test ecx, ecx
je 0x100a2b4c
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov ecx, dword [esi + 0x48]
test ecx, ecx
je 0x100a2b5d
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov ecx, dword [esi + 0x3c]
test ecx, ecx
je 0x100a2b6e
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
test byte [esi + 6], 1
je 0x100a2b7e
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov esi, dword [esi]
cmp dword [esi], 1
je 0x100a2b8f
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov ecx, dword [esi + 8]
mov edx, dword [ecx]
cmp byte [edx], 0x71
je 0x100a2ba3
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
push ecx
push edx
push 0
push ebx
call fcn.1008c050
mov ebp, eax
add esp, 0x10
test ebp, ebp
mov dword [esp + 0x18], ebp
jne 0x100a2bc8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
cmp ebp, edi
jne 0x100a2bd6
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
test byte [ebp + 0x22], 0x10
je 0x100a2be6
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x100a2bf7
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov eax, dword [edi + 8]
mov ecx, dword [ebp + 8]
cmp eax, ecx
je 0x100a2c0b
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov ecx, dword [edi + 4]
mov edx, dword [ebp + 4]
cmp ecx, edx
je 0x100a2c1f
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
test eax, eax
mov dword [esp + 0x3c], 0
jle 0x100a2c95
xor esi, esi
mov edx, dword [ebp + 0xc]
mov ecx, dword [esp + 0x38]
lea eax, [esi + edx]
mov edx, dword [ecx + 0xc]
mov cl, byte [edx + esi + 0x16]
lea edi, [edx + esi]
mov dl, byte [eax + 0x16]
cmp cl, dl
jne 0x100a2a97
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 0x10]
push edx
push eax
call fcn.100a3080
add esp, 8
test eax, eax
je 0x100a2a97
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx + 0xc]
mov al, byte [edx + esi + 0x14]
test al, al
je 0x100a2c82
mov eax, dword [ebp + 0xc]
mov dl, byte [esi + eax + 0x14]
test dl, dl
je 0x100a2a97
mov eax, dword [esp + 0x3c]
mov edx, dword [ecx + 8]
inc eax
add esi, 0x18
cmp eax, edx
mov dword [esp + 0x3c], eax
jl 0x100a2c2d
mov ecx, dword [esp + 0x38]
mov edi, dword [ecx + 0x10]
test edi, edi
je 0x100a2ce4
mov al, byte [edi + 0x2c]
test al, al
je 0x100a2caf
mov dword [esp + 0x14], 1
mov esi, dword [ebp + 0x10]
test esi, esi
je 0x100a2a97
push esi
push edi
call fcn.100a30b0
add esp, 8
test eax, eax
jne 0x100a2cd5
mov esi, dword [esi + 0x14]
test esi, esi
je 0x100a2a97
jmp 0x100a2cba
test esi, esi
je 0x100a2a97
mov edi, dword [edi + 0x14]
test edi, edi
jne 0x100a2ca0
mov edx, dword [esp + 0x38]
mov eax, dword [edx + 0x2c]
test eax, eax
je 0x100a2d0a
push eax
mov eax, dword [ebp + 0x2c]
push eax
call fcn.1009ad70
add esp, 8
test eax, eax
je 0x100a2d0a
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov eax, dword [ebx]
mov ecx, dword [eax + 0x18]
test ecx, 0x4000000
je 0x100a2d2c
mov edx, dword [esp + 0x38]
mov esi, dword [edx + 0x24]
test esi, esi
je 0x100a2d2c
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
test ch, 0x10
je 0x100a2d3b
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x44]
push edx
push eax
call fcn.1008f800
mov edi, eax
push ebx
mov dword [esp + 0x28], edi
call fcn.100a5af0
push edi
push ebx
mov esi, eax
call fcn.1009e7b0
mov edi, dword [ebx + 0x48]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x58]
push ecx
lea ebp, [edi + 1]
push edx
push ebx
lea eax, [ebp + 1]
mov dword [ebx + 0x48], eax
call fcn.100a2140
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x58]
push 0x28
push eax
push ecx
push ebp
push ebx
call fcn.100a0e40
mov edx, dword [esp + 0x6c]
add esp, 0x34
mov eax, dword [edx + 4]
test eax, eax
jge 0x100a2da8
mov eax, edx
mov ecx, dword [eax + 0x10]
test ecx, ecx
jne 0x100a2dc8
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x100a2dc8
mov eax, dword [esp + 0x40]
cmp eax, 2
je 0x100a2dbe
cmp eax, 1
jne 0x100a2dc8
mov dword [esp + 0x20], 0
jmp 0x100a2df5
push 0
push ebp
push 0x48
push esi
call fcn.10095b10
push 0
push 0
push 1
push esi
mov dword [esp + 0x5c], eax
call fcn.10095b10
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x40], eax
push ecx
push esi
call fcn.10095b30
add esp, 0x28
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
push 0x27
push edx
push eax
push edi
push ebx
call fcn.100a0e40
push 0
push edi
push 0x48
push esi
call fcn.10095b10
push ebx
mov dword [esp + 0x54], eax
call fcn.10095b50
push ebx
mov dword [esp + 0x40], eax
call fcn.10095b50
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x3c], eax
add esp, 0x2c
mov eax, dword [ecx + 4]
test eax, eax
jl 0x100a2e91
mov edx, dword [esp + 0x10]
push edx
push edi
push 0x41
push esi
call fcn.10095b10
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x20]
push eax
push 0
push ebp
push 0x36
push esi
call fcn.10095170
mov ecx, dword [esp + 0x64]
push 0xfffffffffffffffe
push str.PRIMARY_KEY_must_be_unique
push ecx
push ebx
mov dword [esp + 0x58], eax
call fcn.1009e910
mov edx, dword [esp + 0x58]
push edx
push esi
call fcn.10095b30
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x64]
push eax
push ecx
push ebx
call fcn.100a21c0
add esp, 0x48
jmp 0x100a2ebb
mov edx, dword [esp + 0x38]
mov eax, dword [edx + 0x10]
test eax, eax
jne 0x100a2ea6
mov eax, dword [esp + 0x10]
push eax
push ebp
push 0x38
jmp 0x100a2eae
mov ecx, dword [esp + 0x10]
push ecx
push edi
push 0x41
push esi
call fcn.10095b10
add esp, 0x10
mov dword [esp + 0x3c], eax
mov ebx, dword [esp + 0x14]
push ebx
push edi
push 0x40
push esi
call fcn.10095b10
mov edx, dword [esp + 0x20]
push edx
push ebx
push ebp
push 0x39
push esi
call fcn.10095170
push 0xb
push esi
call fcn.10096040
mov ebx, dword [esp + 0x64]
push 0
mov eax, dword [ebx]
push eax
push 0xffffffffffffffff
push esi
call fcn.10089920
mov ecx, dword [esp + 0x78]
push ecx
push edi
push 0x5f
push esi
call fcn.10095b10
mov ebx, dword [ebx + 0x10]
add esp, 0x4c
test ebx, ebx
je 0x100a2ff6
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x10]
test eax, eax
mov dword [esp + 0x38], eax
je 0x100a2f3d
mov eax, dword [esp + 0x38]
push eax
push ebx
call fcn.100a30b0
add esp, 8
test eax, eax
jne 0x100a2f3d
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + 0x14]
test eax, eax
mov dword [esp + 0x38], eax
jne 0x100a2f1c
push 0
push edi
push 0x2d
push esi
call fcn.10095b10
push 0
push ebp
push 0x2d
push esi
call fcn.10095b10
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x54]
push edx
push eax
call fcn.1009ebb0
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x44]
push 0xfffffffffffffff0
push eax
mov eax, dword [edx + 0x28]
push ecx
push eax
push edi
push 0x27
push esi
call fcn.10095130
mov ecx, dword [esp + 0x78]
add esp, 0x44
push ebx
push ecx
call fcn.1009ebb0
mov edx, dword [esp + 0x4c]
push 0xfffffffffffffff0
push eax
mov eax, dword [ebx + 0x28]
push edx
push eax
push ebp
push 0x28
push esi
call fcn.10095130
push 0
push edi
push 0x48
push esi
call fcn.10095b10
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x70], eax
push ecx
push edi
push 0x3f
push esi
call fcn.10095b10
mov edx, dword [esp + 0x58]
add esp, 0x44
push 1
push edx
push ebp
push 0x61
push esi
call fcn.10095170
mov eax, dword [esp + 0x50]
inc eax
push eax
push edi
push 0x5f
push esi
call fcn.10095b10
mov ecx, dword [esp + 0x60]
push ecx
push esi
call fcn.10095b30
mov ebx, dword [ebx + 0x14]
add esp, 0x2c
test ebx, ebx
jne 0x100a2f0d
mov edx, dword [esp + 0x2c]
push edx
push esi
call fcn.10095b30
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x3c]
push eax
push ebx
call fcn.10095b80
mov ecx, dword [esp + 0x24]
push ecx
push ebx
call fcn.10095b80
push 0
push edi
push 0x2d
push esi
call fcn.10095b10
push 0
push ebp
push 0x2d
push esi
call fcn.10095b10
mov edi, dword [esp + 0x58]
add esp, 0x38
test edi, edi
je 0x100a3067
push 0
push 0
push 6
push esi
call fcn.10095b10
push edi
push esi
call fcn.10095b30
push 0
push ebp
push 0x2d
push esi
call fcn.10095b10
add esp, 0x28
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x20
ret