Function at 0x552a10
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5c823d
mov eax, dword fs:[0]
push eax
sub esp, 0xb88
mov eax, dword [0x68cc00]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0x18]
lea ecx, [ebp - 0x50]
mov edi, dword [ebp + 0x20]
xorps xmm0, xmm0
mov esi, dword [ebp + 8]
mov ebx, dword [ebp + 0x1c]
push str.sign_azure_keyvault
push edi
mov dword [ebp - 0xb90], esi
mov dword [ebp - 0xb8c], eax
movq qword [ebp - 0x50], xmm0
mov dword [ebp - 0x48], 0
call fcn.00447f50
mov ecx, ebx
mov dword [ebp - 4], 0
call fcn.00436b40
cmp dword [esi + 0x524], 0
jne 0x552a9d
mov eax, dword [edi]
mov ecx, edi
push str.No_JSON.
call dword [eax + 0x14]
xor bl, bl
jmp 0x5533d5
push 0x138
lea eax, [ebp - 0x188]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x188]
call fcn.00449930
mov esi, dword [esi + 0x524]
lea eax, [ebp - 0x188]
push eax
push str.client_id
mov ecx, esi
mov byte [ebp - 4], 1
call fcn.004827b0
test al, al
je 0x5533bc
lea eax, [ebp - 0x188]
mov ecx, esi
push eax
push str.client_secret
call fcn.004827b0
test al, al
je 0x5533bc
lea eax, [ebp - 0x188]
mov ecx, esi
push eax
push str.tenant_id
call fcn.004827b0
test al, al
je 0x5533bc
lea eax, [ebp - 0x188]
mov ecx, esi
push eax
push str.vault_name
call fcn.004827b0
test al, al
je 0x5533bc
lea eax, [ebp - 0x188]
mov ecx, esi
push eax
push str.cert_name
call fcn.004827b0
test al, al
je 0x5533bc
lea eax, [ebp - 0x188]
mov ecx, esi
push eax
push str.cert_version
call fcn.004827b0
test al, al
je 0x5533bc
push 0x74
lea eax, [ebp - 0x3cc]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x3cc]
call fcn.0042a910
lea eax, [ebp - 0x188]
mov byte [ebp - 4], 2
push eax
lea eax, [ebp - 0x3cc]
mov ecx, esi
push eax
push str.client_id
call fcn.00483070
lea ecx, [ebp - 0x3cc]
call fcn.004334b0
push 0x74
lea eax, [ebp - 0x4b4]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x4b4]
call fcn.0042a910
lea eax, [ebp - 0x188]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x4b4]
mov ecx, esi
push eax
push str.client_secret
call fcn.00483070
lea ecx, [ebp - 0x4b4]
call fcn.004334b0
push 0x74
lea eax, [ebp - 0x358]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x358]
call fcn.0042a910
lea eax, [ebp - 0x188]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0x358]
mov ecx, esi
push eax
push str.tenant_id
call fcn.00483070
lea ecx, [ebp - 0x358]
call fcn.004334b0
push 0x74
lea eax, [ebp - 0x2e4]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x2e4]
call fcn.0042a910
lea eax, [ebp - 0x188]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0x2e4]
mov ecx, esi
push eax
push str.vault_name
call fcn.00483070
lea ecx, [ebp - 0x2e4]
call fcn.004334b0
push 0x74
lea eax, [ebp - 0x270]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x270]
call fcn.0042a910
lea eax, [ebp - 0x188]
mov byte [ebp - 4], 6
push eax
lea eax, [ebp - 0x270]
mov ecx, esi
push eax
push str.cert_name
call fcn.00483070
lea ecx, [ebp - 0x270]
call fcn.004334b0
push 0x74
lea eax, [ebp - 0x1fc]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x1fc]
call fcn.0042a910
lea eax, [ebp - 0x188]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0x1fc]
mov ecx, esi
push eax
push str.cert_version
call fcn.00483070
lea ecx, [ebp - 0x1fc]
call fcn.004334b0
lea eax, [ebp - 0x2e4]
mov ecx, edi
push eax
push str.vault_name
call fcn.00448ae0
lea eax, [ebp - 0x270]
mov ecx, edi
push eax
push str.cert_name
call fcn.00448ae0
lea eax, [ebp - 0x1fc]
mov ecx, edi
push eax
push str.cert_version
call fcn.00448ae0
cmp byte [edi + 0x129], 0
je 0x552d7c
lea eax, [ebp - 0x3cc]
mov ecx, edi
push eax
push str.client_id
call fcn.00448ae0
lea eax, [ebp - 0x358]
mov ecx, edi
push eax
push str.tenant_id
call fcn.00448ae0
call fcn.004824e0
mov esi, eax
mov dword [ebp - 0xb94], esi
test esi, esi
jne 0x552d94
xor bl, bl
jmp 0x553378
xorps xmm0, xmm0
mov dword [ebp - 0x3c], 0
lea ecx, [ebp - 0x44]
movq qword [ebp - 0x44], xmm0
call fcn.00408470
push esi
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 8
call fcn.0040a190
push 0x74
lea eax, [ebp - 0x610]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x610]
call fcn.0042a910
push str._oauth2_token
lea ecx, [ebp - 0x358]
mov byte [ebp - 4], 9
call fcn.0042f430
push eax
push str.https:__login.microsoftonline.com_
lea ecx, [ebp - 0x610]
call fcn.0042aad0
lea eax, [ebp - 0x188]
push eax
lea ecx, [ebp - 0x3cc]
call fcn.0042f430
push eax
push str.client_id
mov ecx, esi
call fcn.00483740
lea eax, [ebp - 0x188]
push eax
lea ecx, [ebp - 0x4b4]
call fcn.0042f430
push eax
push str.client_secret
mov ecx, esi
call fcn.00483740
lea eax, [ebp - 0x188]
mov ecx, esi
push eax
push str.https:__vault.azure.net
push str.resource
call fcn.00483740
lea eax, [ebp - 0x188]
push eax
lea ecx, [ebp - 0x610]
call fcn.0042f430
push eax
push str.token_endpoint
mov ecx, esi
call fcn.00483740
push 0x118
lea eax, [ebp - 0xb88]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0xb88]
call fcn.004038e0
lea ecx, [ebp - 0xb88]
mov byte [ebp - 4], 0xa
call fcn.00406d00
push str..vault.azure.net_keys_
lea ecx, [ebp - 0x2e4]
mov esi, eax
call fcn.0042f430
push eax
push str.https:__
mov ecx, esi
call fcn.0042aad0
lea ecx, [ebp - 0x1fc]
call fcn.0042f430
push eax
push 0x5cdc90
lea ecx, [ebp - 0x270]
call fcn.0042f430
push eax
mov ecx, esi
call fcn.0042aad0
push str._sign_api_version7.4
mov ecx, esi
call fcn.0042ae50
push 0x74
lea eax, [ebp - 0x440]
mov dword [ebp - 0x14], 0
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x440]
call fcn.0042a910
mov ecx, dword [ebp - 0xb90]
lea eax, [ebp - 0x188]
push eax
lea eax, [ebp - 0x14]
mov byte [ebp - 4], 0xb
push eax
call fcn.004ab080
mov esi, eax
cmp esi, 3
jne 0x552f59
mov ecx, dword [ebp - 0x14]
cmp ecx, 0x100
jne 0x552f47
mov eax, str.ES256
jmp 0x552fa2
mov eax, str.ES384
mov edx, str.ES512
cmp ecx, 0x180
jmp 0x552f9f
cmp esi, 1
jne 0x553318
cmp byte [ebp + 0x10], 0
je 0x552f83
mov ecx, dword [ebp + 0xc]
cmp ecx, 7
jne 0x552f77
mov eax, str.PS256
jmp 0x552fa2
mov eax, str.PS384
mov edx, str.PS512
jmp 0x552f9c
mov ecx, dword [ebp + 0x14]
cmp ecx, 7
jne 0x552f92
mov eax, str.RS256
jmp 0x552fa2
mov eax, str.RS384
mov edx, str.RS512
cmp ecx, 2
cmovne eax, edx
push eax
lea ecx, [ebp - 0x440]
call fcn.0042ae50
lea eax, [ebp - 0x440]
mov ecx, edi
push eax
push 0x628a10
call fcn.00448ae0
push 0x74
lea eax, [ebp - 0x59c]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x59c]
call fcn.0042a910
mov ecx, dword [ebp - 0xb8c]
lea eax, [ebp - 0x59c]
push eax
push str.base64url
mov byte [ebp - 4], 0xc
call fcn.00438670
push 0x118
lea eax, [ebp - 0x840]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x840]
call fcn.004038e0
push str.___value_:_
lea ecx, [ebp - 0x440]
mov byte [ebp - 4], 0xd
call fcn.0042f430
push eax
push str._alg_:_
lea ecx, [ebp - 0x840]
call fcn.00406d00
mov ecx, eax
call fcn.0042aad0
push 0x617da4
lea ecx, [ebp - 0x59c]
call fcn.0042f430
push eax
lea ecx, [ebp - 0x840]
call fcn.00406d00
mov ecx, eax
call fcn.0042aa10
call fcn.0041d060
mov esi, eax
mov dword [ebp - 0xb8c], esi
test esi, esi
jne 0x553082
xor bl, bl
jmp 0x553300
xorps xmm0, xmm0
mov dword [ebp - 0x30], 0
lea ecx, [ebp - 0x38]
movq qword [ebp - 0x38], xmm0
call fcn.00408470
lea eax, [esi + 0x8dc]
mov byte [ebp - 4], 0xe
push eax
lea ecx, [ebp - 0x38]
call fcn.0040a190
push 0x118
lea eax, [ebp - 0xa70]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0xa70]
call fcn.004038e0
mov ecx, dword [ebp - 0xb94]
lea eax, [ebp - 0xa70]
push eax
mov byte [ebp - 4], 0xf
call fcn.00480bf0
lea eax, [ebp - 0xa70]
mov ecx, esi
push eax
call fcn.00415da0
mov esi, dword [edi + 0x10c]
lea eax, [ebp - 0x958]
push 0x118
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x958]
call fcn.004038e0
push str.application_json
lea ecx, [ebp - 0x958]
mov byte [ebp - 4], 0x10
call fcn.00404450
mov ecx, dword [ebp - 0xb8c]
lea eax, [ebp - 0x840]
push edi
push esi
push eax
lea eax, [ebp - 0x958]
push eax
lea eax, [ebp - 0xb88]
push eax
call fcn.0041ffe0
mov esi, eax
test esi, esi
jne 0x55315b
xor bl, bl
jmp 0x5532e2
xorps xmm0, xmm0
mov dword [ebp - 0x24], 0
lea ecx, [ebp - 0x2c]
movq qword [ebp - 0x2c], xmm0
call fcn.00408470
push esi
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x11
call fcn.0040a190
push 0x118
lea eax, [ebp - 0x728]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x728]
call fcn.004038e0
lea eax, [ebp - 0x188]
mov byte [ebp - 4], 0x12
push eax
lea eax, [ebp - 0x728]
mov ecx, esi
push eax
call fcn.0040ca80
mov ecx, esi
call fcn.0040cdd0
mov esi, eax
mov ecx, edi
push esi
push str.statusCode
call fcn.00448770
cmp esi, 0xc8
je 0x5531f1
lea eax, [ebp - 0x728]
mov ecx, edi
push eax
push str.response
call fcn.00448ce0
xor bl, bl
jmp 0x5532cf
call fcn.004824e0
mov esi, eax
test esi, esi
jne 0x553203
xor bl, bl
jmp 0x5532cf
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
lea ecx, [ebp - 0x20]
movq qword [ebp - 0x20], xmm0
call fcn.00408470
push esi
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x13
call fcn.0040a190
lea eax, [ebp - 0x728]
mov ecx, esi
push eax
call fcn.00480cf0
push 0x74
lea eax, [ebp - 0x528]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x528]
call fcn.0042a910
lea eax, [ebp - 0x188]
mov byte [ebp - 4], 0x14
push eax
lea eax, [ebp - 0x528]
mov ecx, esi
push eax
push str.value
call fcn.00483070
test al, al
jne 0x553298
mov eax, dword [edi]
mov ecx, edi
push str.No_value_found_in_JSON_response.
call dword [eax + 0x14]
lea eax, [ebp - 0x728]
mov ecx, edi
push eax
push str.response
call fcn.00448ce0
xor bl, bl
jmp 0x5532bc
push str.base64url
lea ecx, [ebp - 0x528]
call fcn.0042f430
push eax
mov ecx, ebx
call fcn.00435800
mov ecx, ebx
call fcn.00402f80
test eax, eax
setne bl
lea ecx, [ebp - 0x528]
call fcn.0042a960
lea ecx, [ebp - 0x20]
call fcn.00408520
lea ecx, [ebp - 0x728]
call fcn.00403970
lea ecx, [ebp - 0x2c]
call fcn.00408520
lea ecx, [ebp - 0x958]
call fcn.00403970
lea ecx, [ebp - 0xa70]
call fcn.00403970
lea ecx, [ebp - 0x38]
call fcn.00408520
lea ecx, [ebp - 0x840]
call fcn.00403970
lea ecx, [ebp - 0x59c]
call fcn.0042a960
jmp 0x55334f
mov eax, dword [edi]
mov ecx, edi
push str.Only_RSA_and_EC_keys_are_supported_by_Azure_Key_Vault
call dword [eax + 0x14]
mov eax, str.None
cmp esi, 2
jne 0x553335
mov ecx, 0x628d34
jmp 0x553340
cmp esi, 5
mov ecx, str.Ed25519
cmovne ecx, eax
mov eax, dword [edi]
push ecx
push str.certKeyType
mov ecx, edi
call dword [eax + 0x2c]
xor bl, bl
lea ecx, [ebp - 0x440]
call fcn.0042a960
lea ecx, [ebp - 0xb88]
call fcn.00403970
lea ecx, [ebp - 0x610]
call fcn.0042a960
lea ecx, [ebp - 0x44]
call fcn.00408520
lea ecx, [ebp - 0x1fc]
call fcn.0042a960
lea ecx, [ebp - 0x270]
call fcn.0042a960
lea ecx, [ebp - 0x2e4]
call fcn.0042a960
lea ecx, [ebp - 0x358]
call fcn.0042a960
lea ecx, [ebp - 0x4b4]
call fcn.0042a960
lea ecx, [ebp - 0x3cc]
call fcn.0042a960
jmp 0x5533ca
mov eax, dword [edi]
mov ecx, edi
push str.Missing_one_or_more_of_client_id__client_secret__tenant_id__vault_name__cert_name__cert_version
call dword [eax + 0x14]
xor bl, bl
lea ecx, [ebp - 0x188]
call fcn.00449950
lea ecx, [ebp - 0x50]
call fcn.00448050
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005af618
mov esp, ebp
pop ebp
ret