Function at 0x422230
Capabilities:
Decode data using base64 via winapi

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5421cb
mov eax, dword fs:[0]
push eax
sub esp, 0x4e4
mov eax, dword [0x5868f4]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov ebx, ecx
mov esi, dword [ebp + 8]
cmp dword [esi + 0x10], 0
jne 0x4222bc
push ecx
push 0
push 2
mov edx, 0xed
mov cl, 3
call fcn.00434f90
add esp, 0xc
lea ecx, [ebp - 0x2c]
mov esi, 0x57
push str.OCI:_License_code_is_empty
push 0
push 2
push 0x56991c
push 0
push 0
push str.Oci::DecodeLicense
push 0x9a
push str.OracleOci.cpp
call fcn.00424320
push eax
call fcn.00424820
add esp, 0x14
jmp 0x4229ec
push 0
push 0
lea eax, [ebp - 0x4d8]
mov dword [ebp - 4], 0
mov edi, dword [esi + 0x10]
mov ecx, esi
push eax
push 0
push 1
push edi
mov dword [ebp - 0x4d8], 0
call fcn.004032d0
push eax
call dword [sym.imp.CRYPT32.dll_CryptStringToBinaryW]
test eax, eax
jne 0x422359
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ecx
push 0
push 2
mov edx, 0xee
mov cl, 3
mov esi, eax
call fcn.00434f90
add esp, 0xc
push ecx
push esi
lea ecx, [ebp - 0x4cc]
call fcn.00407db0
push 0
push 0
push str.Oci::DecodeLicense
push 0xa8
push str.OracleOci.cpp
lea ecx, [ebp - 0x2c]
call fcn.00424320
lea ecx, [ebp - 0x4cc]
push ecx
push str.OCI:_Failed_to_retrieve_size_of_license_code:__s
push 0
push 2
push 0x56998c
push eax
call fcn.00424820
add esp, 0x18
jmp 0x4229ec
mov edx, dword [ebp - 0x4d8]
lea ecx, [ebp - 0x4d4]
call fcn.004236e0
push 0
push 0
lea eax, [ebp - 0x4d8]
mov byte [ebp - 4], 1
push eax
push dword [ebp - 0x4d4]
mov ecx, esi
push 1
push edi
call fcn.004032d0
push eax
call dword [sym.imp.CRYPT32.dll_CryptStringToBinaryW]
test eax, eax
jne 0x422412
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ecx
push 0
push 2
mov edx, 0xee
mov cl, 3
mov esi, eax
call fcn.00434f90
add esp, 0xc
push ecx
push esi
lea ecx, [ebp - 0x4cc]
call fcn.00407db0
push 0
push 0
push str.Oci::DecodeLicense
push 0xb3
push str.OracleOci.cpp
lea ecx, [ebp - 0x2c]
call fcn.00424320
lea ecx, [ebp - 0x4cc]
push ecx
push str.OCI:_Failed_to_convert_license_code_to_binary:__s
push 0
push 2
push 0x5699fc
push eax
call fcn.00424820
mov eax, dword [ebp - 0x4d4]
add esp, 0x18
test eax, eax
je 0x4229ec
push eax
call fcn.004fdfa4
add esp, 4
jmp 0x4229ec
push dword [ebp - 0x4d8]
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x30], 0xf
push dword [ebp - 0x4d4]
mov dword [ebp - 0x34], 0
mov byte [ebp - 0x44], 0
call fcn.00403aa0
mov byte [ebp - 4], 2
cmp dword [ebp - 0x30], 0x10
mov esi, dword [ebp - 0x44]
jae 0x422448
lea esi, [ebp - 0x44]
push 0
push 0
push str.Oci::DecodeLicense
push 0xb9
push str.OracleOci.cpp
lea ecx, [ebp - 0x2c]
call fcn.00424320
push esi
push str.OCI:_License_JSON:__S
push 0
push 4
push 0x569a30
push eax
call fcn.00424820
xor eax, eax
add esp, 0x18
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], eax
mov word [ebp - 0x6e], ax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], 0x400
mov byte [ebp - 4], 4
push 0x14
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], eax
call fcn.004fdf4e
add esp, 4
mov dword [ebp - 0x4d0], eax
mov dword [eax], 0
mov dword [eax + 4], 0x10000
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], eax
mov byte [ebp - 4], 5
cmp dword [ebp - 0x30], 0x10
mov eax, dword [ebp - 0x44]
jae 0x4224fb
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x7c]
call fcn.0041c5d0
cmp dword [ebp - 0x4c], 0
je 0x4225ab
push ecx
push 0
push 2
mov edx, 0xee
mov cl, 3
call fcn.00434f90
add esp, 0xc
lea ecx, [ebp - 0x2c]
push 0
push 0
push str.Oci::DecodeLicense
push 0xc2
push str.OracleOci.cpp
call fcn.00424320
push str.OCI_Failed_to_parse_license_JSON.
push 0
push 2
push 0x569a7c
push eax
call fcn.00424820
mov esi, 0xd
mov edi, dword [ebp - 0x68]
add esp, 0x14
test edi, edi
je 0x422572
mov ecx, edi
call fcn.004181d0
push 0x14
push edi
call fcn.004fe530
add esp, 8
push dword [ebp - 0x5c]
call fcn.0051e536
push 1
push dword [ebp - 0x60]
call fcn.004fe530
add esp, 0xc
lea ecx, [ebp - 0x44]
call fcn.00403490
mov eax, dword [ebp - 0x4d4]
test eax, eax
je 0x4229ec
push eax
call fcn.004fdfa4
add esp, 4
jmp 0x4229ec
lea edi, [ebx + 0x38]
mov edx, 0x566f64
push edi
lea ecx, [ebp - 0x7c]
call fcn.00436550
mov esi, eax
add esp, 4
test esi, esi
je 0x42260d
push ecx
push 0
push 2
mov edx, 0xef
mov cl, 3
call fcn.00434f90
add esp, 0xc
lea ecx, [ebp - 0x2c]
push 0
push 0
push str.Oci::DecodeLicense
push 0xcc
push str.OracleOci.cpp
call fcn.00424320
push str.OCI_cid_key_doesnt_exist_in_license_code
push 0
push 2
push 0x569ae0
push eax
call fcn.00424820
jmp 0x422556
lea eax, [ebx + 0x50]
mov edx, 0x566f68
push eax
lea ecx, [ebp - 0x7c]
call fcn.00436550
mov esi, eax
add esp, 4
test esi, esi
je 0x42266f
push ecx
push 0
push 2
mov edx, 0xf0
mov cl, 3
call fcn.00434f90
add esp, 0xc
lea ecx, [ebp - 0x2c]
push 0
push 0
push str.Oci::DecodeLicense
push 0xd5
push str.OracleOci.cpp
call fcn.00424320
push str.OCI_aid_key_doesnt_exist_in_license_code
push 0
push 2
push 0x569b40
push eax
call fcn.00424820
jmp 0x422556
lea eax, [ebx + 0x68]
mov edx, str.pwsUrl
push eax
lea ecx, [ebp - 0x7c]
call fcn.00436550
mov esi, eax
add esp, 4
test esi, esi
je 0x4226d1
push ecx
push 0
push 2
mov edx, 0xdc
mov cl, 3
call fcn.00434f90
add esp, 0xc
lea ecx, [ebp - 0x2c]
push 0
push 0
push str.Oci::DecodeLicense
push 0xde
push str.OracleOci.cpp
call fcn.00424320
push str.OCI_pwsUrl_key_doesnt_exist_in_license_code
push 0
push 2
push 0x569ba8
push eax
call fcn.00424820
jmp 0x422556
lea eax, [ebx + 0x80]
mov edx, str.pwsPort
push eax
lea ecx, [ebp - 0x7c]
call fcn.00436550
mov esi, eax
add esp, 4
test esi, esi
je 0x422736
push ecx
push 0
push 2
mov edx, 0xdd
mov cl, 3
call fcn.00434f90
add esp, 0xc
lea ecx, [ebp - 0x2c]
push 0
push 0
push str.Oci::DecodeLicense
push 0xe7
push str.OracleOci.cpp
call fcn.00424320
push str.OCI_pwsPort_key_doesnt_exist_in_license_code
push 0
push 2
push 0x569c10
push eax
call fcn.00424820
jmp 0x422556
lea ecx, [ebp - 0xcc]
call fcn.00422e50
push edi
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0xcc]
call fcn.00422d20
mov ecx, eax
lea edi, [ebx + 0x98]
mov dword [ebp - 0x4d0], ecx
cmp edi, ecx
je 0x4227a8
cmp dword [edi + 0x14], 8
jb 0x422781
mov eax, dword [edi + 0x14]
mov ecx, edi
inc eax
push eax
push dword [edi]
call fcn.00403300
mov ecx, dword [ebp - 0x4d0]
mov dword [edi + 0x14], 7
cmp dword [edi + 0x14], 8
mov dword [edi + 0x10], 0
jb 0x422799
mov eax, dword [edi]
jmp 0x42279b
mov eax, edi
xor edx, edx
push ecx
mov ecx, edi
mov word [eax], dx
call fcn.00403250
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x18]
cmp eax, 8
jb 0x4227c1
inc eax
lea ecx, [ebp - 0x2c]
push eax
push dword [ebp - 0x2c]
call fcn.00403300
lea eax, [ebx + 0x50]
push eax
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0xcc]
call fcn.00422d20
mov ecx, eax
lea edi, [ebx + 0xb0]
mov dword [ebp - 0x4d0], ecx
cmp edi, ecx
je 0x422827
cmp dword [edi + 0x14], 8
jb 0x422800
mov eax, dword [edi + 0x14]
mov ecx, edi
inc eax
push eax
push dword [edi]
call fcn.00403300
mov ecx, dword [ebp - 0x4d0]
mov dword [edi + 0x14], 7
cmp dword [edi + 0x14], 8
mov dword [edi + 0x10], 0
jb 0x422818
mov eax, dword [edi]
jmp 0x42281a
mov eax, edi
xor edx, edx
push ecx
mov ecx, edi
mov word [eax], dx
call fcn.00403250
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x18]
cmp eax, 8
jb 0x422840
inc eax
lea ecx, [ebp - 0x2c]
push eax
push dword [ebp - 0x2c]
call fcn.00403300
lea eax, [ebx + 0x68]
push eax
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0xcc]
call fcn.00422d20
mov ecx, eax
lea edi, [ebx + 0xc8]
mov dword [ebp - 0x4d0], ecx
cmp edi, ecx
je 0x4228a6
cmp dword [edi + 0x14], 8
jb 0x42287f
mov eax, dword [edi + 0x14]
mov ecx, edi
inc eax
push eax
push dword [edi]
call fcn.00403300
mov ecx, dword [ebp - 0x4d0]
mov dword [edi + 0x14], 7
cmp dword [edi + 0x14], 8
mov dword [edi + 0x10], 0
jb 0x422897
mov eax, dword [edi]
jmp 0x422899
mov eax, edi
xor edx, edx
push ecx
mov ecx, edi
mov word [eax], dx
call fcn.00403250
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x18]
cmp eax, 8
jb 0x4228bf
inc eax
lea ecx, [ebp - 0x2c]
push eax
push dword [ebp - 0x2c]
call fcn.00403300
lea eax, [ebx + 0x80]
push eax
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0xcc]
call fcn.00422d20
mov ecx, eax
lea edi, [ebx + 0xe0]
mov dword [ebp - 0x4d0], ecx
cmp edi, ecx
je 0x422927
mov eax, dword [edi + 0x14]
cmp eax, 8
jb 0x422900
inc eax
mov ecx, edi
push eax
push dword [edi]
call fcn.00403300
mov ecx, dword [ebp - 0x4d0]
mov dword [edi + 0x14], 7
cmp dword [edi + 0x14], 8
mov dword [edi + 0x10], 0
jb 0x422918
mov eax, dword [edi]
jmp 0x42291a
mov eax, edi
xor edx, edx
push ecx
mov ecx, edi
mov word [eax], dx
call fcn.00403250
mov eax, dword [ebp - 0x18]
cmp eax, 8
jb 0x42293c
inc eax
lea ecx, [ebp - 0x2c]
push eax
push dword [ebp - 0x2c]
call fcn.00403300
lea ecx, [ebp - 0xcc]
call fcn.00422d60
mov edi, dword [ebp - 0x68]
test edi, edi
je 0x422960
mov ecx, edi
call fcn.004181d0
push 0x14
push edi
call fcn.004fe530
add esp, 8
push dword [ebp - 0x5c]
call fcn.0051e536
push 1
push dword [ebp - 0x60]
call fcn.004fe530
mov eax, dword [ebp - 0x30]
add esp, 0xc
cmp eax, 0x10
jb 0x42298a
inc eax
lea ecx, [ebp - 0x44]
push eax
push dword [ebp - 0x44]
call fcn.00403980
mov dword [ebp - 0x30], 0xf
mov dword [ebp - 0x34], 0
mov byte [ebp - 0x44], 0
jmp 0x42258f
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004fdf3d
mov esp, ebp
pop ebp
ret 4