Function at 0x4f2450
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x30
mov edi, dword [ebp + 8]
mov ecx, dword [ebp + 0x18]
mov eax, dword [0x53d010]
xor eax, ebp
test ecx, ecx
cmove ecx, dword [ebp + 0x14]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x10], eax
mov eax, dword [edi + 4]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4f24ee
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + 4]
mov dword [ebp - 0x24], edx
mov edx, dword [eax]
xor esi, esi
xor ebx, ebx
or ebx, dword [edx + esi*4]
inc esi
cmp ecx, esi
jne 0x4f248b
test ebx, ebx
je 0x4f24ee
push eax
call fcn.004e6040
add esp, 4
mov esi, eax
add esi, 7
mov edx, esi
and edx, 7
mov eax, dword [edi]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x4f24e9
mov esi, edx
call dword [section..00cfg]
push edi
call ecx
mov edx, esi
add esp, 4
mov esi, eax
mov ebx, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x24]
test edx, edx
jne 0x4f24d4
mov byte [ebx], 0
inc ebx
dec esi
lea eax, [ecx + 2]
cmp esi, eax
jae 0x4f2527
push 0x156
push str....._third_party_boringssl_srccrypto_fipsmodule_rsapadding.c
push 0x72
jmp 0x4f24fa
shr esi, 3
jmp 0x4f24c5
push 0x149
push str....._third_party_boringssl_srccrypto_fipsmodule_rsapadding.c
push pe_nt_image_headers32
push 0
push 4
call fcn.00501490
add esp, 0x14
xor esi, esi
xor edi, edi
push edi
call fcn.00475050
add esp, 4
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0049b483
mov eax, esi
add esp, 0x30
pop esi
pop edi
pop ebx
pop ebp
ret
mov edi, ecx
mov eax, dword [ebp + 0x1c]
cmp eax, 0xffffffff
je 0x4f253d
cmp eax, 0xfffffffe
jne 0x4f2552
mov edi, esi
sub edi, ecx
add edi, 0xfffffffe
mov eax, esi
sub eax, ecx
mov dword [ebp - 0x30], eax
add eax, 0xfffffffe
cmp eax, edi
jae 0x4f25a1
push 0x16b
jmp 0x4f24e0
mov edi, eax
test eax, eax
jns 0x4f253d
push 0x164
push str....._third_party_boringssl_srccrypto_fipsmodule_rsapadding.c
push 0x8a
jmp 0x4f24fa
push dword [ebp - 0x1c]
call fcn.00475050
add esp, 4
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x4f258c
mov ecx, dword [eax]
mov esi, dword [ebp - 0x18]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
xorps xmm0, xmm0
movups xmmword [ebp - 0x20], xmm0
xor esi, esi
jmp 0x4f250a
mov dword [ebp - 0x2c], edi
xor edi, edi
jmp 0x4f25cf
mov dword [ebp - 0x38], edx
test edi, edi
je 0x4f259a
push edi
call fcn.00475010
add esp, 4
test eax, eax
je 0x4f2506
mov ecx, edi
mov edi, eax
push 0x530d77
mov dword [ebp - 0x2c], ecx
push ecx
push eax
call fcn.004eb170
add esp, 0xc
xorps xmm0, xmm0
lea eax, [ebp - 0x20]
movups xmmword [eax], xmm0
sub esp, 4
push dword [ebp + 0x14]
push eax
call fcn.00438d40
add esp, 0xc
test eax, eax
je 0x4f2569
mov eax, dword [ebp - 0x30]
lea ecx, [ebx + eax]
dec ecx
mov dword [ebp - 0x34], ecx
dec eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0x10]
call dword [section..00cfg]
push 8
push 0x530dd7
lea eax, [ebp - 0x20]
push eax
call ecx
add esp, 0xc
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0x10]
call dword [section..00cfg]
push dword [ebp - 0x24]
push dword [ebp + 0x10]
lea eax, [ebp - 0x20]
push eax
call ecx
add esp, 0xc
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0x10]
call dword [section..00cfg]
push dword [ebp - 0x2c]
push edi
lea eax, [ebp - 0x20]
push eax
call ecx
add esp, 0xc
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0x14]
call dword [section..00cfg]
push dword [ebp - 0x34]
lea eax, [ebp - 0x20]
push eax
call ecx
add esp, 8
mov eax, dword [ebp - 0x20]
push dword [eax + 0x1c]
push dword [ebp - 0x1c]
call fcn.00475090
add esp, 8
push dword [ebp - 0x1c]
call fcn.00475050
add esp, 4
mov eax, dword [ebp - 0x14]
test eax, eax
mov dword [ebp - 0x28], ebx
je 0x4f269f
mov ecx, dword [eax]
mov ebx, dword [ebp - 0x18]
call dword [section..00cfg]
push ebx
mov ebx, dword [ebp - 0x28]
call ecx
add esp, 4
xorps xmm0, xmm0
movups xmmword [ebp - 0x20], xmm0
push dword [ebp - 0x3c]
push dword [ebp - 0x24]
push dword [ebp - 0x34]
push dword [ebp - 0x30]
push ebx
call fcn.0043a790
add esp, 0x14
test eax, eax
je 0x4f2593
mov ecx, ebx
mov ebx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x24]
add edx, ebx
mov eax, esi
sub eax, edx
xor byte [eax + ecx - 2], 1
test ebx, ebx
je 0x4f26f0
not edx
mov eax, dword [ebp - 0x28]
add eax, esi
add edx, eax
xor eax, eax
mov cl, byte [edi + eax]
xor byte [edx + eax], cl
inc eax
cmp ebx, eax
jne 0x4f26e5
mov eax, dword [ebp - 0x38]
test eax, eax
mov edx, dword [ebp - 0x28]
je 0x4f2707
mov cl, 8
sub cl, al
mov eax, 0xff
shr eax, cl
and byte [edx], al
mov byte [esi + edx - 1], 0xbc
xor esi, esi
inc esi
jmp 0x4f250a