Function at 0x42070b
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 0x420713
call fcn.0048d6d0
push dword [0x8f9c08]
call fcn.0042fde8
and eax, eax
je 0x420739
jmp 0x421f16
mov dword [esp], 0
push 0x11
call sub.USER32.dll_GetKeyState
mov ebx, eax
cmp ebx, 1
jle 0x420758
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 [0x8f9a24]
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 0x421ee7
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 0x42087c
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 0x421f16
push 7
push 0x5de4e0
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 0x4208ed
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.00420059
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 0x420ba2
push dword [esp + 8]
call fcn.0047f12f
and eax, eax
je 0x420b99
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 0x420906
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 0x420bfa
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.00420059
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 0x5de4b8
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 [0x8f9c3c]
call fcn.0047f11d
mov ebx, eax
and ebx, ebx
je 0x420ec4
mov eax, str.Begin_Transaction
push eax
push dword [0x8f9c3c]
call fcn.0047f005
mov ebx, eax
and ebx, ebx
jne 0x420ca1
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.00420059
call fcn.0042e610
push dword [0x8f9c3c]
call fcn.0047f12f
and eax, eax
je 0x420e5f
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 [0x8f9c3c]
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 [0x8f9c3c]
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 [0x8f9c3c]
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 [0x8f9c3c]
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 [0x8f9c3c]
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 0x420dce
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 0x420e26
push dword [esp + 0x24]
mov edx, str.Key_Blocked_
pop ecx
call fcn.0042e590
jne 0x420df2
push dword [esp + 0x28]
mov edx, str.Key_Blocked_
pop ecx
call fcn.0042e590
jne 0x420df2
jmp 0x420df9
mov eax, 1
jmp 0x420dfb
xor eax, eax
and eax, eax
je 0x420e26
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 0x420ca1
mov eax, str.Commit
push eax
push dword [0x8f9c3c]
call fcn.0047f005
mov ebx, eax
and ebx, ebx
jne 0x420eb9
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.00420059
call fcn.0042e610
push dword [0x8f9c3c]
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 [0x8f9cf0]
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 [0x8f9c3c]
call fcn.0047f005
mov ebx, eax
and ebx, ebx
jne 0x420f7d
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.00420059
call fcn.0042e610
push dword [esp + 0xc]
call fcn.00486d62
push dword [esp + 0xc]
call fcn.00486d77
or eax, eax
je 0x421e67
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 0x421675
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 0x421069
mov ebp, dword [esp + 0x10]
push dword [ebp + 0x20]
mov edx, 0x5cf064
pop ecx
call fcn.0042e590
jne 0x421069
mov eax, 1
jmp 0x42106b
xor eax, eax
and eax, eax
je 0x421468
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, 0x5dd08c
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, 0x5dd08c
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, 0x5dd08c
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, 0x5dd08c
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, 0x5dd08c
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, 0x5dd08c
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, 0x5dd08c
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, 0x5dd08c
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, 0x5dd08c
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, 0x5dd08c
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, 0x5dd08c
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, 0x5dd08c
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, 0x5dd08c
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, 0x5dd08c
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 [0x8f9c3c]
call fcn.0047f005
mov ebx, eax
and ebx, ebx
jne 0x421447
mov ebp, dword [esp + 0x10]
push dword [ebp + 0x3c]
push dword [ebp + 0x44]
push dword [ebp + 0x20]
push dword [esp + 0x4c]
push dword [0x8f9c3c]
call fcn.004163f7
jmp 0x421670
push dword [esp + 0x18]
mov edx, 0x5d058a
pop ecx
call fcn.0042e590
jne 0x421494
mov ebp, dword [esp + 0x10]
push dword [ebp + 0x3c]
mov edx, str.Key_Blocked_
pop ecx
call fcn.0042e590
je 0x421494
mov eax, 1
jmp 0x421496
xor eax, eax
and eax, eax
je 0x4215b4
mov ebx, dword [esp]
and ebx, ebx
jle 0x42155a
push dword [esp + 0x2c]
mov ebp, dword [esp + 0x14]
mov edx, dword [ebp + 0x40]
pop ecx
call fcn.0042e590
jne 0x42155a
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 [0x8f9c3c]
call fcn.0047f005
mov ebx, eax
and ebx, ebx
jne 0x42155a
mov ebp, dword [esp + 0x10]
push dword [ebp + 0xc]
push dword [0x8f9c3c]
call fcn.00417669
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 0x421670
mov ebx, dword [esp]
and ebx, ebx
jle 0x421670
push dword [esp + 0x2c]
mov ebp, dword [esp + 0x14]
mov edx, dword [ebp + 0x40]
pop ecx
call fcn.0042e590
jne 0x421670
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 [0x8f9c3c]
call fcn.0047f005
mov ebx, eax
and ebx, ebx
jne 0x421670
jmp 0x421e37
mov ebp, dword [esp + 0x10]
push dword [ebp + 0x38]
mov edx, str.Key_Blocked_
pop ecx
call fcn.0042e590
je 0x42169a
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 [0x8f9c3c]
call fcn.0047f005
mov ebx, eax
and ebx, ebx
jne 0x421b44
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.00420059
call fcn.0042e610
jmp 0x421b87
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 [0x8f9c3c]
call fcn.004163f7
mov edx, 0x5cf064
lea ecx, [esp + 0x4c]
call fcn.0042e008
mov eax, str.SELECT_keytoinsert_FROM_keystype
push eax
push dword [0x8f9c3c]
call fcn.0047f11d
mov ebx, eax
and ebx, ebx
je 0x421c0e
push dword [0x8f9c3c]
call fcn.0047f12f
and eax, eax
je 0x421c03
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
push 0
push dword [0x8f9c3c]
call fcn.0047f157
lea eax, [esp + 0x50]
push eax
call fcn.0048d5d0
jmp 0x421bc8
push dword [0x8f9c3c]
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 0x421e25
mov edx, str.DROP_TABLE_keystype
lea ecx, [esp + 0x48]
call fcn.0042e008
push dword [esp + 0x48]
push dword [0x8f9c3c]
call fcn.0047f005
mov ebx, eax
and ebx, ebx
jne 0x421cdf
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 [0x8f9c3c]
call fcn.0047f005
mov ebx, eax
and ebx, ebx
jne 0x421d8b
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 [0x8f9c3c]
call fcn.0047f005
mov ebx, eax
and ebx, ebx
jne 0x421e25
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, 0x5dd102
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 0x421e5d
call fcn.0047e7e8
mov dword [esp + 0x3c], eax
push dword [0x8f9c3c]
call fcn.00411392
call fcn.0041a818
jmp 0x420f86
mov eax, str.Commit
push eax
push dword [0x8f9c3c]
call fcn.0047f005
mov ebx, eax
and ebx, ebx
jne 0x421ec1
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.00420059
call fcn.0042e610
push dword [esp + 0x14]
call fcn.0047c8c1
push dword [esp + 0xc]
call fcn.00486dab
push dword [0x8f9c3c]
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.0041a818
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