Function at 0x4f0793
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, ecx
push edi
mov edi, edx
lea edx, [ebp - 4]
mov ecx, edi
and dword [esi + 8], 0
call fcn.004f04b0
test eax, eax
js 0x4f07f8
lea edx, [esi + 0xe]
call fcn.004f0530
test eax, eax
js 0x4f07f8
lea ebx, [esi + 0xc]
mov ecx, edi
mov edx, ebx
call fcn.004f06de
test eax, eax
js 0x4f07f8
lea edx, [esi + 4]
call fcn.004f0742
test eax, eax
js 0x4f07f8
mov eax, 0x80
cmp ax, word [ebx]
jae 0x4f0800
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.Error_encountered_in_d:_buildserver_bna_2work_git_bootstrapper_repositorycontribcontrib_s2ncrypto_s2n_hmac.c_line_146
mov dword [eax + 8], 0x18000009
or eax, 0xffffffff
pop edi
pop esi
pop ebx
leave
ret
cmp byte [esi + 0xe], 0x40
jbe 0x4f0817
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.Error_encountered_in_d:_buildserver_bna_2work_git_bootstrapper_repositorycontribcontrib_s2ncrypto_s2n_hmac.c_line_147
jmp 0x4f07f1
mov dword [esi], edi
cmp edi, 8
je 0x4f09f8
cmp edi, 7
je 0x4f09f8
mov edi, dword [ebp - 4]
cmp edi, 7
ja 0x4f084b
push edi
lea ecx, [esi + 0xf0]
mov edx, edi
call fcn.004f00c0
pop ecx
mov ecx, dword fs:[0x2c]
jmp 0x4f0865
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx]
mov dword [eax + 0xc], str.Error_encountered_in_d:_buildserver_bna_2work_git_bootstrapper_repositorycontribcontrib_s2ncrypto_s2n_hash.c_line_73
mov dword [eax + 8], 0x18000011
or eax, 0xffffffff
test eax, eax
js 0x4f07f8
cmp edi, 7
ja 0x4f0886
push edi
mov edx, edi
lea ecx, [esi + 0x1d0]
call fcn.004f00c0
pop ecx
mov ecx, dword fs:[0x2c]
jmp 0x4f0899
mov eax, dword [ecx]
mov dword [eax + 0xc], str.Error_encountered_in_d:_buildserver_bna_2work_git_bootstrapper_repositorycontribcontrib_s2ncrypto_s2n_hash.c_line_73
mov dword [eax + 8], 0x18000011
or eax, 0xffffffff
test eax, eax
js 0x4f07f8
movzx eax, word [ebx]
mov edi, dword [ebp + 0xc]
cmp edi, eax
jbe 0x4f09b1
mov edx, dword [ebp + 8]
lea ecx, [esi + 0x1d0]
push edi
call fcn.004f017c
pop ecx
test eax, eax
js 0x4f07f8
movzx eax, byte [esi + 0xe]
lea edi, [esi + 0x330]
push eax
mov edx, edi
lea ecx, [esi + 0x1d0]
call fcn.004f0278
pop ecx
test eax, eax
js 0x4f07f8
mov al, byte [esi + 0xe]
test al, al
je 0x4f091b
lea ecx, [esi + 0x2b0]
test ecx, ecx
je 0x4f0995
test edi, edi
je 0x4f0995
movzx eax, al
push eax
push edi
push ecx
call fcn.00552b30
add esp, 0xc
test eax, eax
je 0x4f07f8
movzx edi, byte [esi + 0xe]
test edi, edi
je 0x4f0934
lea eax, [esi + 0x2b0]
mov ecx, edi
xor byte [eax], 0x36
inc eax
sub ecx, 1
jne 0x4f092b
movzx eax, word [ebx]
mov ecx, eax
cmp edi, eax
jge 0x4f094d
mov byte [esi + edi + 0x2b0], 0x36
inc edi
movzx ecx, word [ebx]
cmp edi, ecx
jl 0x4f093d
movzx eax, cx
lea edi, [esi + 0x2b0]
push eax
lea ecx, [esi + 0xf0]
mov edx, edi
call fcn.004f017c
pop ecx
test eax, eax
js 0x4f07f8
xor eax, eax
cmp ax, word [ebx]
jae 0x4f0989
mov edx, 0xfffffd50
sub edx, esi
xor byte [edi], 0x6a
inc edi
movzx eax, word [ebx]
lea ecx, [edi + edx]
cmp ecx, eax
jl 0x4f097b
mov ecx, esi
call fcn.004f0ad9
jmp 0x4f07fb
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx]
mov dword [ecx + 8], 0x18000008
mov dword [ecx + 0xc], str.Error_encountered_in_d:_buildserver_bna_2work_git_bootstrapper_repositorycontribcontrib_s2ncrypto_s2n_hmac.c_line_163
jmp 0x4f07f8
test edi, edi
je 0x4f0934
lea eax, [esi + 0x2b0]
test eax, eax
je 0x4f09e3
cmp dword [ebp + 8], 0
je 0x4f09e3
push edi
push dword [ebp + 8]
push eax
call fcn.00552b30
add esp, 0xc
test eax, eax
jne 0x4f091f
jmp 0x4f07f8
mov eax, dword [ecx]
mov dword [eax + 8], 0x18000008
mov dword [eax + 0xc], str.Error_encountered_in_d:_buildserver_bna_2work_git_bootstrapper_repositorycontribcontrib_s2ncrypto_s2n_hmac.c_line_166
jmp 0x4f07f8
push dword [ebp + 0xc]
mov edx, edi
mov ecx, esi
push dword [ebp + 8]
call fcn.004f055b
pop ecx
pop ecx
jmp 0x4f07fb