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

Disassembly:
push ebx
mov edx, 0x16
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x40e5e8
call fcn.0048d6d0
mov edx, dword [esp + 0x64]
lea ecx, [esp]
call fcn.0042e000
mov edx, dword [esp + 0x68]
lea ecx, [esp + 4]
call fcn.0042e000
mov edx, dword [esp + 0x6c]
lea ecx, [esp + 8]
call fcn.0042e000
mov edx, dword [esp + 0x70]
lea ecx, [esp + 0xc]
call fcn.0042e000
mov edx, dword [esp + 0x74]
lea ecx, [esp + 0x10]
call fcn.0042e000
mov edx, dword [esp + 0x78]
lea ecx, [esp + 0x14]
call fcn.0042e000
mov edx, dword [esp + 0x7c]
lea ecx, [esp + 0x18]
call fcn.0042e000
mov edx, dword [esp + 0x80]
lea ecx, [esp + 0x1c]
call fcn.0042e000
mov edx, dword [esp + 0x84]
lea ecx, [esp + 0x20]
call fcn.0042e000
mov edx, dword [esp + 0x88]
lea ecx, [esp + 0x24]
call fcn.0042e000
mov edx, dword [esp + 0x8c]
lea ecx, [esp + 0x28]
call fcn.0042e000
mov edx, dword [esp + 0x90]
lea ecx, [esp + 0x2c]
call fcn.0042e000
mov edx, dword [esp + 0x94]
lea ecx, [esp + 0x30]
call fcn.0042e000
mov edx, dword [esp + 0x98]
lea ecx, [esp + 0x34]
call fcn.0042e000
mov edx, dword [esp + 0x9c]
lea ecx, [esp + 0x38]
call fcn.0042e000
mov edx, dword [esp + 0xa0]
lea ecx, [esp + 0x3c]
call fcn.0042e000
mov edx, dword [esp + 0xa4]
lea ecx, [esp + 0x40]
call fcn.0042e000
push dword [esp + 8]
push dword [esp + 4]
push dword [esp + 0x68]
call fcn.0040b6b2
push dword [esp + 0x60]
call fcn.00411392
mov ebx, dword [esp + 0xa8]
and ebx, ebx
jne 0x40e740
push edx
call fcn.0048d530
pop edx
push eax
push dword [esp + 0x24]
push dword [esp + 0x2c]
push dword [esp + 0x10]
push dword [esp + 0x2c]
call fcn.00411f07
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 dword [esp + 0x30]
call fcn.0048abf0
lea eax, [esp + 0x4c]
push eax
call fcn.0048d5d0
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
push dword [esp + 0x34]
call fcn.0048abf0
lea eax, [esp + 0x50]
push eax
call fcn.0048d5d0
mov eax, str.GVLK
push eax
push dword [esp + 0x4c]
call fcn.0048ad20
mov ebx, eax
and ebx, ebx
jle 0x40e7ae
mov edx, str.GVLK
lea ecx, [esp + 0x48]
call fcn.0042e008
jmp 0x40e958
mov eax, str.CSVLK
push eax
push dword [esp + 0x4c]
call fcn.0048ad20
mov ebx, eax
and ebx, ebx
jle 0x40e7d6
mov edx, str.CSVLK
lea ecx, [esp + 0x48]
call fcn.0042e008
jmp 0x40e958
mov eax, str.RETAIL
push eax
push dword [esp + 0x4c]
call fcn.0048ad20
mov ebx, eax
and ebx, ebx
jle 0x40e7fe
mov edx, str.RETAIL
lea ecx, [esp + 0x48]
call fcn.0042e008
jmp 0x40e958
mov eax, 0x5d7bb4
push eax
push dword [esp + 0x4c]
call fcn.0048ad20
mov ebx, eax
and ebx, ebx
jle 0x40e826
mov edx, 0x5d7bb4
lea ecx, [esp + 0x48]
call fcn.0042e008
jmp 0x40e958
mov eax, 0x5d7bac
push eax
push dword [esp + 0x4c]
call fcn.0048ad20
mov ebx, eax
and ebx, ebx
jle 0x40e84e
mov edx, 0x5d7bac
lea ecx, [esp + 0x48]
call fcn.0042e008
jmp 0x40e958
mov eax, str.VOLUME
push eax
push dword [esp + 0x4c]
call fcn.0048ad20
mov ebx, eax
and ebx, ebx
jle 0x40e876
mov edx, str.VOLUME
lea ecx, [esp + 0x48]
call fcn.0042e008
jmp 0x40e958
mov eax, str.GVLK
push eax
push dword [esp + 0x50]
call fcn.0048ad20
mov ebx, eax
and ebx, ebx
jle 0x40e89e
mov edx, str.GVLK
lea ecx, [esp + 0x48]
call fcn.0042e008
jmp 0x40e958
mov eax, str.CSVLK
push eax
push dword [esp + 0x50]
call fcn.0048ad20
mov ebx, eax
and ebx, ebx
jle 0x40e8c6
mov edx, str.CSVLK
lea ecx, [esp + 0x48]
call fcn.0042e008
jmp 0x40e958
mov eax, str.RETAIL
push eax
push dword [esp + 0x50]
call fcn.0048ad20
mov ebx, eax
and ebx, ebx
jle 0x40e8eb
mov edx, str.RETAIL
lea ecx, [esp + 0x48]
call fcn.0042e008
jmp 0x40e958
mov eax, 0x5d7bb4
push eax
push dword [esp + 0x50]
call fcn.0048ad20
mov ebx, eax
and ebx, ebx
jle 0x40e910
mov edx, 0x5d7bb4
lea ecx, [esp + 0x48]
call fcn.0042e008
jmp 0x40e958
mov eax, 0x5d7bac
push eax
push dword [esp + 0x50]
call fcn.0048ad20
mov ebx, eax
and ebx, ebx
jle 0x40e935
mov edx, 0x5d7bac
lea ecx, [esp + 0x48]
call fcn.0042e008
jmp 0x40e958
mov eax, str.VOLUME
push eax
push dword [esp + 0x50]
call fcn.0048ad20
mov ebx, eax
and ebx, ebx
jle 0x40e958
mov edx, str.VOLUME
lea ecx, [esp + 0x48]
call fcn.0042e008
push dword [esp + 0x34]
mov edx, str.Key_Blocked_
pop ecx
call fcn.0042e590
je 0x40e977
mov edx, str.Key_Blocked_
lea ecx, [esp + 0x38]
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 + 4]
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._key__KeyStatus__ProductID__ExtendedPID__SKUID_
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__EditionID__SubType__LicenseType__Channel__CryptoID__ActivCount__Blocked__Comment__Lic__ActivVal_
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.VALUES__
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, 0x5cf830
push edx
call fcn.0048d570
mov edx, dword [esp + 0xc]
push edx
call fcn.0048d570
mov edx, 0x5d5cac
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, 0x5cf830
push edx
call fcn.0048d570
mov edx, dword [esp + 0x10]
push edx
call fcn.0048d570
mov edx, 0x5d5cac
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, 0x5cf830
push edx
call fcn.0048d570
mov edx, dword [esp + 0x14]
push edx
call fcn.0048d570
mov edx, 0x5d5cac
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, 0x5cf830
push edx
call fcn.0048d570
mov edx, dword [esp + 0x18]
push edx
call fcn.0048d570
mov edx, 0x5d5cac
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, 0x5cf830
push edx
call fcn.0048d570
mov edx, dword [esp + 0x1c]
push edx
call fcn.0048d570
mov edx, 0x5d5cac
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, 0x5cf830
push edx
call fcn.0048d570
mov edx, dword [esp + 0x20]
push edx
call fcn.0048d570
mov edx, 0x5d5cac
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, 0x5cf830
push edx
call fcn.0048d570
mov edx, dword [esp + 0x24]
push edx
call fcn.0048d570
mov edx, 0x5d5cac
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, 0x5cf830
push edx
call fcn.0048d570
mov edx, dword [esp + 0x28]
push edx
call fcn.0048d570
mov edx, 0x5d5cac
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, 0x5cf830
push edx
call fcn.0048d570
mov edx, dword [esp + 0x2c]
push edx
call fcn.0048d570
mov edx, 0x5d5cac
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, 0x5cf830
push edx
call fcn.0048d570
mov edx, dword [esp + 0x30]
push edx
call fcn.0048d570
mov edx, 0x5d5cac
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, 0x5cf830
push edx
call fcn.0048d570
mov edx, dword [esp + 0x34]
push edx
call fcn.0048d570
mov edx, 0x5d5cac
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, 0x5cf830
push edx
call fcn.0048d570
mov edx, dword [esp + 0x38]
push edx
call fcn.0048d570
mov edx, 0x5d5cac
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, 0x5cf830
push edx
call fcn.0048d570
mov edx, dword [esp + 0x3c]
push edx
call fcn.0048d570
mov edx, 0x5d5cac
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, 0x5cf830
push edx
call fcn.0048d570
mov edx, dword [esp + 0x40]
push edx
call fcn.0048d570
mov edx, 0x5d5cac
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, 0x5cf830
push edx
call fcn.0048d570
mov edx, dword [esp + 0x4c]
push edx
call fcn.0048d570
mov edx, 0x5d5cac
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, 0x5cf830
push edx
call fcn.0048d570
mov edx, dword [esp + 0x44]
push edx
call fcn.0048d570
mov edx, 0x5d5c64
push edx
call fcn.0048d570
lea eax, [esp + 0x48]
push eax
call fcn.0048d5d0
mov ebx, dword [0x8f9c04]
and ebx, ebx
jle 0x40edf5
push dword [esp + 0x1c]
mov edx, 0x5cf064
pop ecx
call fcn.0042e590
je 0x40edf5
mov eax, 1
jmp 0x40edf7
xor eax, eax
and eax, eax
je 0x40ee13
push dword [esp + 0x14]
mov edx, 0x5cf064
pop ecx
call fcn.0042e590
je 0x40ee13
mov eax, 1
jmp 0x40ee15
xor eax, eax
and eax, eax
je 0x40ee1b
jmp 0x40ee8a
push dword [esp + 0x44]
push dword [esp + 0x64]
call fcn.0047f005
mov ebx, eax
and ebx, ebx
jne 0x40ee71
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
push dword [esp + 0x38]
push dword [esp + 0x4c]
push dword [esp + 0x24]
push dword [esp + 0xc]
push dword [esp + 0x70]
call fcn.004163f7
mov edx, 0x5cf064
lea ecx, [esp + 0x50]
call fcn.0042e008
mov eax, str.SELECT_keytoinsert_FROM_keystype
push eax
push dword [esp + 0x64]
call fcn.0047f11d
mov ebx, eax
and ebx, ebx
je 0x40eeed
push dword [esp + 0x60]
call fcn.0047f12f
and eax, eax
je 0x40eee4
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
push 0
push dword [esp + 0x6c]
call fcn.0047f157
lea eax, [esp + 0x54]
push eax
call fcn.0048d5d0
jmp 0x40eead
push dword [esp + 0x60]
call fcn.0047f184
push dword [esp + 0x50]
call fcn.0048abc0
mov dword [esp + 0x54], eax
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
mov edx, dword [esp + 0x10]
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 + 0x5c]
call fcn.0042e5e2
add dword [esp + 4], edx
call fcn.0048baf0
lea eax, [esp + 0x54]
push eax
call fcn.0048d5d0
mov ebx, dword [esp + 0x54]
push dword [esp + 0x50]
call fcn.0048abc0
cmp ebx, eax
jle 0x40f0fb
mov edx, str.DROP_TABLE_keystype
lea ecx, [esp + 0x44]
call fcn.0042e008
push dword [esp + 0x44]
push dword [esp + 0x64]
call fcn.0047f005
mov ebx, eax
and ebx, ebx
jne 0x40efb9
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 + 0x44]
call fcn.0042e008
mov edx, dword [esp + 0x44]
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 + 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.keytoinsert_TEXT_Not_NULL_
push edx
call fcn.0048d570
lea eax, [esp + 0x48]
push eax
call fcn.0048d5d0
push dword [esp + 0x44]
push dword [esp + 0x64]
call fcn.0047f005
mov ebx, eax
and ebx, ebx
jne 0x40f063
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 + 0x44]
call fcn.0042e008
mov edx, dword [esp + 0x44]
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 + 0x54]
push edx
call fcn.0048d570
mov edx, 0x5d5c64
push edx
call fcn.0048d570
lea eax, [esp + 0x48]
push eax
call fcn.0048d5d0
push dword [esp + 0x44]
push dword [esp + 0x64]
call fcn.0047f005
mov ebx, eax
and ebx, ebx
jne 0x40f0fb
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, 0x5d97a8
push eax
call fcn.0042e5e2
add dword [esp + 4], edx
call fcn.004325e8
call fcn.0042e610
push dword [esp + 0x60]
call fcn.00411392
xor eax, eax
push dword [esp + 0x34]
call fcn.0048d760
push dword [esp + 0x28]
call fcn.0048d760
push dword [esp + 0x2c]
call fcn.0048d760
push dword [esp + 0x10]
call fcn.0048d760
push dword [esp + 4]
call fcn.0048d760
push dword [esp + 0x24]
call fcn.0048d760
push dword [esp + 0x4c]
call fcn.0048d760
push dword [esp]
call fcn.0048d760
push dword [esp + 0x14]
call fcn.0048d760
push dword [esp + 0x50]
call fcn.0048d760
push dword [esp + 0x38]
call fcn.0048d760
push dword [esp + 0x18]
call fcn.0048d760
push dword [esp + 0x1c]
call fcn.0048d760
push dword [esp + 0xc]
call fcn.0048d760
push dword [esp + 0x44]
call fcn.0048d760
push dword [esp + 0x40]
call fcn.0048d760
push dword [esp + 8]
call fcn.0048d760
push dword [esp + 0x20]
call fcn.0048d760
push dword [esp + 0x3c]
call fcn.0048d760
push dword [esp + 0x30]
call fcn.0048d760
push dword [esp + 0x48]
call fcn.0048d760
add esp, 0x58
pop ebx
ret 0x4c