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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x610
mov eax, dword [0x66d060]
xor eax, esp
mov dword [esp + 0x60c], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x18]
push esi
mov esi, dword [ebp + 8]
mov dword [esp + 0x10], eax
mov eax, dword [0x6923c4]
push edi
mov edi, dword [ebp + 0xc]
test al, 1
jne 0x4ad2ca
or eax, 1
mov dword [0x6923c4], eax
call fcn.004b4ad0
push 0x60bf60
call fcn.00553ff2
add esp, 4
push str.Performing_set_value_for_key_...
push 0x630b14
push 0x692330
call fcn.004b5220
add esp, 0xc
test esi, esi
je 0x4ad6ce
test edi, edi
je 0x4ad6ce
cmp dword [esp + 0xc], 0
je 0x4ad6ce
cmp dword [esp + 0x10], 0
je 0x4ad6ce
cmp dword [esp + 0x14], 0
je 0x4ad6ce
mov ecx, 0x62307d
mov eax, edi
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4ad340
test dl, dl
je 0x4ad33c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4ad340
add eax, 2
add ecx, 2
test dl, dl
jne 0x4ad320
xor eax, eax
jmp 0x4ad345
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4ad363
push str.Invalid_domain_to_setValForKey
push 0x630b14
call fcn.004b4e00
push eax
call fcn.004b5520
jmp 0x4ad705
mov eax, dword [esp + 0xc]
mov ecx, 0x62307d
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4ad390
test dl, dl
je 0x4ad38c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4ad390
add eax, 2
add ecx, 2
test dl, dl
jne 0x4ad370
xor eax, eax
jmp 0x4ad395
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4ad3a0
push str.Invalid_sub_domain_to_setValForKey
jmp 0x4ad34e
mov eax, dword [esp + 0x10]
mov ecx, 0x62307d
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4ad3d0
test dl, dl
je 0x4ad3cc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4ad3d0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4ad3b0
xor eax, eax
jmp 0x4ad3d5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4ad3e3
push str.Invalid_key_to_setValForKey
jmp 0x4ad34e
push esi
push str.opm_setValueForkey_called_with_inRef_p
push 0x630b14
push ecx
call fcn.004b4e00
add esp, 4
push eax
call fcn.004b5220
add esp, 0x10
cmp dword [esi], 0
jne 0x4ad43f
mov ecx, esi
call fcn.00529bb0
test eax, eax
je 0x4ad43f
push str.OPM_db_is_not_initialized__can_not_proceed_for_setValForKey
push 0x630a44
call fcn.004b4e00
push eax
call fcn.004b59d0
add esp, 0xc
or eax, 0xffffffff
pop edi
pop esi
mov ecx, dword [esp + 0x60c]
xor ecx, esp
call fcn.0055337c
mov esp, ebp
pop ebp
ret
push edi
lea ecx, [esp + 0x34]
call fcn.0045e4d0
push dword [esp + 0xc]
lea ecx, [esp + 0x1c]
call fcn.0045e4d0
push dword [esp + 0x10]
lea ecx, [esp + 0x4c]
call fcn.0045e4d0
push 0x62307d
lea ecx, [esp + 0x94]
call fcn.0045e4d0
push 0x62307d
lea ecx, [esp + 0x7c]
call fcn.0045e4d0
mov edi, dword [esp + 0x14]
mov ecx, 0x62307d
mov eax, edi
lea ecx, [ecx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4ad4b0
test dl, dl
je 0x4ad4ac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4ad4b0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4ad490
xor eax, eax
jmp 0x4ad4b5
sbb eax, eax
or eax, 1
test eax, eax
je 0x4ad5b6
push 0x62307d
lea ecx, [esp + 0x64]
call fcn.0045e4d0
lea eax, [esp + 0x60]
push eax
push ecx
lea ecx, [esp + 0xb0]
call fcn.004b23f0
lea ecx, [esp + 0x60]
call fcn.0045e5e0
cmp dword [0x67e1d8], 0
je 0x4ad4fa
push 0xffffffffffffffff
push 0
push 0x67e1c8
jmp 0x4ad51b
push str.key_generated_from_MSIG_cannot_be_null
push 0x630b14
call fcn.004b4e00
push eax
call fcn.004b56a0
add esp, 0xc
push 0xffffffffffffffff
push 0
push 0x67e1e0
lea ecx, [esp + 0x84]
call fcn.0045f9d0
lea eax, [esp + 0x78]
push eax
push ecx
lea ecx, [esp + 0xb0]
call fcn.004b22f0
test al, al
jne 0x4ad544
push str.Failed_to_initialize_crypt_Engine_in_opm_setValueForKey
jmp 0x4ad583
push edi
lea ecx, [esp + 0x64]
call fcn.0045e4d0
lea eax, [esp + 0x90]
push eax
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0xb0]
call fcn.004b1b20
test eax, eax
lea ecx, [esp + 0x60]
setne byte [esp + 0xb]
call fcn.0045e5e0
cmp byte [esp + 0xb], 0
je 0x4ad5aa
push str.failed_to_encrypt_in_opm_setValueForKey
push 0x630b14
call fcn.004b4e00
push eax
call fcn.004b56a0
add esp, 0xc
lea ecx, [esp + 0xa8]
call fcn.004abb00
or esi, 0xffffffff
jmp 0x4ad688
lea ecx, [esp + 0xa8]
call fcn.004abb00
lea eax, [esp + 0x90]
mov ecx, esi
push eax
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.005283d0
mov edx, eax
mov ecx, esi
call fcn.004ab250
cmp al, 1
jne 0x4ad63d
push str.Initial_call_to_opd_setValueWithFields_was_a_failure__retrying_after_recovery
push 0x630b14
call fcn.004b4e00
push eax
call fcn.004b53a0
add esp, 0xc
lea eax, [esp + 0x90]
mov ecx, esi
push eax
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.005283d0
test eax, eax
je 0x4ad63d
push eax
push str.Retried_call_to_opd_setValueWithFields_failed_with_error:__d
push 0x630b14
push ecx
call fcn.004b4e00
add esp, 4
push eax
call fcn.004b53a0
add esp, 0x10
or esi, 0xffffffff
jmp 0x4ad688
cmp dword [esp + 0x5c], 0x10
lea edx, [esp + 0x48]
lea ecx, [esp + 0x18]
cmovae edx, dword [esp + 0x48]
lea eax, [esp + 0x30]
cmp dword [esp + 0x2c], 0x10
push edx
cmovae ecx, dword [esp + 0x1c]
cmp dword [esp + 0x48], 0x10
push ecx
cmovae eax, dword [esp + 0x38]
push eax
push str.Successfully_updated_opm.db_for_fields_domain:_s_subdomain:_s_key:_s_in_opm_setValueForKey
push 0x630b14
push ecx
call fcn.004b4e00
add esp, 4
push eax
call fcn.004b53a0
add esp, 0x18
xor esi, esi
lea ecx, [esp + 0x78]
call fcn.0045e5e0
lea ecx, [esp + 0x90]
call fcn.0045e5e0
lea ecx, [esp + 0x48]
call fcn.0045e5e0
lea ecx, [esp + 0x18]
call fcn.0045e5e0
lea ecx, [esp + 0x30]
call fcn.0045e5e0
mov eax, esi
pop edi
pop esi
mov ecx, dword [esp + 0x60c]
xor ecx, esp
call fcn.0055337c
mov esp, ebp
pop ebp
ret
mov eax, dword [0x6923c4]
test al, 1
jne 0x4ad6f1
or eax, 1
mov dword [0x6923c4], eax
call fcn.004b4ad0
push 0x60bf60
call fcn.00553ff2
add esp, 4
push str.Invalid_arguments_in_set_value_for_key...
push 0x630b14
push 0x692330
call fcn.004b56a0
mov ecx, dword [esp + 0x620]
add esp, 0xc
mov eax, 0xfffffffd
pop edi
pop esi
xor ecx, esp
call fcn.0055337c
mov esp, ebp
pop ebp
ret