Function at 0x5529b0
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5c81ed
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.00447ef0
mov ecx, ebx
mov dword [ebp - 4], 0
call fcn.00436ad0
cmp dword [esi + 0x524], 0
jne 0x552a3d
mov eax, dword [edi]
mov ecx, edi
push str.No_JSON.
call dword [eax + 0x14]
xor bl, bl
jmp 0x553375
push 0x138
lea eax, [ebp - 0x188]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x188]
call fcn.004498e0
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.00482760
test al, al
je 0x55335c
lea eax, [ebp - 0x188]
mov ecx, esi
push eax
push str.client_secret
call fcn.00482760
test al, al
je 0x55335c
lea eax, [ebp - 0x188]
mov ecx, esi
push eax
push str.tenant_id
call fcn.00482760
test al, al
je 0x55335c
lea eax, [ebp - 0x188]
mov ecx, esi
push eax
push str.vault_name
call fcn.00482760
test al, al
je 0x55335c
lea eax, [ebp - 0x188]
mov ecx, esi
push eax
push str.cert_name
call fcn.00482760
test al, al
je 0x55335c
lea eax, [ebp - 0x188]
mov ecx, esi
push eax
push str.cert_version
call fcn.00482760
test al, al
je 0x55335c
push 0x74
lea eax, [ebp - 0x3cc]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x3cc]
call fcn.0042a8a0
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.00483020
lea ecx, [ebp - 0x3cc]
call fcn.00433440
push 0x74
lea eax, [ebp - 0x4b4]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x4b4]
call fcn.0042a8a0
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.00483020
lea ecx, [ebp - 0x4b4]
call fcn.00433440
push 0x74
lea eax, [ebp - 0x358]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x358]
call fcn.0042a8a0
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.00483020
lea ecx, [ebp - 0x358]
call fcn.00433440
push 0x74
lea eax, [ebp - 0x2e4]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x2e4]
call fcn.0042a8a0
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.00483020
lea ecx, [ebp - 0x2e4]
call fcn.00433440
push 0x74
lea eax, [ebp - 0x270]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x270]
call fcn.0042a8a0
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.00483020
lea ecx, [ebp - 0x270]
call fcn.00433440
push 0x74
lea eax, [ebp - 0x1fc]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x1fc]
call fcn.0042a8a0
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.00483020
lea ecx, [ebp - 0x1fc]
call fcn.00433440
lea eax, [ebp - 0x2e4]
mov ecx, edi
push eax
push str.vault_name
call fcn.00448a80
lea eax, [ebp - 0x270]
mov ecx, edi
push eax
push str.cert_name
call fcn.00448a80
lea eax, [ebp - 0x1fc]
mov ecx, edi
push eax
push str.cert_version
call fcn.00448a80
cmp byte [edi + 0x129], 0
je 0x552d1c
lea eax, [ebp - 0x3cc]
mov ecx, edi
push eax
push str.client_id
call fcn.00448a80
lea eax, [ebp - 0x358]
mov ecx, edi
push eax
push str.tenant_id
call fcn.00448a80
call fcn.00482490
mov esi, eax
mov dword [ebp - 0xb94], esi
test esi, esi
jne 0x552d34
xor bl, bl
jmp 0x553318
xorps xmm0, xmm0
mov dword [ebp - 0x3c], 0
lea ecx, [ebp - 0x44]
movq qword [ebp - 0x44], xmm0
call fcn.00408400
push esi
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 8
call fcn.0040a120
push 0x74
lea eax, [ebp - 0x610]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x610]
call fcn.0042a8a0
push str._oauth2_token
lea ecx, [ebp - 0x358]
mov byte [ebp - 4], 9
call fcn.0042f3c0
push eax
push str.https:__login.microsoftonline.com_
lea ecx, [ebp - 0x610]
call fcn.0042aa60
lea eax, [ebp - 0x188]
push eax
lea ecx, [ebp - 0x3cc]
call fcn.0042f3c0
push eax
push str.client_id
mov ecx, esi
call fcn.004836f0
lea eax, [ebp - 0x188]
push eax
lea ecx, [ebp - 0x4b4]
call fcn.0042f3c0
push eax
push str.client_secret
mov ecx, esi
call fcn.004836f0
lea eax, [ebp - 0x188]
mov ecx, esi
push eax
push str.https:__vault.azure.net
push str.resource
call fcn.004836f0
lea eax, [ebp - 0x188]
push eax
lea ecx, [ebp - 0x610]
call fcn.0042f3c0
push eax
push str.token_endpoint
mov ecx, esi
call fcn.004836f0
push 0x118
lea eax, [ebp - 0xb88]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0xb88]
call fcn.00403870
lea ecx, [ebp - 0xb88]
mov byte [ebp - 4], 0xa
call fcn.00406c90
push str..vault.azure.net_keys_
lea ecx, [ebp - 0x2e4]
mov esi, eax
call fcn.0042f3c0
push eax
push str.https:__
mov ecx, esi
call fcn.0042aa60
lea ecx, [ebp - 0x1fc]
call fcn.0042f3c0
push eax
push 0x5cdc90
lea ecx, [ebp - 0x270]
call fcn.0042f3c0
push eax
mov ecx, esi
call fcn.0042aa60
push str._sign_api_version7.4
mov ecx, esi
call fcn.0042ade0
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.0042a8a0
mov ecx, dword [ebp - 0xb90]
lea eax, [ebp - 0x188]
push eax
lea eax, [ebp - 0x14]
mov byte [ebp - 4], 0xb
push eax
call fcn.004ab050
mov esi, eax
cmp esi, 3
jne 0x552ef9
mov ecx, dword [ebp - 0x14]
cmp ecx, 0x100
jne 0x552ee7
mov eax, str.ES256
jmp 0x552f42
mov eax, str.ES384
mov edx, str.ES512
cmp ecx, 0x180
jmp 0x552f3f
cmp esi, 1
jne 0x5532b8
cmp byte [ebp + 0x10], 0
je 0x552f23
mov ecx, dword [ebp + 0xc]
cmp ecx, 7
jne 0x552f17
mov eax, str.PS256
jmp 0x552f42
mov eax, str.PS384
mov edx, str.PS512
jmp 0x552f3c
mov ecx, dword [ebp + 0x14]
cmp ecx, 7
jne 0x552f32
mov eax, str.RS256
jmp 0x552f42
mov eax, str.RS384
mov edx, str.RS512
cmp ecx, 2
cmovne eax, edx
push eax
lea ecx, [ebp - 0x440]
call fcn.0042ade0
lea eax, [ebp - 0x440]
mov ecx, edi
push eax
push 0x628a10
call fcn.00448a80
push 0x74
lea eax, [ebp - 0x59c]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x59c]
call fcn.0042a8a0
mov ecx, dword [ebp - 0xb8c]
lea eax, [ebp - 0x59c]
push eax
push str.base64url
mov byte [ebp - 4], 0xc
call fcn.00438600
push 0x118
lea eax, [ebp - 0x840]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x840]
call fcn.00403870
push str.___value_:_
lea ecx, [ebp - 0x440]
mov byte [ebp - 4], 0xd
call fcn.0042f3c0
push eax
push str._alg_:_
lea ecx, [ebp - 0x840]
call fcn.00406c90
mov ecx, eax
call fcn.0042aa60
push 0x617da4
lea ecx, [ebp - 0x59c]
call fcn.0042f3c0
push eax
lea ecx, [ebp - 0x840]
call fcn.00406c90
mov ecx, eax
call fcn.0042a9a0
call fcn.0041d000
mov esi, eax
mov dword [ebp - 0xb8c], esi
test esi, esi
jne 0x553022
xor bl, bl
jmp 0x5532a0
xorps xmm0, xmm0
mov dword [ebp - 0x30], 0
lea ecx, [ebp - 0x38]
movq qword [ebp - 0x38], xmm0
call fcn.00408400
lea eax, [esi + 0x8dc]
mov byte [ebp - 4], 0xe
push eax
lea ecx, [ebp - 0x38]
call fcn.0040a120
push 0x118
lea eax, [ebp - 0xa70]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0xa70]
call fcn.00403870
mov ecx, dword [ebp - 0xb94]
lea eax, [ebp - 0xa70]
push eax
mov byte [ebp - 4], 0xf
call fcn.00480ba0
lea eax, [ebp - 0xa70]
mov ecx, esi
push eax
call fcn.00415d40
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.00403870
push str.application_json
lea ecx, [ebp - 0x958]
mov byte [ebp - 4], 0x10
call fcn.004043e0
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.0041ff90
mov esi, eax
test esi, esi
jne 0x5530fb
xor bl, bl
jmp 0x553282
xorps xmm0, xmm0
mov dword [ebp - 0x24], 0
lea ecx, [ebp - 0x2c]
movq qword [ebp - 0x2c], xmm0
call fcn.00408400
push esi
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x11
call fcn.0040a120
push 0x118
lea eax, [ebp - 0x728]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x728]
call fcn.00403870
lea eax, [ebp - 0x188]
mov byte [ebp - 4], 0x12
push eax
lea eax, [ebp - 0x728]
mov ecx, esi
push eax
call fcn.0040ca10
mov ecx, esi
call fcn.0040cd60
mov esi, eax
mov ecx, edi
push esi
push str.statusCode
call fcn.00448710
cmp esi, 0xc8
je 0x553191
lea eax, [ebp - 0x728]
mov ecx, edi
push eax
push str.response
call fcn.00448c80
xor bl, bl
jmp 0x55326f
call fcn.00482490
mov esi, eax
test esi, esi
jne 0x5531a3
xor bl, bl
jmp 0x55326f
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
lea ecx, [ebp - 0x20]
movq qword [ebp - 0x20], xmm0
call fcn.00408400
push esi
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x13
call fcn.0040a120
lea eax, [ebp - 0x728]
mov ecx, esi
push eax
call fcn.00480ca0
push 0x74
lea eax, [ebp - 0x528]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x528]
call fcn.0042a8a0
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.00483020
test al, al
jne 0x553238
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.00448c80
xor bl, bl
jmp 0x55325c
push str.base64url
lea ecx, [ebp - 0x528]
call fcn.0042f3c0
push eax
mov ecx, ebx
call fcn.00435790
mov ecx, ebx
call fcn.00402f10
test eax, eax
setne bl
lea ecx, [ebp - 0x528]
call fcn.0042a8f0
lea ecx, [ebp - 0x20]
call fcn.004084b0
lea ecx, [ebp - 0x728]
call fcn.00403900
lea ecx, [ebp - 0x2c]
call fcn.004084b0
lea ecx, [ebp - 0x958]
call fcn.00403900
lea ecx, [ebp - 0xa70]
call fcn.00403900
lea ecx, [ebp - 0x38]
call fcn.004084b0
lea ecx, [ebp - 0x840]
call fcn.00403900
lea ecx, [ebp - 0x59c]
call fcn.0042a8f0
jmp 0x5532ef
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 0x5532d5
mov ecx, 0x628d34
jmp 0x5532e0
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.0042a8f0
lea ecx, [ebp - 0xb88]
call fcn.00403900
lea ecx, [ebp - 0x610]
call fcn.0042a8f0
lea ecx, [ebp - 0x44]
call fcn.004084b0
lea ecx, [ebp - 0x1fc]
call fcn.0042a8f0
lea ecx, [ebp - 0x270]
call fcn.0042a8f0
lea ecx, [ebp - 0x2e4]
call fcn.0042a8f0
lea ecx, [ebp - 0x358]
call fcn.0042a8f0
lea ecx, [ebp - 0x4b4]
call fcn.0042a8f0
lea ecx, [ebp - 0x3cc]
call fcn.0042a8f0
jmp 0x55336a
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.00449900
lea ecx, [ebp - 0x50]
call fcn.00447ff0
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.005af5a8
mov esp, ebp
pop ebp
ret