Function at 0x42077a
Capabilities:
Log keystrokes via polling
Reference sql statements

Disassembly:
push ebp
push ebx
push edi
mov edx, 0x15
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x420782
call fcn.0048d6d0
push dword [0x8f9c28]
call fcn.0042fde8
and eax, eax
je 0x4207a8
jmp 0x421f85
mov dword [esp], 0
push 0x11
call sub.USER32.dll_GetKeyState
mov ebx, eax
cmp ebx, 1
jle 0x4207c7
mov dword [esp], 1
push 1
push 0x5b
call fcn.00479110
push 1
push 0x48
call fcn.00479110
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
push 0
mov eax, str.Database__.db_.dbAll_files__._.
push eax
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
call fcn.0044d027
call fcn.0042e5e2
add dword [esp], edx
call fcn.0047db27
mov edx, 0x5d9686
push edx
call fcn.0048d570
call fcn.0048d660
push dword [0x8f9a44]
call fcn.0042e5e2
add dword [esp + 4], edx
call fcn.004326c1
lea eax, [esp + 8]
push eax
call fcn.0048d5d0
mov edx, dword [esp + 4]
xor ecx, ecx
call fcn.0042e590
jne 0x421f56
push 1
call fcn.0040e3ec
push 2
mov eax, 0x5cf064
push eax
mov eax, 0x5cf064
push eax
push dword [esp + 0x10]
push 0xffffffff
call fcn.0047f1a2
mov dword [esp + 8], eax
mov ebx, dword [esp + 8]
and ebx, ebx
jne 0x4208eb
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
call fcn.0047f041
call fcn.0048d660
mov eax, str.Keys_base
push eax
call fcn.0042e5e2
add dword [esp + 4], edx
call fcn.004325e8
call fcn.0042e610
jmp 0x421f85
push 7
push 0x5de4fc
lea eax, [esp + 0x14]
push eax
push 0x48
call fcn.00486c28
mov eax, str.Begin_Transaction
push eax
push dword [esp + 0xc]
call fcn.0047f005
mov ebx, eax
and ebx, ebx
jne 0x42095c
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
mov edx, str.Begin_Transaction_error
push edx
call fcn.0048d570
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
call fcn.0047f041
pop eax
call fcn.0042e5e2
add dword [esp], edx
call fcn.004200c8
call fcn.0042e610
mov eax, str.SELECT_key__KeyStatus__ProductID__ExtendedPID__SKUID__Description__EditionID__SubType__LicenseType__Channel__CryptoID__ActivCount__Blocked__Comment__Lic__ActivVal_FROM_keys_WHERE_NOT_key
push eax
push dword [esp + 0xc]
call fcn.0047f11d
mov ebx, eax
and ebx, ebx
je 0x420c11
push dword [esp + 8]
call fcn.0047f12f
and eax, eax
je 0x420c08
push dword [esp + 0xc]
call fcn.00486cba
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
push 0
push dword [esp + 0x14]
call fcn.0047f157
mov ebp, dword [esp + 0x14]
lea eax, [ebp + 0xc]
push eax
call fcn.0048d5d0
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
push 1
push dword [esp + 0x14]
call fcn.0047f157
lea eax, [ebp + 0x10]
push eax
call fcn.0048d5d0
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
push 2
push dword [esp + 0x14]
call fcn.0047f157
lea eax, [ebp + 0x14]
push eax
call fcn.0048d5d0
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
push 3
push dword [esp + 0x14]
call fcn.0047f157
lea eax, [ebp + 0x18]
push eax
call fcn.0048d5d0
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
push 4
push dword [esp + 0x14]
call fcn.0047f157
lea eax, [ebp + 0x1c]
push eax
call fcn.0048d5d0
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
push 5
push dword [esp + 0x14]
call fcn.0047f157
lea eax, [ebp + 0x20]
push eax
call fcn.0048d5d0
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
push 6
push dword [esp + 0x14]
call fcn.0047f157
lea eax, [ebp + 0x24]
push eax
call fcn.0048d5d0
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
push 7
push dword [esp + 0x14]
call fcn.0047f157
lea eax, [ebp + 0x28]
push eax
call fcn.0048d5d0
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
push 8
push dword [esp + 0x14]
call fcn.0047f157
lea eax, [ebp + 0x2c]
push eax
call fcn.0048d5d0
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
push 9
push dword [esp + 0x14]
call fcn.0047f157
lea eax, [ebp + 0x30]
push eax
call fcn.0048d5d0
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
push 0xa
push dword [esp + 0x14]
call fcn.0047f157
lea eax, [ebp + 0x34]
push eax
call fcn.0048d5d0
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
push 0xb
push dword [esp + 0x14]
call fcn.0047f157
lea eax, [ebp + 0x38]
push eax
call fcn.0048d5d0
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
push 0xc
push dword [esp + 0x14]
call fcn.0047f157
lea eax, [ebp + 0x3c]
push eax
call fcn.0048d5d0
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
push 0xd
push dword [esp + 0x14]
call fcn.0047f157
lea eax, [ebp + 0x40]
push eax
call fcn.0048d5d0
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
push 0xe
push dword [esp + 0x14]
call fcn.0047f157
lea eax, [ebp + 0x44]
push eax
call fcn.0048d5d0
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
push 0xf
push dword [esp + 0x14]
call fcn.0047f157
lea eax, [ebp + 0x48]
push eax
call fcn.0048d5d0
jmp 0x420975
push dword [esp + 8]
call fcn.0047f184
mov eax, str.Commit
push eax
push dword [esp + 0xc]
call fcn.0047f005
mov ebx, eax
and ebx, ebx
jne 0x420c69
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
mov edx, str.Commit_error
push edx
call fcn.0048d570
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
call fcn.0047f041
pop eax
call fcn.0042e5e2
add dword [esp], edx
call fcn.004200c8
call fcn.0042e610
push dword [esp + 8]
call fcn.0047ef1a
push 0
call fcn.0040e4c7
mov eax, 0x200
push eax
lea eax, [esp + 0x18]
push eax
push 0x5de4d4
push 8
push 4
call fcn.0047c4f2
mov eax, str.SELECT_key__Description__ActivCount__Blocked__Comment_FROM_keys_WHERE_NOT_key
push eax
push dword [0x8f9c5c]
call fcn.0047f11d
mov ebx, eax
and ebx, ebx
je 0x420f33
mov eax, str.Begin_Transaction
push eax
push dword [0x8f9c5c]
call fcn.0047f005
mov ebx, eax
and ebx, ebx
jne 0x420d10
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
mov edx, str.Begin_Transaction_error
push edx
call fcn.0048d570
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
call fcn.0047f041
pop eax
call fcn.0042e5e2
add dword [esp], edx
call fcn.004200c8
call fcn.0042e610
push dword [0x8f9c5c]
call fcn.0047f12f
and eax, eax
je 0x420ece
mov edx, 0x5cf9ec
lea ecx, [esp + 0x18]
call fcn.0042e008
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
push 0
push dword [0x8f9c5c]
call fcn.0047f157
lea eax, [esp + 0x20]
push eax
call fcn.0048d5d0
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
push 1
push dword [0x8f9c5c]
call fcn.0047f157
lea eax, [esp + 0x24]
push eax
call fcn.0048d5d0
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
push 2
push dword [0x8f9c5c]
call fcn.0047f157
lea eax, [esp + 0x28]
push eax
call fcn.0048d5d0
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
push 3
push dword [0x8f9c5c]
call fcn.0047f157
lea eax, [esp + 0x2c]
push eax
call fcn.0048d5d0
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
push 4
push dword [0x8f9c5c]
call fcn.0047f157
lea eax, [esp + 0x30]
push eax
call fcn.0048d5d0
push dword [esp + 0x20]
mov edx, 0x5cf064
pop ecx
call fcn.0042e590
je 0x420e3d
push edx
call fcn.0048d530
pop edx
push eax
mov edx, 0x5d0882
push edx
call fcn.0048d570
mov edx, dword [esp + 0x30]
push edx
call fcn.0048d570
lea eax, [esp + 0x1c]
push eax
call fcn.0048d5d0
jmp 0x420e95
push dword [esp + 0x24]
mov edx, str.Key_Blocked_
pop ecx
call fcn.0042e590
jne 0x420e61
push dword [esp + 0x28]
mov edx, str.Key_Blocked_
pop ecx
call fcn.0042e590
jne 0x420e61
jmp 0x420e68
mov eax, 1
jmp 0x420e6a
xor eax, eax
and eax, eax
je 0x420e95
push edx
call fcn.0048d530
pop edx
push eax
mov edx, 0x5d058a
push edx
call fcn.0048d570
mov edx, dword [esp + 0x30]
push edx
call fcn.0048d570
lea eax, [esp + 0x1c]
push eax
call fcn.0048d5d0
mov edx, dword [esp + 0x18]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
mov edx, dword [esp + 0x30]
push edx
call fcn.0048d570
push dword [esp + 0x20]
push dword [esp + 0x1c]
call fcn.0047c6cc
mov ebp, eax
lea eax, [ebp]
push eax
call fcn.0048d5d0
jmp 0x420d10
mov eax, str.Commit
push eax
push dword [0x8f9c5c]
call fcn.0047f005
mov ebx, eax
and ebx, ebx
jne 0x420f28
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
mov edx, str.Commit_error
push edx
call fcn.0048d570
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
call fcn.0047f041
pop eax
call fcn.0042e5e2
add dword [esp], edx
call fcn.004200c8
call fcn.0042e610
push dword [0x8f9c5c]
call fcn.0047f184
push dword [esp + 0x14]
call fcn.0047c6ee
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
push edx
call fcn.0048d530
pop edx
push eax
mov edx, dword [0x8f9d10]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
mov edx, 0x5cfe48
push edx
call fcn.0048d570
call fcn.0042e5e2
add dword [esp], edx
call fcn.0040d182
call fcn.0042e610
call fcn.0047e7e8
mov dword [esp + 0x3c], eax
mov eax, str.Begin_Transaction
push eax
push dword [0x8f9c5c]
call fcn.0047f005
mov ebx, eax
and ebx, ebx
jne 0x420fec
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
mov edx, str.Begin_Transaction_error
push edx
call fcn.0048d570
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
call fcn.0047f041
pop eax
call fcn.0042e5e2
add dword [esp], edx
call fcn.004200c8
call fcn.0042e610
push dword [esp + 0xc]
call fcn.00486d62
push dword [esp + 0xc]
call fcn.00486d77
or eax, eax
je 0x421ed6
mov edx, str.keys
lea ecx, [esp + 0x40]
call fcn.0042e008
mov ebp, dword [esp + 0x10]
push dword [ebp + 0xc]
push dword [esp + 0x18]
call fcn.0047c641
and eax, eax
je 0x4216e4
mov ebx, dword [esp + 0x34]
inc ebx
mov dword [esp + 0x34], ebx
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
push 1
push 1
mov ebp, dword [esp + 0x20]
push dword [ebp + 0xc]
push dword [esp + 0x28]
call fcn.0047c6cc
mov ebp, eax
push dword [ebp]
call fcn.0048aef0
lea eax, [esp + 0x1c]
push eax
call fcn.0048d5d0
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
push 2
mov ebp, dword [esp + 0x1c]
push dword [ebp + 0xc]
push dword [esp + 0x24]
call fcn.0047c6cc
mov ebp, eax
push dword [ebp]
call fcn.0048af80
lea eax, [esp + 0x30]
push eax
call fcn.0048d5d0
push dword [esp + 0x18]
mov edx, 0x5d0882
pop ecx
call fcn.0042e590
je 0x4210d8
mov ebp, dword [esp + 0x10]
push dword [ebp + 0x20]
mov edx, 0x5cf064
pop ecx
call fcn.0042e590
jne 0x4210d8
mov eax, 1
jmp 0x4210da
xor eax, eax
and eax, eax
je 0x4214d7
push edx
call fcn.0048d530
pop edx
push eax
mov edx, str.UPDATE
push edx
call fcn.0048d570
mov edx, dword [esp + 0x44]
push edx
call fcn.0048d570
mov edx, str._SET_KeyStatus
push edx
call fcn.0048d570
mov ebp, dword [esp + 0x14]
mov edx, dword [ebp + 0x10]
push edx
call fcn.0048d570
mov edx, 0x5dd098
push edx
call fcn.0048d570
lea eax, [esp + 0x48]
push eax
call fcn.0048d5d0
mov edx, dword [esp + 0x44]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
mov edx, str.ProductID
push edx
call fcn.0048d570
mov edx, dword [ebp + 0x14]
push edx
call fcn.0048d570
mov edx, 0x5dd098
push edx
call fcn.0048d570
lea eax, [esp + 0x48]
push eax
call fcn.0048d5d0
mov edx, dword [esp + 0x44]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
mov edx, str.ExtendedPID
push edx
call fcn.0048d570
mov edx, dword [ebp + 0x18]
push edx
call fcn.0048d570
mov edx, 0x5dd098
push edx
call fcn.0048d570
lea eax, [esp + 0x48]
push eax
call fcn.0048d5d0
mov edx, dword [esp + 0x44]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
mov edx, str.SKUID
push edx
call fcn.0048d570
mov edx, dword [ebp + 0x1c]
push edx
call fcn.0048d570
mov edx, 0x5dd098
push edx
call fcn.0048d570
lea eax, [esp + 0x48]
push eax
call fcn.0048d5d0
mov edx, dword [esp + 0x44]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
mov edx, str.Description
push edx
call fcn.0048d570
mov edx, dword [ebp + 0x20]
push edx
call fcn.0048d570
mov edx, 0x5dd098
push edx
call fcn.0048d570
lea eax, [esp + 0x48]
push eax
call fcn.0048d5d0
mov edx, dword [esp + 0x44]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
mov edx, str.EditionID
push edx
call fcn.0048d570
mov edx, dword [ebp + 0x24]
push edx
call fcn.0048d570
mov edx, 0x5dd098
push edx
call fcn.0048d570
lea eax, [esp + 0x48]
push eax
call fcn.0048d5d0
mov edx, dword [esp + 0x44]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
mov edx, 0x5d1ba8
push edx
call fcn.0048d570
mov edx, dword [ebp + 0x28]
push edx
call fcn.0048d570
mov edx, 0x5dd098
push edx
call fcn.0048d570
lea eax, [esp + 0x48]
push eax
call fcn.0048d5d0
mov edx, dword [esp + 0x44]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
mov edx, str.LicenseType
push edx
call fcn.0048d570
mov edx, dword [ebp + 0x2c]
push edx
call fcn.0048d570
mov edx, 0x5dd098
push edx
call fcn.0048d570
lea eax, [esp + 0x48]
push eax
call fcn.0048d5d0
mov edx, dword [esp + 0x44]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
mov edx, str.Channel
push edx
call fcn.0048d570
mov edx, dword [ebp + 0x30]
push edx
call fcn.0048d570
mov edx, 0x5dd098
push edx
call fcn.0048d570
lea eax, [esp + 0x48]
push eax
call fcn.0048d5d0
mov edx, dword [esp + 0x44]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
mov edx, str.CryptoID
push edx
call fcn.0048d570
mov edx, dword [ebp + 0x34]
push edx
call fcn.0048d570
mov edx, 0x5dd098
push edx
call fcn.0048d570
lea eax, [esp + 0x48]
push eax
call fcn.0048d5d0
mov edx, dword [esp + 0x44]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
mov edx, str.ActivCount
push edx
call fcn.0048d570
mov edx, dword [ebp + 0x38]
push edx
call fcn.0048d570
mov edx, 0x5dd098
push edx
call fcn.0048d570
lea eax, [esp + 0x48]
push eax
call fcn.0048d5d0
mov edx, dword [esp + 0x44]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
mov edx, 0x5d10ec
push edx
call fcn.0048d570
mov edx, dword [ebp + 0x3c]
push edx
call fcn.0048d570
mov edx, 0x5dd098
push edx
call fcn.0048d570
lea eax, [esp + 0x48]
push eax
call fcn.0048d5d0
mov edx, dword [esp + 0x44]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
mov edx, 0x5cf292
push edx
call fcn.0048d570
mov edx, dword [ebp + 0x40]
push edx
call fcn.0048d570
mov edx, 0x5dd098
push edx
call fcn.0048d570
lea eax, [esp + 0x48]
push eax
call fcn.0048d5d0
mov edx, dword [esp + 0x44]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
mov edx, str.Lic
push edx
call fcn.0048d570
mov edx, dword [ebp + 0x44]
push edx
call fcn.0048d570
mov edx, 0x5dd098
push edx
call fcn.0048d570
lea eax, [esp + 0x48]
push eax
call fcn.0048d5d0
mov edx, dword [esp + 0x44]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
mov edx, str.ActivVal
push edx
call fcn.0048d570
mov edx, dword [ebp + 0x48]
push edx
call fcn.0048d570
mov edx, 0x5d5aa4
push edx
call fcn.0048d570
lea eax, [esp + 0x48]
push eax
call fcn.0048d5d0
mov edx, dword [esp + 0x44]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
mov edx, str.WHERE_key
push edx
call fcn.0048d570
mov edx, dword [ebp + 0xc]
push edx
call fcn.0048d570
mov edx, 0x5cf830
push edx
call fcn.0048d570
lea eax, [esp + 0x48]
push eax
call fcn.0048d5d0
push dword [esp + 0x44]
push dword [0x8f9c5c]
call fcn.0047f005
mov ebx, eax
and ebx, ebx
jne 0x4214b6
mov ebp, dword [esp + 0x10]
push dword [ebp + 0x3c]
push dword [ebp + 0x44]
push dword [ebp + 0x20]
push dword [esp + 0x4c]
push dword [0x8f9c5c]
call fcn.00416466
jmp 0x4216df
push dword [esp + 0x18]
mov edx, 0x5d058a
pop ecx
call fcn.0042e590
jne 0x421503
mov ebp, dword [esp + 0x10]
push dword [ebp + 0x3c]
mov edx, str.Key_Blocked_
pop ecx
call fcn.0042e590
je 0x421503
mov eax, 1
jmp 0x421505
xor eax, eax
and eax, eax
je 0x421623
mov ebx, dword [esp]
and ebx, ebx
jle 0x4215c9
push dword [esp + 0x2c]
mov ebp, dword [esp + 0x14]
mov edx, dword [ebp + 0x40]
pop ecx
call fcn.0042e590
jne 0x4215c9
push edx
call fcn.0048d530
pop edx
push eax
mov edx, str.UPDATE
push edx
call fcn.0048d570
mov edx, dword [esp + 0x44]
push edx
call fcn.0048d570
mov edx, str._SET_Comment
push edx
call fcn.0048d570
mov ebp, dword [esp + 0x14]
mov edx, dword [ebp + 0x40]
push edx
call fcn.0048d570
mov edx, 0x5d5aa4
push edx
call fcn.0048d570
lea eax, [esp + 0x48]
push eax
call fcn.0048d5d0
mov edx, dword [esp + 0x44]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
mov edx, str.WHERE_key
push edx
call fcn.0048d570
mov edx, dword [ebp + 0xc]
push edx
call fcn.0048d570
mov edx, 0x5cf830
push edx
call fcn.0048d570
lea eax, [esp + 0x48]
push eax
call fcn.0048d5d0
push dword [esp + 0x44]
push dword [0x8f9c5c]
call fcn.0047f005
mov ebx, eax
and ebx, ebx
jne 0x4215c9
mov ebp, dword [esp + 0x10]
push dword [ebp + 0xc]
push dword [0x8f9c5c]
call fcn.004176d8
push edx
call fcn.0048d530
pop edx
push eax
mov ebp, dword [esp + 0x14]
mov edx, dword [ebp + 0xc]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
mov edx, 0x5cf7bc
push edx
call fcn.0048d570
mov edx, dword [ebp + 0x3c]
push edx
call fcn.0048d570
call fcn.0042e5e2
add dword [esp], edx
call fcn.0040d182
call fcn.0042e610
jmp 0x4216df
mov ebx, dword [esp]
and ebx, ebx
jle 0x4216df
push dword [esp + 0x2c]
mov ebp, dword [esp + 0x14]
mov edx, dword [ebp + 0x40]
pop ecx
call fcn.0042e590
jne 0x4216df
push edx
call fcn.0048d530
pop edx
push eax
mov edx, str.UPDATE
push edx
call fcn.0048d570
mov edx, dword [esp + 0x44]
push edx
call fcn.0048d570
mov edx, str._SET_Comment
push edx
call fcn.0048d570
mov ebp, dword [esp + 0x14]
mov edx, dword [ebp + 0x40]
push edx
call fcn.0048d570
mov edx, 0x5d5aa4
push edx
call fcn.0048d570
lea eax, [esp + 0x48]
push eax
call fcn.0048d5d0
mov edx, dword [esp + 0x44]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
mov edx, str.WHERE_key
push edx
call fcn.0048d570
mov edx, dword [ebp + 0xc]
push edx
call fcn.0048d570
mov edx, 0x5cf830
push edx
call fcn.0048d570
lea eax, [esp + 0x48]
push eax
call fcn.0048d5d0
push dword [esp + 0x44]
push dword [0x8f9c5c]
call fcn.0047f005
mov ebx, eax
and ebx, ebx
jne 0x4216df
jmp 0x421ea6
mov ebp, dword [esp + 0x10]
push dword [ebp + 0x38]
mov edx, str.Key_Blocked_
pop ecx
call fcn.0042e590
je 0x421709
mov ebp, dword [esp + 0x10]
mov edx, str.Key_Blocked_
lea ecx, [ebp + 0x3c]
call fcn.0042e008
push edx
call fcn.0048d530
pop edx
push eax
mov edx, str.INSERT_INTO
push edx
call fcn.0048d570
mov edx, dword [esp + 0x44]
push edx
call fcn.0048d570
lea eax, [esp + 0x4c]
push eax
call fcn.0048d5d0
mov edx, dword [esp + 0x48]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
mov edx, str._key__KeyStatus__ProductID__ExtendedPID__SKUID_
push edx
call fcn.0048d570
lea eax, [esp + 0x4c]
push eax
call fcn.0048d5d0
mov edx, dword [esp + 0x48]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
mov edx, str.Description__EditionID__SubType__LicenseType__Channel__CryptoID__ActivCount__Blocked__Comment__Lic__ActivVal_
push edx
call fcn.0048d570
lea eax, [esp + 0x4c]
push eax
call fcn.0048d5d0
mov edx, dword [esp + 0x48]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
mov edx, str.VALUES__
push edx
call fcn.0048d570
lea eax, [esp + 0x4c]
push eax
call fcn.0048d5d0
mov edx, dword [esp + 0x48]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
mov edx, 0x5cf830
push edx
call fcn.0048d570
mov ebp, dword [esp + 0x14]
mov edx, dword [ebp + 0xc]
push edx
call fcn.0048d570
mov edx, 0x5d5cac
push edx
call fcn.0048d570
lea eax, [esp + 0x4c]
push eax
call fcn.0048d5d0
mov edx, dword [esp + 0x48]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
mov edx, 0x5cf830
push edx
call fcn.0048d570
mov edx, dword [ebp + 0x10]
push edx
call fcn.0048d570
mov edx, 0x5d5cac
push edx
call fcn.0048d570
lea eax, [esp + 0x4c]
push eax
call fcn.0048d5d0
mov edx, dword [esp + 0x48]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
mov edx, 0x5cf830
push edx
call fcn.0048d570
mov edx, dword [ebp + 0x14]
push edx
call fcn.0048d570
mov edx, 0x5d5cac
push edx
call fcn.0048d570
lea eax, [esp + 0x4c]
push eax
call fcn.0048d5d0
mov edx, dword [esp + 0x48]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
mov edx, 0x5cf830
push edx
call fcn.0048d570
mov edx, dword [ebp + 0x18]
push edx
call fcn.0048d570
mov edx, 0x5d5cac
push edx
call fcn.0048d570
lea eax, [esp + 0x4c]
push eax
call fcn.0048d5d0
mov edx, dword [esp + 0x48]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
mov edx, 0x5cf830
push edx
call fcn.0048d570
mov edx, dword [ebp + 0x1c]
push edx
call fcn.0048d570
mov edx, 0x5d5cac
push edx
call fcn.0048d570
lea eax, [esp + 0x4c]
push eax
call fcn.0048d5d0
mov edx, dword [esp + 0x48]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
mov edx, 0x5cf830
push edx
call fcn.0048d570
mov edx, dword [ebp + 0x20]
push edx
call fcn.0048d570
mov edx, 0x5d5cac
push edx
call fcn.0048d570
lea eax, [esp + 0x4c]
push eax
call fcn.0048d5d0
mov edx, dword [esp + 0x48]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
mov edx, 0x5cf830
push edx
call fcn.0048d570
mov edx, dword [ebp + 0x24]
push edx
call fcn.0048d570
mov edx, 0x5d5cac
push edx
call fcn.0048d570
lea eax, [esp + 0x4c]
push eax
call fcn.0048d5d0
mov edx, dword [esp + 0x48]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
mov edx, 0x5cf830
push edx
call fcn.0048d570
mov edx, dword [ebp + 0x28]
push edx
call fcn.0048d570
mov edx, 0x5d5cac
push edx
call fcn.0048d570
lea eax, [esp + 0x4c]
push eax
call fcn.0048d5d0
mov edx, dword [esp + 0x48]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
mov edx, 0x5cf830
push edx
call fcn.0048d570
mov edx, dword [ebp + 0x2c]
push edx
call fcn.0048d570
mov edx, 0x5d5cac
push edx
call fcn.0048d570
lea eax, [esp + 0x4c]
push eax
call fcn.0048d5d0
mov edx, dword [esp + 0x48]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
mov edx, 0x5cf830
push edx
call fcn.0048d570
mov edx, dword [ebp + 0x30]
push edx
call fcn.0048d570
mov edx, 0x5d5cac
push edx
call fcn.0048d570
lea eax, [esp + 0x4c]
push eax
call fcn.0048d5d0
mov edx, dword [esp + 0x48]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
mov edx, 0x5cf830
push edx
call fcn.0048d570
mov edx, dword [ebp + 0x34]
push edx
call fcn.0048d570
mov edx, 0x5d5cac
push edx
call fcn.0048d570
lea eax, [esp + 0x4c]
push eax
call fcn.0048d5d0
mov edx, dword [esp + 0x48]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
mov edx, 0x5cf830
push edx
call fcn.0048d570
mov edx, dword [ebp + 0x38]
push edx
call fcn.0048d570
mov edx, 0x5d5cac
push edx
call fcn.0048d570
lea eax, [esp + 0x4c]
push eax
call fcn.0048d5d0
mov edx, dword [esp + 0x48]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
mov edx, 0x5cf830
push edx
call fcn.0048d570
mov edx, dword [ebp + 0x3c]
push edx
call fcn.0048d570
mov edx, 0x5d5cac
push edx
call fcn.0048d570
lea eax, [esp + 0x4c]
push eax
call fcn.0048d5d0
mov edx, dword [esp + 0x48]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
mov edx, 0x5cf830
push edx
call fcn.0048d570
mov edx, dword [ebp + 0x40]
push edx
call fcn.0048d570
mov edx, 0x5d5cac
push edx
call fcn.0048d570
lea eax, [esp + 0x4c]
push eax
call fcn.0048d5d0
mov edx, dword [esp + 0x48]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
mov edx, 0x5cf830
push edx
call fcn.0048d570
mov edx, dword [ebp + 0x44]
push edx
call fcn.0048d570
mov edx, 0x5d5cac
push edx
call fcn.0048d570
lea eax, [esp + 0x4c]
push eax
call fcn.0048d5d0
mov edx, dword [esp + 0x48]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
mov edx, 0x5cf830
push edx
call fcn.0048d570
mov edx, dword [ebp + 0x48]
push edx
call fcn.0048d570
mov edx, 0x5d5c64
push edx
call fcn.0048d570
lea eax, [esp + 0x4c]
push eax
call fcn.0048d5d0
push dword [esp + 0x48]
push dword [0x8f9c5c]
call fcn.0047f005
mov ebx, eax
and ebx, ebx
jne 0x421bb3
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
mov edx, str.Add_Key_error
push edx
call fcn.0048d570
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
call fcn.0047f041
pop eax
call fcn.0042e5e2
add dword [esp], edx
call fcn.004200c8
call fcn.0042e610
jmp 0x421bf6
push edx
call fcn.0048d530
pop edx
push eax
mov ebp, dword [esp + 0x14]
mov edx, dword [ebp + 0xc]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
mov edx, 0x5cf7bc
push edx
call fcn.0048d570
mov edx, dword [ebp + 0x3c]
push edx
call fcn.0048d570
call fcn.0042e5e2
add dword [esp], edx
call fcn.0040d182
call fcn.0042e610
mov ebp, dword [esp + 0x10]
push dword [ebp + 0x3c]
push dword [ebp + 0x44]
push dword [ebp + 0x20]
push dword [esp + 0x4c]
push dword [0x8f9c5c]
call fcn.00416466
mov edx, 0x5cf064
lea ecx, [esp + 0x4c]
call fcn.0042e008
mov eax, str.SELECT_keytoinsert_FROM_keystype
push eax
push dword [0x8f9c5c]
call fcn.0047f11d
mov ebx, eax
and ebx, ebx
je 0x421c7d
push dword [0x8f9c5c]
call fcn.0047f12f
and eax, eax
je 0x421c72
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
push 0
push dword [0x8f9c5c]
call fcn.0047f157
lea eax, [esp + 0x50]
push eax
call fcn.0048d5d0
jmp 0x421c37
push dword [0x8f9c5c]
call fcn.0047f184
push dword [esp + 0x4c]
call fcn.0048abc0
mov dword [esp + 0x50], eax
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
mov ebp, dword [esp + 0x18]
mov edx, dword [ebp + 0xc]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
mov edx, 0x5dbb02
push edx
call fcn.0048d570
call fcn.0048d660
push dword [esp + 0x58]
call fcn.0042e5e2
add dword [esp + 4], edx
call fcn.0048baf0
lea eax, [esp + 0x50]
push eax
call fcn.0048d5d0
mov ebx, dword [esp + 0x50]
push dword [esp + 0x4c]
call fcn.0048abc0
cmp ebx, eax
jle 0x421e94
mov edx, str.DROP_TABLE_keystype
lea ecx, [esp + 0x48]
call fcn.0042e008
push dword [esp + 0x48]
push dword [0x8f9c5c]
call fcn.0047f005
mov ebx, eax
and ebx, ebx
jne 0x421d4e
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
call fcn.0047f041
call fcn.0048d660
mov eax, 0x5da4da
push eax
call fcn.0042e5e2
add dword [esp + 4], edx
call fcn.004325e8
call fcn.0042e610
mov edx, str.CREATE_TABLE_IF_NOT_EXISTS_keystype__
lea ecx, [esp + 0x48]
call fcn.0042e008
mov edx, dword [esp + 0x48]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
mov edx, str.id_keytype_INTEGER_PRIMARY_KEY_AUTOINCREMENT_Not_NULL_
push edx
call fcn.0048d570
lea eax, [esp + 0x4c]
push eax
call fcn.0048d5d0
mov edx, dword [esp + 0x48]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
mov edx, str.keytoinsert_TEXT_Not_NULL_
push edx
call fcn.0048d570
lea eax, [esp + 0x4c]
push eax
call fcn.0048d5d0
push dword [esp + 0x48]
push dword [0x8f9c5c]
call fcn.0047f005
mov ebx, eax
and ebx, ebx
jne 0x421dfa
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
call fcn.0047f041
call fcn.0048d660
mov eax, 0x5cf5b2
push eax
call fcn.0042e5e2
add dword [esp + 4], edx
call fcn.004325e8
call fcn.0042e610
mov edx, str.INSERT_INTO_keystype
lea ecx, [esp + 0x48]
call fcn.0042e008
mov edx, dword [esp + 0x48]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
mov edx, str._keytoinsert_VALUES__
push edx
call fcn.0048d570
mov edx, dword [esp + 0x50]
push edx
call fcn.0048d570
mov edx, 0x5d5c64
push edx
call fcn.0048d570
lea eax, [esp + 0x4c]
push eax
call fcn.0048d5d0
push dword [esp + 0x48]
push dword [0x8f9c5c]
call fcn.0047f005
mov ebx, eax
and ebx, ebx
jne 0x421e94
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
call fcn.0047f041
call fcn.0048d660
mov eax, 0x5dd10e
push eax
call fcn.0042e5e2
add dword [esp + 4], edx
call fcn.004325e8
call fcn.0042e610
mov ebx, dword [esp + 0x38]
inc ebx
mov dword [esp + 0x38], ebx
push dword [esp + 0x38]
call fcn.0040e4c7
call fcn.0047e7e8
mov ebx, eax
mov edi, dword [esp + 0x3c]
add edi, 0xa
cmp ebx, edi
jle 0x421ecc
call fcn.0047e7e8
mov dword [esp + 0x3c], eax
push dword [0x8f9c5c]
call fcn.00411392
call fcn.0041a887
jmp 0x420ff5
mov eax, str.Commit
push eax
push dword [0x8f9c5c]
call fcn.0047f005
mov ebx, eax
and ebx, ebx
jne 0x421f30
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
mov edx, str.Commit_error
push edx
call fcn.0048d570
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
call fcn.0047f041
pop eax
call fcn.0042e5e2
add dword [esp], edx
call fcn.004200c8
call fcn.0042e610
push dword [esp + 0x14]
call fcn.0047c8c1
push dword [esp + 0xc]
call fcn.00486dab
push dword [0x8f9c5c]
call fcn.00411392
push dword [esp + 0x38]
call fcn.0040e4c7
push 0
call fcn.0040e3ec
push 0
push 0x5b
call fcn.00479110
push 0
push 0x48
call fcn.00479110
call fcn.0041a887
xor eax, eax
push dword [esp + 0x1c]
call fcn.0048d760
push dword [esp + 0x2c]
call fcn.0048d760
push dword [esp + 0x24]
call fcn.0048d760
push dword [esp + 0x40]
call fcn.0048d760
push dword [esp + 0x44]
call fcn.0048d760
push dword [esp + 0x4c]
call fcn.0048d760
push dword [esp + 0x28]
call fcn.0048d760
push dword [esp + 0x20]
call fcn.0048d760
push dword [esp + 0x48]
call fcn.0048d760
push dword [esp + 4]
call fcn.0048d760
push dword [esp + 0x18]
call fcn.0048d760
push eax
push dword [esp + 0x10]
call fcn.00486dab
push dword [esp + 0x18]
call fcn.0047c8c1
pop eax
add esp, 0x54
pop edi
pop ebx
pop ebp
ret 4