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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x64
mov ebp, dword [esp + 0x78]
mov edi, dword [esp + 0x7c]
mov dword [ebp], 0
push 0x458d10
push 0x53d920
call sym.fastboot.exe_CRYPTO_once
add esp, 8
test edi, edi
je 0x467f64
mov esi, dword [edi + 0xc]
cmp esi, dword [0x53d930]
jne 0x467f57
push 0x53d924
push edi
call sym.fastboot.exe_BN_ucmp
add esp, 8
mov ecx, eax
neg ecx
test esi, esi
cmove ecx, eax
test ecx, ecx
jg 0x467f64
jmp 0x46823d
mov ebx, 1
test esi, esi
jne 0x468242
mov esi, dword [edi + 4]
test esi, esi
jle 0x46801a
mov eax, dword [edi]
mov ebx, dword [eax]
mov dword [esp + 4], eax
test bl, 1
jne 0x468041
xor ebx, 2
cmp esi, 2
jl 0x468029
lea ecx, [esi - 1]
mov eax, 1
cmp ecx, 8
jb 0x467ffb
mov edi, dword [esp + 4]
mov edx, ecx
movd xmm1, ebx
pxor xmm0, xmm0
and edx, 0xfffffff8
lea eax, [edx + 1]
mov ebx, edx
lea edi, [edi + 0x14]
nop word cs:[eax + eax]
nop dword [eax]
movdqu xmm2, xmmword [edi - 0x10]
movdqu xmm3, xmmword [edi]
add edi, 0x20
add ebx, 0xfffffff8
por xmm1, xmm2
por xmm0, xmm3
jne 0x467fc0
por xmm0, xmm1
mov edi, dword [esp + 0x7c]
cmp ecx, edx
pshufd xmm1, xmm0, 0x4e
por xmm1, xmm0
pshufd xmm0, xmm1, 0xe5
por xmm0, xmm1
movd ebx, xmm0
je 0x468029
mov ecx, dword [esp + 4]
sub esi, eax
lea eax, [ecx + eax*4]
nop word cs:[eax + eax]
nop
or ebx, dword [eax]
add eax, 4
dec esi
jne 0x468010
jmp 0x468029
test esi, esi
je 0x468238
mov eax, dword [edi]
mov ebx, dword [eax]
xor ebx, 2
xor eax, eax
test ebx, ebx
jne 0x46823a
xor eax, eax
cmp dword [edi + 0xc], 0
sete al
jmp 0x46823a
mov ecx, ebx
xor ecx, 3
cmp esi, 2
jl 0x4680d8
lea edx, [esi - 1]
mov eax, 1
cmp edx, 8
jb 0x4680bf
movd xmm1, ecx
mov ecx, dword [esp + 4]
mov edi, edx
pxor xmm0, xmm0
and edi, 0xfffffff8
lea eax, [edi + 1]
mov ebp, edi
lea ecx, [ecx + 0x14]
nop word cs:[eax + eax]
nop
movdqu xmm2, xmmword [ecx - 0x10]
movdqu xmm3, xmmword [ecx]
add ecx, 0x20
add ebp, 0xfffffff8
por xmm1, xmm2
por xmm0, xmm3
jne 0x468080
por xmm0, xmm1
cmp edx, edi
mov ebp, dword [esp + 0x78]
mov edi, dword [esp + 0x7c]
pshufd xmm1, xmm0, 0x4e
por xmm1, xmm0
pshufd xmm0, xmm1, 0xe5
por xmm0, xmm1
movd ecx, xmm0
je 0x4680d8
mov ebp, dword [esp + 4]
mov edx, esi
sub edx, eax
lea eax, [ebp + eax*4]
mov ebp, dword [esp + 0x78]
nop
or ecx, dword [eax]
add eax, 4
dec edx
jne 0x4680d0
test ecx, ecx
jne 0x4680e6
cmp dword [edi + 0xc], 0
je 0x468321
mov eax, dword [esp + 0x88]
test eax, eax
je 0x468164
cmp esi, 0x20
mov eax, 0x800
mov ecx, 0x200
mov ebp, 2
cmovg ecx, eax
mov dword [esp], ecx
jmp 0x468111
inc ebp
movzx edi, word [ebp + ebp + 0x52300e]
push edi
push dword [esp + 0x80]
call sym.fastboot.exe_bn_mod_u16_consttime
add esp, 8
test ax, ax
je 0x46824c
cmp ebp, dword [esp]
jb 0x468110
mov eax, dword [esp + 0x8c]
mov ebp, dword [esp + 0x78]
mov edi, dword [esp + 0x7c]
test eax, eax
je 0x468164
push eax
push 0xffffffffffffffff
push 1
mov eax, dword [esp + 0x98]
call dword [eax + 4]
add esp, 0xc
test eax, eax
je 0x468441
mov ebx, dword [esp + 0x80]
mov esi, dword [esp + 0x84]
test ebx, ebx
je 0x46830d
test esi, esi
mov dword [esp + 0x4c], 0
jne 0x4681c7
push 0x18
call sym.fastboot.exe_OPENSSL_malloc
add esp, 4
test eax, eax
je 0x46842c
mov esi, eax
mov dword [eax + 0xc], 0
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [eax + 8], 0
mov dword [eax + 0x12], 0
mov dword [eax + 0xe], 0
mov dword [esp + 0x4c], eax
cmp byte [esi + 0x14], 0
jne 0x468452
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0x10]
cmp ecx, dword [esi + 0xc]
jne 0x468421
lea eax, [ecx + ecx*2]
mov edi, 0x20
shr eax, 1
test ecx, ecx
cmovne edi, eax
cmp edi, ecx
jbe 0x468448
cmp edi, 0x3fffffff
ja 0x468448
lea eax, [edi*4]
push eax
push dword [esi + 4]
mov dword [esp + 8], edx
call sym.fastboot.exe_OPENSSL_realloc
mov edx, dword [esp + 8]
add esp, 8
test eax, eax
je 0x468448
mov dword [esi + 4], eax
mov dword [esi + 0xc], edi
mov edi, dword [esp + 0x7c]
mov ecx, dword [esi + 8]
jmp 0x468424
xor eax, eax
mov dword [ebp], eax
mov ebx, 1
mov eax, ebx
add esp, 0x64
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, dword [esp + 0x78]
xor ebx, edi
cmp esi, 2
jl 0x4682e8
lea ecx, [esi - 1]
mov eax, 1
cmp ecx, 8
jb 0x4682cb
movd xmm1, ebx
mov ebx, dword [esp + 4]
mov edx, ecx
pxor xmm0, xmm0
and edx, 0xfffffff8
lea eax, [edx + 1]
mov ebp, edx
lea ebx, [ebx + 0x14]
nop word cs:[eax + eax]
nop dword [eax + eax]
movdqu xmm2, xmmword [ebx - 0x10]
movdqu xmm3, xmmword [ebx]
add ebx, 0x20
add ebp, 0xfffffff8
por xmm1, xmm2
por xmm0, xmm3
jne 0x468290
por xmm0, xmm1
cmp ecx, edx
mov edx, dword [esp + 0x78]
pshufd xmm1, xmm0, 0x4e
por xmm1, xmm0
pshufd xmm0, xmm1, 0xe5
por xmm0, xmm1
movd ebx, xmm0
je 0x4682e8
mov ecx, dword [esp + 4]
sub esi, eax
lea eax, [ecx + eax*4]
nop word cs:[eax + eax]
nop
or ebx, dword [eax]
add eax, 4
dec esi
jne 0x4682e0
xor eax, eax
test ebx, ebx
jne 0x468c60
test di, di
je 0x468c5b
mov ecx, dword [esp + 0x7c]
xor eax, eax
cmp dword [ecx + 0xc], 0
sete al
jmp 0x468c60
mov ecx, dword [edi + 4]
test ecx, ecx
jle 0x46832d
mov eax, dword [edi]
mov eax, dword [eax + ecx*4 - 4]
dec ecx
test eax, eax
je 0x468310
jmp 0x46833a
mov dword [ebp], 1
jmp 0x46823d
je 0x468c67
mov eax, dword [edi]
mov eax, dword [eax + ecx*4 - 4]
dec ecx
shl ecx, 5
xor edx, edx
test eax, eax
mov ebx, esi
setne dl
or edx, ecx
mov ecx, eax
shr ecx, 0x10
mov esi, ecx
xor ecx, eax
neg esi
sar esi, 0x1f
and ecx, esi
and esi, 0x10
xor ecx, eax
or esi, edx
mov eax, ecx
shr eax, 8
mov edx, eax
xor eax, ecx
neg edx
sar edx, 0x1f
and eax, edx
and edx, 8
xor eax, ecx
or edx, esi
mov ecx, eax
shr ecx, 4
mov esi, ecx
xor ecx, eax
neg esi
sar esi, 0x1f
and ecx, esi
and esi, 4
xor ecx, eax
or esi, edx
mov eax, ecx
shr eax, 2
mov edx, eax
xor eax, ecx
neg edx
sar edx, 0x1f
and eax, edx
and edx, 2
xor eax, ecx
or edx, esi
mov esi, ebx
mov ebx, 3
shr eax, 1
neg eax
shr eax, 0x1f
add eax, edx
cmp eax, 0xea2
jg 0x46817a
mov ebx, 4
cmp eax, 0x540
jg 0x46817a
mov ebx, 5
cmp eax, 0x1db
jg 0x46817a
mov ebx, 6
cmp eax, 0x18f
jg 0x46817a
mov ebx, 7
cmp eax, 0x15a
jg 0x46817a
cmp eax, 0x36
mov ecx, 0x1b
mov edx, 0x22
mov ebx, 8
cmovg edx, ecx
cmp eax, 0x133
cmovle ebx, edx
jmp 0x46817a
mov eax, dword [esi + 4]
mov dword [eax + ecx*4], edx
inc dword [esi + 8]
jmp 0x468452
push 0x6f
push str.external_boringssl_src_crypto_fipsmodule_bn_ctx.c
push 0x41
push 0
push 3
call sym.fastboot.exe_ERR_put_error
add esp, 0x14
xor ebx, ebx
jmp 0x468242
mov edi, dword [esp + 0x7c]
mov word [esi + 0x14], 0x101
mov dword [esp + 0x10], esi
push esi
call sym.fastboot.exe_BN_CTX_get
add esp, 4
test eax, eax
je 0x468bf4
mov esi, eax
push 0x458d10
push 0x53d920
call sym.fastboot.exe_CRYPTO_once
add esp, 8
push 0x53d924
push edi
mov dword [esp + 0x40], esi
push esi
call fcn.00458580
add esp, 0xc
test eax, eax
je 0x468bf4
mov ecx, dword [edi + 4]
mov esi, dword [esp + 0x10]
mov dword [esp + 0x5c], ebx
nop word cs:[eax + eax]
nop dword [eax + eax]
test ecx, ecx
jle 0x4684c1
mov eax, dword [edi]
mov eax, dword [eax + ecx*4 - 4]
dec ecx
test eax, eax
je 0x4684b0
jmp 0x4684d0
test ecx, ecx
je 0x468c71
mov eax, dword [edi]
mov eax, dword [eax + ecx*4 - 4]
dec ecx
shl ecx, 5
xor edx, edx
test eax, eax
mov ebx, esi
setne dl
or edx, ecx
mov ecx, eax
shr ecx, 0x10
mov esi, ecx
xor ecx, eax
neg esi
sar esi, 0x1f
and ecx, esi
and esi, 0x10
xor ecx, eax
or esi, edx
mov eax, ecx
shr eax, 8
mov edx, eax
xor eax, ecx
neg edx
sar edx, 0x1f
and eax, edx
and edx, 8
xor eax, ecx
or edx, esi
mov ecx, eax
shr ecx, 4
mov esi, ecx
xor ecx, eax
neg esi
sar esi, 0x1f
and ecx, esi
and esi, 4
xor ecx, eax
or esi, edx
mov edx, ecx
shr edx, 2
mov eax, edx
xor edx, ecx
neg eax
sar eax, 0x1f
and edx, eax
and eax, 2
xor edx, ecx
or eax, esi
mov esi, ebx
shr edx, 1
neg edx
shr edx, 0x1f
add edx, eax
mov dword [esp + 0x30], edx
mov ebx, dword [esp + 0x38]
push ebx
call sym.fastboot.exe_BN_count_low_zero_bits
add esp, 4
mov dword [esp + 0x3c], eax
push esi
call sym.fastboot.exe_BN_CTX_get
add esp, 4
test eax, eax
je 0x468bf4
push esi
push dword [esp + 0x40]
push ebx
mov dword [esp + 0x64], eax
push eax
call sym.fastboot.exe_bn_rshift_secret_shift
add esp, 0x10
xor ebx, ebx
test eax, eax
je 0x468c57
push esi
call sym.fastboot.exe_BN_CTX_get
add esp, 4
mov dword [esp + 0x48], eax
push esi
call sym.fastboot.exe_BN_CTX_get
add esp, 4
mov dword [esp + 0xc], eax
push esi
call sym.fastboot.exe_BN_CTX_get
add esp, 4
mov dword [esp + 0x24], eax
push esi
call sym.fastboot.exe_BN_CTX_get
add esp, 4
mov dword [esp + 0x18], eax
push esi
push edi
call sym.fastboot.exe_BN_MONT_CTX_new_consttime
add esp, 8
mov ecx, dword [esp + 0x48]
test ecx, ecx
je 0x468bf8
cmp dword [esp + 0xc], 0
je 0x468bf8
mov ecx, dword [esp + 0x24]
test ecx, ecx
je 0x468bf8
cmp dword [esp + 0x18], 0
je 0x468bf8
test eax, eax
je 0x468bf8
push dword [esp + 0x10]
mov dword [esp + 0xc], eax
push eax
push ecx
mov esi, ecx
call fcn.0045fb10
add esp, 0xc
test eax, eax
je 0x468c91
push esi
push edi
push dword [esp + 0x20]
call fcn.00458580
add esp, 0xc
test eax, eax
je 0x468c91
mov eax, dword [esp + 0x3c]
xor ebx, ebx
mov dword [esp + 0x44], 1
mov dword [esp + 0x2c], 0
xor eax, 0x80000000
mov dword [esp + 0x60], eax
lea eax, [esp + 0x50]
push dword [esp + 0x38]
push 2
push eax
mov esi, dword [esp + 0x54]
push esi
call fcn.00468dc0
add esp, 0x10
test eax, eax
je 0x468c91
push dword [esp + 8]
push dword [esp + 0x14]
push edi
push dword [esp + 0x64]
push esi
mov eax, dword [esp + 0x20]
mov esi, eax
push eax
call sym.fastboot.exe_BN_mod_exp_mont_consttime
add esp, 0x18
test eax, eax
je 0x468c91
mov eax, dword [esp + 0x2c]
add eax, dword [esp + 0x50]
mov dword [esp + 0x2c], eax
push 0x458d10
push 0x53d920
call sym.fastboot.exe_CRYPTO_once
add esp, 8
push 0x53d924
push esi
call sym.fastboot.exe_BN_equal_consttime
add esp, 8
mov dword [esp], eax
push dword [esp + 0x38]
push esi
call sym.fastboot.exe_BN_equal_consttime
add esp, 8
mov dword [esp + 0x28], eax
push dword [esp + 0x10]
mov eax, dword [esp + 0xc]
push eax
push eax
push esi
push esi
call sym.fastboot.exe_BN_mod_mul_montgomery
add esp, 0x14
test eax, eax
je 0x468c91
mov eax, dword [esp + 0x28]
or eax, dword [esp]
neg eax
cmp dword [esp + 0x30], 2
mov dword [esp + 0x28], eax
jl 0x468b6c
mov edx, eax
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 8]
mov dword [esp + 0x40], 1
mov dword [esp + 0x1c], edx
push esi
push eax
mov edi, dword [esp + 0x14]
push edi
push edi
push edi
mov ebp, eax
call sym.fastboot.exe_BN_mod_mul_montgomery
add esp, 0x14
test eax, eax
je 0x468c7e
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x18]
mov edx, dword [edi + 4]
xor ebp, ebp
xor eax, dword [esp + 0x3c]
mov ecx, dword [ecx + 4]
mov dword [esp], edx
dec eax
and eax, dword [esp + 0x60]
sub edx, ecx
mov dword [esp + 0x34], edx
mov dword [esp + 4], eax
jge 0x4687f8
mov eax, dword [esp + 0x18]
mov edx, dword [esp]
mov edi, ecx
xor ebp, ebp
mov esi, dword [eax]
sub edi, edx
cmp edi, 7
jbe 0x4687dc
mov eax, dword [esp]
mov ebp, esi
mov esi, edi
pxor xmm0, xmm0
pxor xmm1, xmm1
and esi, 0xfffffff8
mov dword [esp + 0x14], ebp
lea edx, [eax + esi]
lea ebp, [ebp + eax*4 + 0x10]
mov eax, esi
nop word cs:[eax + eax]
movdqu xmm2, xmmword [ebp - 0x10]
movdqu xmm3, xmmword [ebp]
add ebp, 0x20
add eax, 0xfffffff8
por xmm0, xmm2
por xmm1, xmm3
jne 0x4687a0
por xmm1, xmm0
cmp edi, esi
mov esi, dword [esp + 0x14]
pshufd xmm0, xmm1, 0x4e
por xmm0, xmm1
pshufd xmm1, xmm0, 0xe5
por xmm1, xmm0
movd ebp, xmm1
je 0x4687f8
mov eax, ecx
lea esi, [esi + edx*4]
sub eax, edx
nop word cs:[eax + eax]
nop dword [eax]
or ebp, dword [esi]
add esi, 4
dec eax
jne 0x4687f0
mov esi, dword [esp + 4]
sar esi, 0x1f
cmp ecx, dword [esp]
mov dword [esp + 4], esi
jge 0x46881f
mov edi, dword [esp + 0xc]
mov edx, dword [esp + 0x34]
mov eax, dword [edi]
cmp edx, 7
mov dword [esp + 0x14], eax
ja 0x468825
mov esi, ecx
jmp 0x468880
mov edi, dword [esp + 0xc]
jmp 0x468898
mov esi, edx
movd xmm1, ebp
lea ebp, [eax + ecx*4 + 0x10]
pxor xmm0, xmm0
and esi, 0xfffffff8
lea edi, [ecx + esi]
mov dword [esp + 0x20], edi
mov edi, esi
nop
movdqu xmm2, xmmword [ebp - 0x10]
movdqu xmm3, xmmword [ebp]
add ebp, 0x20
add edi, 0xfffffff8
por xmm1, xmm2
por xmm0, xmm3
jne 0x468840
por xmm0, xmm1
cmp edx, esi
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 0x20]
pshufd xmm1, xmm0, 0x4e
por xmm1, xmm0
pshufd xmm0, xmm1, 0xe5
por xmm0, xmm1
movd ebp, xmm0
je 0x468898
mov eax, dword [esp]
mov edx, dword [esp + 0x14]
sub eax, esi
lea edx, [edx + esi*4]
nop dword [eax]
or ebp, dword [edx]
add edx, 4
dec eax
jne 0x468890
mov esi, dword [esp + 4]
mov eax, dword [esp]
or esi, dword [esp + 0x1c]
cmp eax, ecx
cmovle ecx, eax
test ecx, ecx
mov dword [esp + 4], esi
jle 0x46891d
mov eax, dword [esp + 0x18]
mov edx, dword [edi]
mov edi, dword [eax]
xor eax, eax
cmp ecx, 3
jbe 0x468910
mov eax, ecx
movd xmm0, ebp
xor esi, esi
and eax, 0xfffffffc
nop word [eax + eax]
movdqu xmm1, xmmword [edx + esi*4]
movdqu xmm2, xmmword [edi + esi*4]
add esi, 4
cmp eax, esi
pxor xmm2, xmm1
por xmm0, xmm2
jne 0x4688d0
pshufd xmm1, xmm0, 0x4e
cmp ecx, eax
por xmm1, xmm0
pshufd xmm0, xmm1, 0xe5
por xmm0, xmm1
movd ebp, xmm0
je 0x46891d
nop word cs:[eax + eax]
nop dword [eax]
mov esi, dword [edi + eax*4]
xor esi, dword [edx + eax*4]
inc eax
or ebp, esi
cmp eax, ecx
jl 0x468910
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x24]
mov ecx, dword [eax + 0xc]
mov eax, dword [esp + 0x18]
mov esi, dword [esi + 4]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x34], ecx
xor eax, ecx
xor ecx, ecx
or eax, ebp
mov eax, dword [esp + 4]
sete cl
xor edx, edx
not eax
and eax, ecx
mov ecx, dword [esp]
mov dword [esp + 0x1c], eax
sub ecx, esi
mov dword [esp + 0x14], ecx
jge 0x4689f8
mov eax, dword [esp + 0x24]
mov ebp, esi
xor edx, edx
mov edi, dword [eax]
mov eax, dword [esp]
sub ebp, eax
cmp ebp, 7
jbe 0x4689df
mov eax, dword [esp]
mov ecx, edi
mov edi, ebp
pxor xmm0, xmm0
pxor xmm1, xmm1
and edi, 0xfffffff8
mov dword [esp + 0x20], ecx
lea edx, [eax + edi]
mov dword [esp + 0x54], edx
lea edx, [ecx + eax*4 + 0x10]
mov ecx, edi
nop word cs:[eax + eax]
nop dword [eax]
movdqu xmm2, xmmword [edx - 0x10]
movdqu xmm3, xmmword [edx]
add edx, 0x20
add ecx, 0xfffffff8
por xmm0, xmm2
por xmm1, xmm3
jne 0x4689a0
por xmm1, xmm0
cmp ebp, edi
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x54]
pshufd xmm0, xmm1, 0x4e
por xmm0, xmm1
pshufd xmm1, xmm0, 0xe5
por xmm1, xmm0
movd edx, xmm1
je 0x4689f8
mov ecx, esi
lea edi, [edi + eax*4]
sub ecx, eax
nop word cs:[eax + eax]
or edx, dword [edi]
add edi, 4
dec ecx
jne 0x4689f0
mov ebp, dword [esp + 0x1c]
neg ebp
cmp esi, dword [esp]
mov dword [esp + 0x1c], ebp
jge 0x468a98
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov eax, dword [eax]
cmp ecx, 7
ja 0x468a1e
mov edi, esi
jmp 0x468a81
and ecx, 0xfffffff8
movd xmm1, edx
lea edx, [eax + esi*4 + 0x10]
pxor xmm0, xmm0
mov dword [esp + 0x20], eax
lea edi, [esi + ecx]
mov ebp, ecx
nop word cs:[eax + eax]
movdqu xmm2, xmmword [edx - 0x10]
movdqu xmm3, xmmword [edx]
add edx, 0x20
add ebp, 0xfffffff8
por xmm1, xmm2
por xmm0, xmm3
jne 0x468a40
por xmm0, xmm1
cmp dword [esp + 0x14], ecx
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
pshufd xmm1, xmm0, 0x4e
por xmm1, xmm0
pshufd xmm0, xmm1, 0xe5
por xmm0, xmm1
movd edx, xmm0
je 0x468a98
mov ecx, dword [esp]
sub ecx, edi
lea edi, [eax + edi*4]
nop dword [eax]
or edx, dword [edi]
add edi, 4
dec ecx
jne 0x468a90
mov eax, dword [esp]
or dword [esp + 4], ebp
cmp eax, esi
cmovle esi, eax
test esi, esi
jle 0x468b1d
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0xc]
xor ebp, ebp
cmp esi, 3
mov ecx, dword [eax]
mov edi, dword [edi]
jbe 0x468b10
mov ebp, esi
movd xmm0, edx
xor edx, edx
and ebp, 0xfffffffc
nop word cs:[eax + eax]
movdqu xmm1, xmmword [ecx + edx*4]
movdqu xmm2, xmmword [edi + edx*4]
add edx, 4
cmp ebp, edx
pxor xmm2, xmm1
por xmm0, xmm2
jne 0x468ad0
pshufd xmm1, xmm0, 0x4e
cmp esi, ebp
por xmm1, xmm0
pshufd xmm0, xmm1, 0xe5
por xmm0, xmm1
movd edx, xmm0
je 0x468b1d
nop word cs:[eax + eax]
nop dword [eax]
mov eax, dword [edi + ebp*4]
xor eax, dword [ecx + ebp*4]
inc ebp
or edx, eax
cmp ebp, esi
jl 0x468b10
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
or dword [esp + 0x28], eax
mov eax, dword [esp + 0x24]
xor ecx, dword [eax + 0xc]
xor eax, eax
or ecx, edx
mov edx, dword [esp + 4]
sete al
mov ecx, edx
not ecx
test eax, ecx
jne 0x468bd3
mov eax, dword [esp + 0x40]
mov ebp, dword [esp + 0x78]
mov edi, dword [esp + 0x7c]
mov esi, dword [esp + 0x10]
inc eax
mov dword [esp + 0x40], eax
cmp eax, dword [esp + 0x30]
mov eax, dword [esp + 8]
jl 0x468718
jmp 0x468b70
mov eax, dword [esp + 8]
cmp dword [esp + 0x28], 0
je 0x468be6
mov eax, dword [esp + 0x8c]
mov esi, dword [esp + 0x44]
test eax, eax
je 0x468b98
push eax
push esi
push 1
call dword [eax + 4]
add esp, 0xc
test eax, eax
je 0x468c91
inc esi
xor eax, eax
mov ecx, dword [esp + 0x2c]
cmp esi, 0x11
mov dword [esp + 0x44], esi
setb al
mov dword [esp], eax
mov eax, dword [esp + 0x5c]
mov edx, ecx
mov esi, ecx
sub edx, eax
xor esi, eax
lea eax, [esp + 0x50]
xor edx, ecx
or edx, esi
xor edx, ecx
sar edx, 0x1f
or edx, dword [esp]
jne 0x468651
jmp 0x468c85
mov ebp, dword [esp + 0x78]
mov edi, dword [esp + 0x7c]
mov eax, dword [esp + 8]
cmp dword [esp + 0x28], 0
jne 0x468b77
mov dword [ebp], 0
mov ebx, 1
jmp 0x468bf8
xor eax, eax
xor ebx, ebx
push eax
call sym.fastboot.exe_BN_MONT_CTX_free
add esp, 4
mov esi, dword [esp + 0x10]
cmp byte [esi + 0x14], 0
jne 0x468c1e
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
mov eax, dword [eax + ecx*4 - 4]
mov dword [esi + 0x10], eax
mov esi, dword [esp + 0x4c]
test esi, esi
je 0x468242
push sym.fastboot.exe_BN_free
push 0x48a320
push dword [esi]
call sym.fastboot.exe_sk_pop_free_ex
add esp, 0xc
push dword [esi + 4]
call sym.fastboot.exe_OPENSSL_free
add esp, 4
push esi
call sym.fastboot.exe_OPENSSL_free
add esp, 4
jmp 0x468242
xor eax, eax
jmp 0x468bf8
mov eax, 1
mov dword [edx], eax
jmp 0x46823d
mov ebx, 0x22
jmp 0x46817a
mov dword [esp + 0x30], 0
jmp 0x468549
mov eax, ebp
jmp 0x468bf8
mov ebx, 1
mov dword [ebp], 1
mov eax, dword [esp + 8]
jmp 0x468bf8