Function at 0x4ad180
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x70
call fcn.00474d50
mov eax, dword [0x520628]
xor eax, esp
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x78]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x8c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x88]
push edi
mov edi, dword [esp + 0x84]
xor ebp, ebp
push eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], ebp
call fcn.0049ec40
mov ebx, eax
add esp, 4
mov dword [esp + 0x18], ebx
test ebx, ebx
jl 0x4ad268
mov eax, dword [esp + 0x94]
cmp eax, 0xffffffff
jne 0x4ad240
mov dword [esp + 0x94], ebx
mov ecx, dword [edi + 0x10]
push ecx
call fcn.00492a10
mov ebp, eax
dec ebp
push edi
and ebp, 7
call fcn.00493b10
mov ecx, ebp
mov edx, 0xff
shl edx, cl
mov cl, byte [esi]
add esp, 8
test cl, dl
je 0x4ad27d
push 0x69
push str..crypto_rsa_rsa_pss.c
push 0x85
push 0x7e
push 4
call fcn.004992c0
add esp, 0x14
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.0046e186
add esp, 0x70
ret
cmp eax, 0xfffffffe
jne 0x4ad24e
mov dword [esp + 0x94], eax
jmp 0x4ad1ea
jge 0x4ad1ea
push 0x61
push str..crypto_rsa_rsa_pss.c
push 0x88
push 0x7e
push 4
call fcn.004992c0
add esp, 0x14
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.0046e186
add esp, 0x70
ret
test ebp, ebp
jne 0x4ad283
inc esi
dec eax
mov edx, dword [esp + 0x94]
lea ecx, [ebx + edx + 2]
cmp eax, ecx
jge 0x4ad2be
push 0x73
push str..crypto_rsa_rsa_pss.c
push 0x6d
push 0x7e
push 4
call fcn.004992c0
mov eax, dword [esp + 0x24]
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.0046e186
add esp, 0x70
ret
cmp byte [esi + eax - 1], 0xbc
je 0x4ad2f4
push 0x78
push str..crypto_rsa_rsa_pss.c
push 0x86
push 0x7e
push 4
call fcn.004992c0
mov eax, dword [esp + 0x24]
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.0046e186
add esp, 0x70
ret
sub eax, ebx
dec eax
mov edi, eax
push 0x7d
lea edx, [esi + edi]
push str..crypto_rsa_rsa_pss.c
push edi
mov dword [esp + 0x20], edx
call fcn.00495e10
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x4ad333
push 0x80
push str..crypto_rsa_rsa_pss.c
push 0x41
push 0x7e
push 4
call fcn.004992c0
add esp, 0x14
jmp 0x4ad4e2
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push eax
push ecx
push edx
push edi
push ebx
call fcn.004a2750
add esp, 0x14
test eax, eax
jl 0x4ad4e2
test edi, edi
jle 0x4ad36b
mov eax, ebx
sub esi, ebx
mov ecx, edi
mov edi, edi
mov dl, byte [esi + eax]
xor byte [eax], dl
inc eax
sub ecx, 1
jne 0x4ad360
test ebp, ebp
je 0x4ad37f
mov ecx, 8
sub ecx, ebp
mov eax, 0xff
sar eax, cl
and byte [ebx], al
xor esi, esi
cmp byte [ebx], 0
jne 0x4ad39b
lea eax, [edi - 1]
lea esp, [esp]
cmp esi, eax
jge 0x4ad39b
inc esi
cmp byte [esi + ebx], 0
je 0x4ad390
mov cl, byte [esi + ebx]
inc esi
cmp cl, 1
je 0x4ad3c4
push 0x8c
push str..crypto_rsa_rsa_pss.c
push 0x87
push 0x7e
push 4
call fcn.004992c0
add esp, 0x14
jmp 0x4ad4e2
mov eax, dword [esp + 0x94]
test eax, eax
jl 0x4ad3f7
mov edx, edi
sub edx, esi
cmp edx, eax
je 0x4ad3f7
push 0x91
push str..crypto_rsa_rsa_pss.c
push 0x88
push 0x7e
push 4
call fcn.004992c0
add esp, 0x14
jmp 0x4ad4e2
lea eax, [esp + 0x24]
push eax
call fcn.00495ff0
mov ecx, dword [esp + 0x20]
push 0
push ecx
lea edx, [esp + 0x30]
push edx
call fcn.00496040
push 8
lea eax, [esp + 0x38]
push 0x504d54
push eax
call fcn.004961f0
mov ebp, dword [esp + 0x34]
mov ecx, dword [esp + 0x3c]
push ebp
push ecx
lea edx, [esp + 0x48]
push edx
call fcn.004961f0
add esp, 0x28
sub edi, esi
je 0x4ad44f
push edi
add esi, ebx
lea eax, [esp + 0x28]
push esi
push eax
call fcn.004961f0
add esp, 0xc
push 0
lea ecx, [esp + 0x40]
push ecx
lea edx, [esp + 0x2c]
push edx
call fcn.00496330
lea eax, [esp + 0x30]
push eax
call fcn.00496280
mov esi, dword [esp + 0x24]
add esp, 0x10
mov eax, ebp
lea edi, [esp + 0x3c]
cmp ebp, 4
jb 0x4ad494
lea esp, [esp]
mov ecx, dword [edi]
cmp ecx, dword [esi]
jne 0x4ad4b8
sub eax, 4
add esi, 4
add edi, 4
cmp eax, 4
jae 0x4ad480
test eax, eax
je 0x4ad4da
mov dl, byte [esi]
cmp dl, byte [edi]
jne 0x4ad4b8
cmp eax, 1
jbe 0x4ad4da
mov cl, byte [esi + 1]
cmp cl, byte [edi + 1]
jne 0x4ad4b8
cmp eax, 2
jbe 0x4ad4da
mov dl, byte [esi + 2]
cmp dl, byte [edi + 2]
je 0x4ad4da
push 0x9e
push str..crypto_rsa_rsa_pss.c
push 0x68
push 0x7e
push 4
call fcn.004992c0
add esp, 0x14
mov dword [esp + 0x10], 0
jmp 0x4ad4e2
mov dword [esp + 0x10], 1
test ebx, ebx
je 0x4ad229
push ebx
call fcn.00495fb0
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x14]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0046e186
add esp, 0x70
ret