Function at 0x100eb390
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1019d0d3
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x1ab8
call fcn.10174d60
mov eax, dword [0x10279264]
xor eax, esp
mov dword [esp + 0x1ab4], eax
push ebx
push esi
mov eax, dword [0x10279264]
xor eax, esp
push eax
lea eax, [esp + 0x1ac8]
mov dword fs:[0], eax
mov ebx, ecx
lea eax, [esp + 0x34]
push eax
mov ecx, edi
mov dword [esp + 0x18], ebx
call fcn.100eb6a0
push 0
lea esi, [edi + 0x16c0]
mov dword [esp + 0x1ad4], 0
mov ecx, dword [esi + 0x14]
push 0x10201619
push ecx
push 0
mov ecx, esi
mov byte [esp + 0x23], 0
call fcn.100434b0
test eax, eax
je 0x100eb431
cmp dword [edi + 0x16dc], 0
je 0x100eb431
cmp dword [edi + 0x16e4], 0
ja 0x100eb458
jb 0x100eb431
cmp dword [edi + 0x16e0], 0
ja 0x100eb458
test ebx, ebx
je 0x100eb458
push 0x1939
push str.FlashToolLib_source_common_handle_src_flashtool_handle_internal.cpp
push esi
xor edx, edx
mov ecx, ebx
call fcn.100d8d60
mov esi, eax
test esi, esi
jne 0x100eb555
mov byte [esp + 0x13], 1
mov esi, dword [edi + 0x16dc]
mov eax, esi
call fcn.1014c7f0
test eax, eax
jne 0x100eb550
mov ebx, dword [esi + 0x2c]
push str.FlashToolLib_source_common_handle_src_flashtool_handle_internal.cpp
mov edx, 0x10201619
xor cl, cl
mov eax, 0x194e
lea esi, [esp + 0x1c]
call fcn.10111280
push ebx
mov byte [esp + 0x1ad4], 1
mov edx, dword [0x103b321c]
push str.BL_HANDLE::Load__:_sig_len___d
push edx
push eax
call fcn.10111350
mov byte [esp + 0x1ae0], 0
mov ecx, dword [edi + 0x16dc]
mov edx, dword [edi + 0x16e0]
mov eax, ecx
sub eax, ebx
mov ebx, dword [eax + edx - 4]
mov eax, dword [edi + 0x16e4]
xor esi, esi
add esp, 0x10
cmp eax, esi
ja 0x100eb596
jb 0x100eb4e1
lea esi, [ebx + 4]
cmp edx, esi
jae 0x100eb596
push str.FlashToolLib_source_common_handle_src_flashtool_handle_internal.cpp
mov edx, str._ERROR:
or cl, 0xff
mov eax, 0x195f
lea esi, [esp + 0x1c]
call fcn.10111280
mov byte [esp + 0x1ad0], 2
cmp dword [edi + 0x16d8], 0x10
jb 0x100eb515
mov ecx, dword [edi + 0x16c4]
jmp 0x100eb51b
lea ecx, [edi + 0x16c4]
mov edx, dword [edi + 0x16e4]
push ebx
push edx
mov edx, dword [edi + 0x16e0]
push edx
push ecx
mov ecx, dword [0x103b321c]
push str.BL_HANDLE::Load__:_invalid_BootLoader_format___BL___s____m_flu.m_len__lu___info_len__lu_4___
push ecx
push eax
call fcn.10111350
mov byte [esp + 0x1aec], 0
add esp, 0x1c
mov dword [esp + 0x18], vtable.MetaTrace.0
mov esi, 0x13a5
push 0x198e
lea ecx, [edi + 0x16c0]
call fcn.100da1a0
lea edx, [esp + 0x34]
push edx
push edi
mov dword [edi + 0x1a5c], 0
call fcn.100eb7e0
lea eax, [esp + 0x34]
push eax
mov dword [esp + 0x1ad4], 0xffffffff
call fcn.100eaea0
mov eax, esi
jmp 0x100eb673
mov esi, edx
and esi, 3
mov ebx, 0
mov dword [esp + 0x2c], esi
mov esi, ebx
jne 0x100eb5ac
cmp esi, ebx
je 0x100eb5ee
shrd edx, eax, 2
lea esi, [edx*4 + 4]
push esi
push ecx
shr eax, 2
call fcn.10170643
mov dword [edi + 0x16dc], eax
mov eax, dword [edi + 0x16e0]
add esp, 8
cmp eax, esi
jae 0x100eb5e2
mov ecx, dword [edi + 0x16dc]
mov byte [eax + ecx], bl
inc eax
cmp eax, esi
jb 0x100eb5d4
mov dword [edi + 0x16e0], esi
mov dword [edi + 0x16e4], ebx
mov edx, dword [edi + 0x60]
xor eax, eax
mov dword [edi + 0x1a5c], edx
cmp dword [edi + 0x16e4], ebx
jb 0x100eb631
ja 0x100eb60b
cmp dword [edi + 0x16e0], ebx
jbe 0x100eb631
mov edx, dword [edi + 0x16dc]
mov ecx, dword [edx + eax]
xor dword [edi + 0x1a5c], ecx
xor ecx, ecx
add eax, 4
cmp ecx, dword [edi + 0x16e4]
jb 0x100eb611
ja 0x100eb631
cmp eax, dword [edi + 0x16e0]
jb 0x100eb611
cmp byte [esp + 0x13], bl
je 0x100eb655
cmp dword [esp + 0x14], ebx
je 0x100eb655
push 0x198e
lea ecx, [esp + 0x16f8]
call fcn.100da1a0
mov dword [esp + 0x1a90], ebx
lea eax, [esp + 0x34]
push eax
mov byte [edi + 0x1a68], 1
mov dword [esp + 0x1ad4], 0xffffffff
call fcn.100eaea0
xor eax, eax
mov ecx, dword [esp + 0x1ac8]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebx
mov ecx, dword [esp + 0x1ab4]
xor ecx, esp
call fcn.1016cb16
mov esp, ebp
pop ebp
ret