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

Disassembly:
mov eax, 0x10f8
call fcn.004ba2e0
mov eax, dword [0x5107c0]
xor eax, esp
mov dword [esp + 0x10f4], eax
mov eax, dword [esp + 0x10fc]
push ebx
mov ebx, dword [esp + 0x1104]
push ebp
mov ebp, dword [esp + 0x110c]
push esi
push edi
push str.UpdateKeyDB
mov dword [esp + 0x1c], eax
call dword [sym.imp.VMProtectSDK32.dll_VMProtectBegin]
push 0x2b
lea eax, [esp + 0xdd]
mov byte [esp + 0xdc], 0
push 0
push eax
call fcn.004b6030
lea eax, [esp + 0xe4]
push eax
lea eax, [ebx + 0x58]
push 0x14
push eax
call fcn.00419ee2
xor eax, eax
mov byte [esp + 0x64], 0
lea edi, [esp + 0x65]
mov byte [esp + 0x48], 0
stosd dword es:[edi], eax
add esp, 0x18
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
xor eax, eax
test dword [ebx + 8], 0x100
lea edi, [esp + 0x31]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
je 0x42839b
mov eax, dword [ebx + 0xbc]
mov dword [esp + 0x3c], eax
mov eax, dword [ebx + 0xc0]
mov dword [esp + 0x40], eax
lea eax, [esp + 0x3c]
push eax
call fcn.00427f83
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x44]
push 8
push eax
call fcn.00419ee2
mov ecx, dword [ebx + 0x78]
add esp, 0x10
movzx eax, cl
shr ecx, 0x10
push eax
movzx eax, byte [ebx + 0x79]
push eax
push ecx
push 0x6fce38ac
push 0x672fe8b0
push 0x21fd0509
call fcn.004018f0
add esp, 0xc
push eax
lea eax, [esp + 0x40]
push eax
call fcn.004b4a31
add esp, 0x14
and dword [esp + 0x20], 0
lea edi, [esp + 0x25]
xor eax, eax
mov byte [esp + 0x24], 0
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [ebx + 0x6c]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
push eax
call fcn.004ba054
pop ecx
push dword [eax + 0xc]
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
inc ecx
push ecx
add eax, 0x76c
push eax
push 0xc391631d
push 0xcb70b301
push 0x8da25e56
call fcn.004018f0
add esp, 0xc
push eax
lea eax, [esp + 0x34]
push eax
call fcn.004b4a31
mov esi, dword [ebx + 8]
mov eax, dword [ebx + 8]
and esi, 0x800
or esi, 0x40000
mov byte [esp + 0x9c], 0
and eax, 0x600
shr esi, 3
or esi, eax
lea eax, [esp + 0x9d]
push 0x27
push 0
push eax
shr esi, 7
call fcn.004b6030
push 0x27
lea eax, [esp + 0x85]
mov byte [esp + 0x84], 0
push 0
push eax
call fcn.004b6030
push 0x27
lea eax, [esp + 0xe1]
mov byte [esp + 0xe0], 0
push 0
push eax
call fcn.004b6030
add esp, 0x38
mov edi, 0xff
test dword [ebx + 8], 0x10000
je 0x42848f
mov eax, esi
shr eax, 8
and eax, edi
push eax
lea eax, [esp + 0x8c]
push eax
lea eax, [ebx + 0x8c]
push eax
call fcn.00428106
add esp, 0xc
test dword [ebx + 8], 0x20000
je 0x4284b1
mov eax, esi
shr eax, 8
and eax, edi
push eax
lea eax, [esp + 0x64]
push eax
lea eax, [ebx + 0x7c]
push eax
call fcn.00428106
add esp, 0xc
test dword [ebx + 8], 0x40000
je 0x4284d9
mov eax, esi
shr eax, 8
and eax, edi
push eax
lea eax, [esp + 0xb4]
push eax
lea eax, [ebx + 0x9c]
push eax
call fcn.00428106
add esp, 0xc
xor ecx, ecx
cmp dword [ebx + 0xc], ecx
jne 0x4284f0
test dword [ebx + 8], 0x100000
jne 0x4284f0
mov dword [ebx + 0xc], 0x1c00000
cmp byte [esp + 0x1118], cl
je 0x428613
cmp dword [ebx + 0xc], ecx
jne 0x42875e
lea eax, [esp + 0x24]
push eax
push esi
push dword [ebx + 0x40]
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x40]
push eax
push dword [ebx + 0x74]
movzx eax, byte [ebx + 0x3f]
push eax
push ecx
push 0xc7904c88
push 0xcf719ca4
push 0x89a371c1
call fcn.004018f0
add esp, 0xc
push eax
lea eax, [esp + 0x128]
push eax
call fcn.004b4a31
lea edi, [esp + 0x12c]
add esp, 0x28
add edi, eax
test byte [ebx + 0xa], 1
je 0x428584
lea eax, [esp + 0x88]
push eax
push 0x1f7c9af2
push 0x179d4ae9
push 0x514fa7ca
call fcn.004018f0
add esp, 0xc
push eax
push edi
call fcn.004b4a31
add esp, 0xc
add edi, eax
test dword [ebx + 8], 0x20000
je 0x4285b5
lea eax, [esp + 0x60]
push eax
push 0xe44450d2
push 0xeca580c9
push 0xaa776de0
call fcn.004018f0
add esp, 0xc
push eax
push edi
call fcn.004b4a31
add esp, 0xc
add edi, eax
test dword [ebx + 8], 0x40000
je 0x4285e9
lea eax, [esp + 0xb0]
push eax
push 0xb0ff2378
push 0xb81ef363
push 0xfecc1e5c
call fcn.004018f0
add esp, 0xc
push eax
push edi
call fcn.004b4a31
add esp, 0xc
add edi, eax
push 0x1fe3d186
push 0x17020190
push 0x51d0ed55
call fcn.004018f0
mov edx, edi
add esp, 0xc
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x428604
add edi, 4
jmp 0x428686
lea eax, [esp + 0xb0]
push eax
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x90]
push eax
lea eax, [esp + 0x30]
push eax
push esi
push dword [ebx + 0x40]
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x4c]
push eax
push dword [ebx + 0x74]
lea eax, [ebx + 0x140]
push eax
movzx eax, byte [ebx + 0x3f]
push eax
push dword [ebx + 0xc]
lea eax, [esp + 0x108]
push eax
push 0xc67b066a
push 0xce9ad609
push 0x88483ac4
call fcn.004018f0
add esp, 0xc
push eax
lea eax, [esp + 0x13c]
push eax
call fcn.004b4a31
lea edi, [esp + 0x140]
add esp, 0x3c
add edi, eax
cmp dword [ebp + 0x70], 2
je 0x4286d5
xor eax, eax
xor ebx, ebx
cmp ax, word [ebp + 0x1ec]
jae 0x4286d5
shr esi, 8
and esi, 0xff
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov eax, dword [ebp + 0x1d8]
push esi
add eax, ecx
push edi
push eax
call fcn.00428106
mov ecx, dword [esp + 0x20]
add esp, 0xc
movzx eax, word [ebp + 0x1ec]
add edi, 0x20
inc ebx
add ecx, 0x10
mov dword [esp + 0x14], ecx
cmp ebx, eax
jb 0x4286a8
cmp byte [esp + 0x1118], 0
mov byte [edi], 0x27
je 0x428714
lea eax, [esp + 0xd8]
mov byte [edi + 1], 0x20
push eax
push 0xc017ebb2
push 0xc8f63bac
push 0x8e24d717
call fcn.004018f0
add esp, 0xc
push eax
lea eax, [edi + 2]
push eax
call fcn.004b4a31
add esp, 0xc
jmp 0x42871a
mov word [edi + 1], 0x29
and dword [esp + 0x10], 0
lea eax, [esp + 0x10]
push eax
push 0
push 0
lea eax, [esp + 0x110]
push eax
push dword [esp + 0x28]
call fcn.00472afe
add esp, 0x14
test eax, eax
je 0x428758
cmp dword [esp + 0x10], 0
je 0x428758
push dword [esp + 0x10]
push 3
push dword [ebp + 0x60]
call fcn.0041a053
add esp, 0xc
call dword [sym.imp.VMProtectSDK32.dll_VMProtectEnd]
mov ecx, dword [esp + 0x1104]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004b35e5
add esp, 0x10f8
ret